top of page

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


Вступление

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

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

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

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

Фича называется 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 - тестирование познается только на практике!

2 859 просмотров0 комментариев

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

Смотреть все

Задание 2. Что такое тестирование программного обеспечения?

Есть много аспектов тестирования программного обеспечения. Тестирование не всегда связано с использованием продукта. И это не только поиск ошибок. Тестирование начинается уже со стадии изучения требов

bottom of page