На реальных примерах попробуем применить подходы и составить готовые тест-кейсы для проверки.
Предположим простую ситуацию. Вам дали тестировать сайт с описанием фильмов. Там около 1 000 страниц. Простой вопрос: что тестировать?
Всегда существует вариант — тестировать “в лоб”. Открываем каждую страницу, проверяем на месте ли текст и картинки, смотрим, что расположение элементов не поехало и все стоит на своих местах. Звучит как-то не очень весело, не правда ли? Я уже не говорю о потраченном времени.
Или, например, у нас есть интернет-магазин, в котором около 5 000 товаров. Получается, для того, чтобы проверить покупку товаров, нам необходимо зайти в каждый и купить?
Но это еще ерунда по сравнению с мыслью о том, что мы что-то забыли проверить, не подумали о важности именно этого теста и пропустили баг в релиз.
________________________________
Можно сказать, что без тест-дизайна мы словно стреляем в цель с закрытии глазами.
________________________________
Что такое тест-дизайн?
Мы, тестировщики, люди ленивые и не хотим много работать. Даже придумали автоматизированное тестирование, которые выполняет за нас всю нашу работу, а мы в это время лежим на берегу моря ничего не делая и зарабатывая от 100 000 рублей в месяц…. немного отвлекся:) Так вот. Умные люди задумались: а вдруг есть способ не тестировать все страницы? Может быть есть возможность протестировать сайт быстрее, но так же качественно?
Оказывается есть. Работу тестировщика можно оптимизировать и вместо 1 000 тестов провести, например, 20 тестов. Но для этого необходимо использовать определенные подходы к построению тестов. Такие подходы называют техниками тест-дизайна.
Когда и для чего нужен тест-дизайн:
— когда тестирование включает в себя множество однотипных действий,
— когда необходим вдумчивый подход к тестированию для избежания лишних трат времени и финансов,
— чтобы разработать тесты, которые обнаружат наиболее серьезные ошибки,
— чтобы минимизировать количество необходимых тестов для проверки продукта.
Если брать шире, то тест-дизайн — это процесс который позволяет, используя определенные техники, создать оптимальное тестовое покрытие тестируемого объекта.
Раз речь зашла о процессе, то необходимо проговорить об этапах этого процесса.
Этапы тест-дизайна
Во-первых, необходимо проанализировать тестируемый объект. Изучить его документацию, пообщаться с разработкой, узнать как он работает и как спроектирован. Этап важный: так вы поймете, какие техники тест-дизайна использовать. А самое главное — КАК.
Во-вторых, зная информацию о продукте, необходимо определить, какие техники необходимо использовать для определенного вида тестирования.
И, в-третьих, используя полученные знания, необходимо составить набор тестов (чек-листов/тест-кейсов)
Изучить продукт. Определить техники. Написать тест-кейсы.
Еще один вопрос: должны ли они идти в таком порядке? Желательно, но не обязательно. Иногда, когда начинаешь писать кейсы, понимаешь, что необходимо еще изучить продукт и снова возвращаешься к первому этапу. Особенно, если нет документации. Это нормально.
Техники тест-дизайна
Самый большой интерес в тест-дизайне представляют его техники.
В нашем цикле мы разберем следующие техники на конкретных примерах:
1. Граничные значения и классы эквивалентности.
2. Pairwise.
3. Таблицы переходов.
Кроме знания техник необходимо уметь:
— разделять целый продукт на составные части (декомпозиция),
— находить и анализировать требования к продукту,
— расставлять приоритеты,
— логично излагать свои мысли.