tестирование dot com
Шрифт:
Ожидаемый результат: "10"
Очевидно, что тест-кейс из последнего примера вполне может
быть исполнен любым, кто знает, как напечатать "pa$$wOrd".
В последнем примере (который мы назовем тест-кейс с картой) к
ожидаемому результату (ОР) добавились шаги (steps), которые
должны привести нас к фактическому результату (ФР), необ-
ходимому, чтобы узнать, есть баг или
называется процедурой (procedure).
Если провести аналогию, то
• шаги — это ступеньки лестницы;
Искусство создания тест-кейсов
39
• ожидаемый результат — это некий предмет, который мы
должны найти, если поднимемся по этим ступенькам;
• фактический результат — это то, что мы реально нашли
после того, как поднялись по этим ступенькам.
Постановка мозгов
ИСХОДЯ ИЗ ОСНОВНОЙ компьютерной концепции ВВОД/ВЫВОД (на языке
оригинала — input/output):
• шаги — это инструкция по вводу;
• исполнение шагов — это ввод;
• ожидаемый результат — это ожидаемый вывод;
• фактический результат — это фактический вывод.
Исполнение тест-кейса завершается сравнением вывода факти-
ческого и вывода ожидаемого.
Исход исполнения тест-кейса (test
case result)
Каждый тест-кейс, исполнение которого завершено, дает нам од-
но из двух:
1. Положительный исход (PASS), если ФР равен ОР,
либо
2. Отрицательный исход (FAIL), если ФР не равен ОР: най
ден баг!
Иногда возникает ситуация, когда мы заблокированы (test case
execution is blocked), так как не можем пройти ВСЕ шаги тест-
кейса. Например, мы не можем продвинуться дальше, если кноп-
ки "Завершить заказ" из шага 14 не существует на соответствую-
щей веб-странице. В таком случае мы рапортуем баг (в данном
случае баг об отсутствии кнопки "Завершить заказ") и отклады-
ваем исполнение тест-кейса до устранения бага.
Полезные атрибуты тест-кейса
УНИКАЛЬНЫЙ ID (Unique ID)
Это необходимая вещь. Тест-кейс без ID — это то же самое, что
квартира без адреса или швейцарские часы без номера. ID должен
быть уникальным в пределах не только документа, содержащего
тест-кейс (об этом документе позже), но и всего департамента
40
Тестирование Дот Ком. Часть 1
качества. Рациональное обоснование: со временем появится не-
обходимость вести статистику по тест-кейсам, обновлять, удалять
или переносить в другой документ некоторые из них, прикрывать
спину и т.д.
ПРИОРИТЕТ ТЕСТ-КЕЙСА (Test Case Priority)
Это важность тест-кейса. Важность отражается по шкале от 1 до п,
где 1 — это высший приоритет, а п — это низший приоритет.
Думаю, что рационально делать п = 4.
Допустим, тест-кейс, проверяющий, работает ли кнопка "Купить",
будет 1-го приоритета, а тест-кейс, проверяющий цвет шрифта
линка "Гостевая книга", будет 4-го приоритета. Концептуально,
думаю, понятно.
Зачем это делается? Допустим, у нас есть два тест-кейса: один 1-
го приоритета и другой — 3-го приоритета, оба тестируют некую
функциональность А, и есть время для исполнения только одного
из них. Естественно, что мы выберем тест-кейс 1-го приоритета.
Приоритезация тест-кейсов особо полезна при регрессивном
тестировании, о котором мы не раз будем говорить.
Вопрос: Как присваиваются приоритеты?
Ответ: Конечно, все зависит от компании, но, как правило, автор
тест-кейса просто решает, насколько жизненно важна, опреде-
ляюща и критична вещь, проверяемая данным тест-кейсом.
ИДЕЯ (IDEA)
Это описание конкретной вещи, проверяемой тест-кейсом (в даль-
нейшем эту конкретную вещь мы также будем называть "идея
тест-кейса").
Пример
В тест-кейсе с картой ожидаемым результатом является значение "10"
в колонке result строки с нашей транзакцией. Поймет ли, ЧТО мы тес-
тируем, человек, который не знает, что программисты www.testshop.rs