Чтение онлайн

ЖАНРЫ

tестирование dot com
Шрифт:

Процесс проверки рюкзака на наличие определенного пред-

мета — исполнением тест-кейса (test case execution).

Test case можно перевести как "тестируемая ситуация" и как

"оболочка для теста", оба перевода легитимны и представляют

собой идеальный союз для понимания места и значения тест-кей-

сов в этом жестоком мире.

Главная и неотъемлемая часть тест-кейса — это ожидаемый

результат, например "огурец

соленый", т.е. тест-кейс может

полностью состоять только из ожидаемого результата.

Структура тест-кейса

Проблема в том, что для нахождения бага (что является смыслом

любого тестирования) кроме ожидаемого нам нужен и фактиче-

ский результат. В случае с огурцом мы просто заглядываем в

рюкзак и смотрим, на месте ли этот "фрукт". В случае же тести-

рования ПО, как правило, необходима инструкция, как прийти к

фактическому результату.

Пример

Допустим, тестировщику А. Боброву, который только что начал рабо-

тать в нашем стартапе www.testshop.rs, дали для исполнения следую-

щий тест-кейс:

"Оплата может быть произведена картой VISA". Сразу же

возникает по крайней мере две проблемы:

38

Тестирование Дот Ком. Часть 1

• для исполнения тест-кейса нужна тестировочная карта VISA,

которой у него нет;

• он не знает, как проверить, был ли действительно осуще-

ствлен платеж, даже если бы у него была карта.

Единственное, что более или менее понятно, — это процесс по-

купки в интернет-магазине (найти товар, добавить в корзину и

т.д.), что в данной ситуации помогает немного. Естественно, что

никакого тестирования не будет, так как пробиться к фактиче-

скому результату так же трудно, как доказать инспектору ГАИ,

что брать взятки аморально.

Пример

Допустим, тестировщику А. Боброву, который только что начал рабо-

тать в нашем стартапе www.testshop.rs, дали для исполнения следующий

тест-кейс: Шаги:

1. Открой www.main.testshop.rs

2. Введи в поле "Имя пользователя": "testuser1"

3. Введи в поле "Пароль": "pa$$wOrd"

4. Нажми кнопку "Войти"

5. Введи в поле "Поиск": "book117"

6. Нажми кнопку "Найти"

7. Кликни линк "Добавить в корзину"

8. Кликни линк "Корзина"

9. Кликни линк "Оплатить"

10.

Выбери из меню "Вид карты": "VISA"

11. Введи в поле "Номер карты": "9999-5148-2222-1277"

12. Введи в поле "Действительна до": "12/07"

13. Введи в поле "CW2": "778"

14. Нажми кнопку "Завершить заказ"

15. Запиши номер заказа __________

16. Запроси базу данных:

select result from cc_transaction where id = <номер заказа >;

Ожидаемый результат: "10"

Очевидно, что тест-кейс из последнего примера вполне может

быть исполнен любым, кто знает, как напечатать "pa$$wOrd".

В последнем примере (который мы назовем тест-кейс с картой) к

ожидаемому результату (ОР) добавились шаги (steps), которые

должны привести нас к фактическому результату (ФР), необ-

ходимому, чтобы узнать, есть баг или нет. Совокупность шагов

называется процедурой (procedure).

Если провести аналогию, то

шаги — это ступеньки лестницы;

Искусство создания тест-кейсов

39

ожидаемый результат — это некий предмет, который мы

должны найти, если поднимемся по этим ступенькам;

фактический результат — это то, что мы реально нашли

после того, как поднялись по этим ступенькам.

Постановка мозгов

ИСХОДЯ ИЗ ОСНОВНОЙ компьютерной концепции ВВОД/ВЫВОД (на языке

оригинала input/output):

шаги — это инструкция по вводу;

исполнение шагов — это ввод;

ожидаемый результат — это ожидаемый вывод;

фактический результат — это фактический вывод.

Исполнение тест-кейса завершается сравнением вывода факти-

ческого и вывода ожидаемого.

Исход исполнения тест-кейса (test

case result)

Каждый тест-кейс, исполнение которого завершено, дает нам од-

но из двух:

1. Положительный исход (PASS), если ФР равен ОР,

Поделиться с друзьями: