Вступление
Когда сегодня тестировал новую фичу на работе, то понял, что это практически хрестоматийный тренажер для использования навыков по тест дизайну. Конечно же решил, что процесс тестирования будет архи-полезен и интересен начинающим тестировщикам, чтобы почувствовать вкус багов.
Напомню что техники тест дизайна - это базовые стратегии проектирования тестов соответсвующие стандартным критериям качества для любого продукта. На техниках тест дизайна строится логика тестировщика при составлении тест кейсов и прямом тестировании продукта.
Описание предмета тестирования
Изначально все выглядело довольно просто и особо багов не предвещало.
Фича называется 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 - тестирование познается только на практике!