четверг, 12 апреля 2018 г.

Тест должен быть конкретным!

Прочитав тест, я должна понять:
  • Что мне сделать;
  • Как это сделать;
Допустим, мы тестируем навесной замок:


Как будем тестировать? "Ну, я его открою и закрою" или “проверить, что он открывается и закрывается” — это не тест.

— Я беру подходящий к замку ключ, вставляю в замок, поворачиваю дважды, дергаю за ручку. Дверь должна открыться. 

— Дергаю за ручку очень сильно и резко. Дверь не должна открыться.

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

— ...

Вот это тесты! Из них понятно, что я делаю, как, и какой результат конкретно я должна получить.


Пишите хорошие, конкретные проверки! Помните, ваши тесты могут читать другие люди. И если по тесту непонятно, что именно надо сделать → это плохой тест. Потому что надо искать автора и уточнять, что именно это значит. А автор заболел, уволился или просто забыл, что имел в виду.

См также:
Что такое тест-кейс и как его писать — полезное про тесты
Квартальный календарь тестировщика 2018 — на этом календаре как раз эта статья и изображена!


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

4 комментария:

  1. Ольга, добрый день!
    Спасибо Вам за хороший ресурс! С удовольствием читаю! У Вас небольшая опечатка:
    "Дверь не должна открыться. Сильно бью..." - здесь после "открыться" нужен следующий пункт списка, а не там, где сейчас.

    ОтветитьУдалить
  2. Ольга, с удовольствием читаю ваш блог, с недавних пор заинтересовала эта тема.
    но вот в этой статье, мне кажется, вы немного запутались, а именно...
    вы пишите:
    "Как будем тестировать? "Ну, я его открою и закрою" или “проверить, что он открывается и закрывается” — это не тест."
    не соглашусь с вами потому, что по факту это нормальное тестирование! это есть "позитивное" тестирование! что является неотъемлемой частью тестирования
    а нормальным тестированием вы называете "Дергаю за ручку очень сильно и резко. Дверь не должна открыться. и т.д.", что является негативным тестирование, что тоже является частью тестирования, но нельзя сказать что это единственная верная модель тестирования!
    более того, уже не вспомню у вас читал или нет, но было высказывание, что позитивное тестирование является приоритетным! т.е. мы должны убедится, что некая система выполняет тот функционал, для которого ее создавали, а негативное тестирование уже второстепенно.
    у вас же в этой статье прямо наоборот.

    ОтветитьУдалить
    Ответы
    1. Роман, вы пропустили первый тест на картинке "как надо", он вполне позитивен :) Но в корне отличается от абстрактного "ну, я что-то сделал". Чем отличаеся? Указано в названии статьи — нет конкретики. А так то да, начинаем с позитива

      Удалить