Застосування тест-дизайну на практиці, або навчаємось шукати баги
Yoda Magister · 25 жовтня 2017 р.

Вступ
Сьогодні, коли я тестував нову фічу на роботі, упевнився, що це практично хрестоматійний тренажер для використання навичок тест-дизайну. Звичайно, вирішив, що процес тестування буде архи-корисним і цікавим для новачків, щоб відчути смак багів.
Нагадую, що техніки тест-дизайну — це базові стратегії проектування тестів, що відповідають стандартним критеріям якості для будь-якого продукту. Тестувальники використовують техніки тест-дизайну для побудови логіки створення тест-кейсів та прямого тестування продукту.
Описання предмету тестування
На початку все виглядало досить просто, і особо багів не передбачало.
Фіча називається Додати редагування до нового модального вікна для поділу і представляє собою попап, який дозволяє відсікати запис телефонного дзвінку за часом та генерувати посилання для поділу.
Початковий стан попапу: можна просто поділитися 3 хвилинами запису, починати з обраного моменту.
Розширений стан попапу: можна змінити початок запису та його довжину, просунувши ползунок. Верхній ползунок є проигрывачем, де можна послухати та перескочити вирізаний фрагмент.
Можна послухати результат вирізки. Приклад розподіленого фрагменту розмови:
https://hello.chorus.ai/listen?guid=b812f37da7d74b87a703c049301066d3
Словник
почати з - почати з
тривалість - тривалість
share moment - поділитися моментом (записом)
Копіювати посилання - копіювати посилання
Перейдемо до опису процесу тестування
Розглянемо знайдені баги за допомогою методів тестування, які використовувалися для їх виявлення.
Аналіз граничних значень
Не важливо, яка довжина вибраного запису для витягнення фрагмента, перевіряємо зміни на початку запису на 0.
Знайдений дефект:
Під час зміни початку запису з ненульового значення на нульове, замість 0:00 встановлюється кожен раз випадкове ненульове число.
Кроки:
поділитися новим моментом запису
- перевести початок запису на 0:39
- перевести початок запису на мінімальне
перевірте час запису
Фактичний результат:
час таймер не 0, а, наприклад, 0:19
Очікуваний результат:
Таймер встановлено на 0:00
Джерело дивного багу — у тим, що перерахунок часу не пов'язаний з початком запису, а з початком вибраного фрагменту
Еквівалентне розділення
Перевіряємо відтворення запису при значеннях усіх трьох слайдерів у положеннях більше середнього та менше середнього. У нас 3 слайдери, для кожного перевіряємо 2 положення, усього 2 x 3 = 6 тестів.
Знайшли цікавий баг — при прокрутці вирізаного фрагменту, час відтворення стає довшим, ніж тривалість самої запису.
Кроки:
поділитися новим моментом запису
Встановити початок запису на першу половину
Встановити тривалість за значенням, більше ніж значення початку (4:51 > 4:19)
Прокрутити запис до кінця фрагмента, відтворити різні позиції у кінці
Фактичний результат:
Починаючи з певного моменту, позиція таймера в кінці запису стає значно більшою, ніж довжина запису
Очікуваний результат:
Таймер позиції не може перевищувати довжину запису
Причинно-наслідкові зв’язки
Причина - зміни налаштувань фрагмента під час редагування
Висновок - готовий фрагмент має змінюватися для кінцевого користувача
Знайдений дефект:
Під час зміни вже відкритого фрагменту, зміни не компілюються сервером;
Кроки:
Відправити новий момент запису
Змінити початковий час на будь-який нестандартний
Змінити тривалість на будь-яку нестандартну
Відкрити посилання у режимі інкогніто (як користувач системи)
Поверніться на сторінку з редагуванням і оновіть тривалість
Скопіювати посилання
Відкрити знову та перевірити
Фактичний результат:
Запис не змінився
Очікуваний результат:
Запись оновлена після внесених змін
Як виявилося, змінена посилання не відрізняється від попереднього, тому ми фіксуємо баг
Прогнозування помилки
У кінці, коли виконано всі математично обґрунтовані тестування, я передбачаю, що може відбутися при зміні параметрів на лету.
У цьому випадку є підозра, що якщо змінювати параметри запису під час відтворення, то плеєр поведе себе неадекватно;
Знайдений дефект: після зміни параметрів треку під час його відтворення плеєр починає автоматично включати та вимикати запис.
Кроки:
Відправити новий момент запису
Відтворити запис
Змінити час початку та тривалість запису
Поверніть запис
Фактичний результат:
Під час перегортання запис хаотично включається і вимикається
Очікуваний результат:
Відтворення запису завжди проходить? Потрібна допомога від менеджера продукту
Тут ясно, що при зміні параметрів запису, плеєр отримує нові дані, які не збігаються з попередніми, і він починає відчувати себе неправильно. Фікс у цього багу був таким — завжди при зміні параметрів запису він зупиняється та переходить у саме початок.
Повне тестування
У цьому прикладі використовувалося опосередковано. Наприклад, кожна стрічка прокрутки клали/прокручували по всій довжині, щоб переконатися, що вона повністю клікабельна.
Ця методика виявлення багів не виявила нічого.
Під час тестування також були виявлені інші баги, але ми вирішили не завантажувати повагати читача ними, а навели лише один баг для кожної методології.
Ми дуже сподіваємося, що ці візуальні приклади допоможуть вам зрозуміти техніки тестування та навчитися застосовувати їх на практиці.
Galaxy QA Academy - Тестування з'ясовується лише на практиці!
#КурсиЗТестування #ФункціональнеТестування #GalaxyQAAcademy #НавчанняТестуванню #QA #ПрактичнеТестування #ЯкСтатиТестувальником #ТестуванняПЗ #НавчитисьТестувати #ТестовийДизайн #НавчитисьЗнаходитиБаги #ЯкШукатиБаги #НавчанняТестуванню #КурсиQA #ПроцесТестування #ЯкТестувати

