top of page

Применение тест дизайна на практике, или учимся искать баги

26 окт. 2017 г.
3 мин. чтения

Вступление

Когда сегодня тестировал новую фичу на работе, то понял, что это практически хрестоматийный тренажер для использования навыков по тест дизайну. Конечно же решил, что процесс тестирования будет архи-полезен и интересен начинающим тестировщикам, чтобы почувствовать вкус багов.

Напомню что техники тест дизайна - это базовые стратегии проектирования тестов соответсвующие стандартным критериям качества для любого продукта. На техниках тест дизайна строится логика тестировщика при составлении тест кейсов и прямом тестировании продукта.

Описание предмета тестирования

Изначально все выглядело довольно просто и особо багов не предвещало.

Фича называется Add Edit to new Sharing Modal и представляет собой попап, который позволяет обрезать запись разговора по времени и сгенерировать ссылку, чтобы расшарить ее.

Изначальное состояние попапа: можно просто расшарить 3 минуты записи, начиная с выбранного момента.


Расширенное состояние попапа: можно изменить начало записи и ее длину проскролив ползунок. Верхний ползунок является проигрывателем, где можно прослушать и перемотать вырезанный фрагмент.


Можно прослушать результат вырезки. Пример расшаренного фрагмента разговора:

Словарь:

start from - начать с

duration - продолжительность

share moment - поделиться моментом (записью)

copy link - скопировать ссылку

Будем рассматривать найденные баги по методам тест дизайна, которые были применены для их выявления.

Анализ Граничных Значений

Не важно какая длина у выбранной записи для извлечения фрагмента, проверяем изменения начала записи на 0.

Найденный дефект:

При изменении начала записи из не нулевого значения на нулевое, вместо 0:00 выставляется каждый раз случайное не нулевое число.

Шаги:

- расшарить новый момент записи

- перевести начало записи на 0:39

- перевести начало записи на минимальное

- проверить отметку времени

Фактический результат:

время таймер не 0, а например 0:19

Ожидаемый результат:

таймер установлен на 0:00

Странный баг возникает из-за того, что пересчет времени привязан не к началу записи, а к началу выбранного фрагмента


Эквивалентное разделение

Проверяем проигрывание записи при значениях всех трех слайдеров в положениях больше середины и меньше середины. У нас 3 слайдера, для каждого проверим 2 положения, итого 2 х 3 = 6 тестов.

Находим интересный баг - при прокрутке вырезанного фрагмента, время проигрывания становится больше чем длина самой записи.

Шаги:

- расшарить новый момент записи

- установить начало записи на первую половину

- установить длительность по значению, более чем значение начала (4:51 > 4:19)

- прокрутить запись в конец фрагмента, проигрывать разные положения в конце

Фактический результат:

начиная с определенного момента в конце записи таймер положения становится намного больше, чем длина записи

Ожидаемый результат:

таймер положения не может превышать длину записи


Причина-следствие

Причина - изменения настроек фрагмента при редактировании

Следствие - готовый фрагмент должен меняться у конечного пользователя

Найденный дефект:

При изменении уже открытого фрагмента, совершенные изменения не компилируются сервером;

Шаги:

- Расшарить новый момент записи

- Изменить начальное время на любое не стандартное

- Изменить длительность на любую не стандартную

- Открыть ссылку в инкогнито моде (не пользователь системы)

- Вернутся на страницу с редактированием и внести изменения в длительность

- Скопировать ссылку

- Открыть заново и проверить

Фактический результат:

запись не изменилась

Ожидаемый результат:

запись обновилась после сделанных изменений

Как оказалось, измененная ссылка ничем не отличается от предыдущей, на что и заводим баг

Предугадывание ошибки

В конце, когда все математически обоснованые тесты выполнены, я вангую на то, что может произойти при изменении параметров на лету.

В данном случае есть догадка, что если изменять параметры записи во время ее воспроизведения, то плеер поведет себя не адекватно;

Найденный дефект: после изменения параметров трека, во время его прослушивания, плеер начинает самостоятельно включать и выключать запись.


Шаги:

- Расшарить новый момент записи

- Запустить проигрывания записи

- Изменить время начала и длительность записи

- Перематывать запись

Фактический результат:

при перемотке запись хаотически включается и выключается

Ожидаемый результат:

запись все время проигрывается? Нужно решение продакт менеджера

Тут ясно, что при измени параметров записи, плеер поучает новые данные, которые не сходятся с предыдущими и он начинает сходить с ума. Фикс у данного бага был такой - всегда при изменении параметров записи она останавливается и переводится в самое начало.

Исчерпывающее тестирование

В данном примере использовалось косвенно. Например каждая полоса прокрутки трека прокликивалась/прокручивалась по всей длине чтобы убедиться, что она вся кликабельна.

Данная методика багов не обнаружила.

В процессе тестирование были обнаружены и другие баги, но мы решили не утомлять достопочтенного читателя ими, а привели в пример только по одному багу для каждой методики.

Мы очень надеемся, что эти наглядные примеры помогут вам понять техники тест дизайна и научиться применять их на практике.

Galaxy QA Academy - тестирование познается только на практике!

Недавние посты

Смотреть все

Комментарии


bottom of page