Найти тему

Тест дизайн или как создавать тест кейсы?

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

Ответственные за тест-дизайн:
• Тест-аналитик — решает, «ЧТО тестировать?»
• Тест-дизайнер — решает, «КАК тестировать?»

Техники тест-дизайна (Test Design Techniques):

  1. Эквивалентное разбиение (Equivalence Partitioning)
    Суть: Делим данные на группы, где каждый элемент группы считается эквивалентным для тестирования.
    Пример: Если поле ввода принимает возраст от 1 до 100, тестируем значения 0 (меньше минимума), 50 (внутри диапазона) и 101 (больше максимума).
  2. Анализ граничных значений (Boundary Value Analysis)
    Суть:
    Проверяем значения на границах диапазонов.
    Пример: Если поле ввода принимает возраст от 1 до 100, тестируем значения 0, 1, 99, 100 и 101.
  3. Попарное тестирование (Pairwise Testing)
    Суть: Тестируем комбинации параметров попарно, чтобы уменьшить количество тестов, сохраняя при этом хорошее покрытие.
    Пример: Если у нас есть три параметра (цвет: красный, синий; размер: маленький, большой; форма: круглая, квадратная), мы можем сделать всего 4 теста, покрывающих все возможные парные комбинации, вместо 8 (2x2x2).
  4. Таблицы принятия решений (Decision Table Testing)
    Суть: Используем таблицы, чтобы систематически определять, какие комбинации условий приводят к каким действиям.
    Пример: Для интернет-магазина: если клиент зарегистрирован (да/нет) и товар в наличии (да/нет), возможны действия: разрешить покупку или отказать в покупке.
  5. Сценарное тестирование (Scenario Testing)
    Суть: Разрабатываем реальные сценарии использования системы.
    Пример: Новый пользователь регистрируется, добавляет товар в корзину, оформляет заказ и платит.
  6. Тестирование состояний и переходов (State Transition Testing)
    Суть: Проверяем, как система ведет себя при переходах из одного состояния в другое.
    Пример: В системе управления заказами состояния могут быть: "новый заказ", "обработка заказа", "доставка", "завершено". Проверяем переходы между этими состояниями.
  7. Использование чек-листов (Checklists)
    Суть: Создаем списки проверок для ключевых функций и проверяем выполнение каждой из них.
    Пример: Для приложения интернет-магазина можно создать чек-лист с пунктами проверки корзины, оформления заказа и процесса оплаты.
  8. Исчерпывающее тестирование (Exhaustive Testing)
    Суть: Проверяет все возможные комбинации входных данных и состояний системы.
    Пример: Если поле ввода принимает значения от 0 до 9, исчерпывающее тестирование предполагает проверку всех 10 значений (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).
  9. Предугадывание ошибки (Error Guessing)
    Суть: Использует опыт тестировщиков для предугадывания, где могут возникнуть ошибки.
    Пример: Если в прошлом в аналогичных системах были проблемы с обработкой специальных символов в полях ввода, тестировщик может специально вводить такие символы, ожидая ошибки.
  10. Причины и следствия (Cause-Effect Graphing)
    Суть: Создает график, который связывает возможные причины (входные условия) с их следствиями (выходными результатами).
    Пример: В интернет-магазине, если клиент добавляет товар в корзину (причина), то товар должен отображаться в корзине (следствие). График будет показывать взаимосвязь между этими условиями и результатами.

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


Так же будет интересно:
Вопросы по теории тестирования Джуну