Тест дизайн  — один из первоначальных этапов тестирования программного обеспечения, этап планирования и проектирования тестов. Тест дизайн представляет собой продумывание и написание тестовых случаев (test case), в соответствии с требованиями проекта, критериями качества будущего продукта и финальными целями тестирования.

Тест дизайн
Тест дизайн

Цели тест дизайна

  1. Обеспечить покрытие функционала приложения тестами:
    1. Тесты должны покрывать весь функционал
    2. Тестов должно быть минимально достаточно

Тест дизайн задачи

  1. Проанализировать требования к продукту
  2. Оценить риски возможные при использовании продукта
  3. Написать достаточное минимальное количество тестов
  4. Разграничить тесты на приемочные, критические, расширенные

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

Тест дизайн скиллы профессионала:

  1. Декомпозиция приложения — разбивание тестируемой системы на компоненты.
  2. Навыки и способности поиска информации для приложения.
  3. Расстановка приоритетов
  4. Грамотная речь и верный вектор мыслительного процесса
  5. Знание техник тест дизайна
  6. Отточенное мастерство применения техник тест дизайна

Техники тест дизайна

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

Например если поле для возраста принимает значения от 18 до 110 лет. Пограничными целыми значениями будут значения выходящие за интервал и находящиеся непосредственно на границах. Для нижнего это будет 17,18 — для верхнего 110,111 лет.

Например одинаковыми значениями одного класса эквивалентности при применение техники тест дизайна будет. Одно значение сегмента букв, одно из цифр. Таким же образом может быть для примера возраста из граничных классов — для проверки всего класса эквивалентности будет достаточного любого числа из 18 — 110.

Для пары логин пасс можно предположить такую простую матрицу: Правильный пасс логин, неправильный пасс логин, правильный пасс неверный логин, неправильный пасс правильный логин. Итого имеем 4 теста. Рассмотрев варианты как должно реагировать приложение для каждого из тестов, оставляем только те которые выдают различный результат. В идеальном случае у нас остаётся только два теста.

  • Функциональное тестирование приложения — полная исчерпывающая проверка всей функциональности приложения (Исчерпывающее тестирование)
  • Тестирование на основе рисков или Предугадывание ошибок — основную роль играет опытность инженера, и его интуиция.

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

  • Monkey testing 

Вид тестирования обычно подвергающийся автоматизации. Из настроек и подготовки можно выделить необходимые знания js, и не большой опыт работы с back-end проекта.

  • Исследовательское тестирование

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