Тест-кейсы, управляемые данными
Основной плюс нового тест-кейса с картой заключается в том, что
нам не нужно вносить изменения в шаги, чтобы протестировать по тому же сценарию другие карты. Единственное, что нам нужно, — это модифицировать исходные данные.
Таким образом, если кроме VISA нам нужно протестировать по тому же сценарию еще две карты, то мы
• делаем сору один раз;
• paste два раза;
• в каждом из новых тест-кейсов переписываем только пять подчеркнутых значений, проживающих в шапке тест-кейса и секции ожидаемого результата (меняем и ID тест-кейса — ТС ID, который, как мы помним, должен быть всегда уникальным):
VISA
9999-5148-2222-1277
12/07
778
10
44
Тестирование Дот Ком. Часть 1
Такой вид тест-кейса называется data-driven (буквально "управляемый данными"), т.е. когда данные и инструкции по их применению не смешаны, а разделены и слинкованы.
Поддерживаемость тест-кейса
Новый тест-кейс с картой хорош. Все при нем — и data-driven, и удобочитаемый формат, и полезные атрибуты. Проблема в том, что веб-сайт, а особенно его часть, именующаяся интерфейсом пользователя {User Interface или просто UI— "ю-ай"), очень часто меняется.
Пример
Кнопка "Войти" из шага 4 легко может быть переименована во "Вход". Следовательно, если у нас есть 3 тест-кейса, то нужно внести 3 изменения. А что, если у нас 500 тест-кейсов, где упоминается кнопка "Войти", и эти тест-кейсы разбросаны по разным документам, как мои одноклассники по свету? Вносить 500 изменений? Скажете: "Ерунда, можно догадаться". Но таких маленьких изменений будут десятки!!! И постепенно ваши тест-кейсы будут либо хиреть без поддержки, либо потреблять на поддержку уйму времени.
|
|
Пример
А что, если не имя кнопки, а сам путь, по которому вы добираетесь до фактического результата, претерпел изменения? Например, шаги 7 и 9 станет разделять не линк "Корзина", а еще несколько дополнительных линков и кнопок, появившихся в новой версии www.testshop.rs.
В общем проблема понятна. И имя ее — maintainability (поддерживаемость), т.е. насколько легко и просто можно изменить тест-кейс при изменениях в ПО.Не думать о поддерживаемо-сти тест-кейсов — значит не думать о завтрашнем дне, что, несмотря на полезность для духовной жизни, все-таки плохо для бизнеса.
Если мы разобьем шаги нашего нового тест-кейса с картой на логические модули, получим:
1. Вход в систему (логин — log in).
2. Поиск товара.
3. Добавление товара в корзину.
4. Оплата.
5. Фиксация номера заказа.
6. Запрос базы данных.
Искусство создания тест-кейсов 45
Почему бы нам не выбросить из тест-кейса детали по следующим позициям?
|
|
Вход в систему
Вобщем-то можно догадаться, куда ввести имя пользователя, куда пароль и на какую кнопку нажать, тем более что в данном случае мы не тестируем процесс логина, это было или будет сделано при исполнении соответствующего тест-кейса, сейчас мы просто грубо и бесцеремонно используем логин, легкомысленно надеясь, подобно покупателю российского автопрома, что все будет чики-пики.
Поиск товара
Все из предыдущего пункта применимо и здесь. Кроме того, допустим, что book117 была удалена из нашей базы данных подлыми завистниками и подхалимами. Что же нам — в отчаянии рвать на себе волосы и кричать, что мы заблокированы? Нет, мы просто превентируем такую ситуацию тем, что не будем давать имени конкретного товара. Что найдется, то найдется (так как то, что найдется, в данном случае значения не имеет).
Добавление товара в корзину
Концепция из "1. Вход в систему" применима и здесь.
Оплата
Концепция из "1. Вход в систему" применима и здесь.
О'к, с оплатой я, пожалуй, немного переборщил — не факт, что будет абсолютно очевидно, как провести ее, и шаги все же потребуются.
Здесь появляется другая загвоздка: если мы производим оплату в сотнях тест-кейсов, т.е. сотни раз включаем в тест-кейс те же семь шагов (8—14 включительно), то при изменении даже в одном из этих шагов нам придется переписывать эти сотни тест-кейсов...
|
|
Не проще ли вынести шаги, повторяющиеся от тест-кейса к тест-кейсу, во внешний документ и вместо них включить в тест-кейс лишь один шаг-ссылку «Произведи оплату КАРТОЙ из секции "SETUP and ADDITIONAL INFO"»? Поступив
46
Тестирование Дот Ком. Часть 1
таким образом, мы сэкономим громадное количество часов рабочего времени, так как при необходимости менять шаги нужно будет только в одном месте!
Кстати, "оплата картой" — это линк к страничке в локальной сети с соответствующей инструкцией, называемой, например, "Как произвести оплату кредитной картой".
Кстати, хорошей идеей является создание в локальной сети вашей компании мини-веб-сайта департамента качества, где наряду с веб-страничками с
• контактной информацией работников департамента,
• пинками к файлам с тест-комплектами,
• другой полезной информацией
расположится и внутреннее Пособие для тестировщиков (QA Knowledge Base), где кроме прочего будут задокументированы повторяющиеся сценарии.
Теперь обобщим уже известные нам мероприятия по улучшению поддерживаемости тест-кейса:
|
|
1. Сделать тест-кейс data-driven.
2. Не описывать шаги по явно очевидным сценариям (например, логин).
3. Не давать конкретных деталей, если они не играют роли при исполнении тест-кейса (например, имя товара).
4. Вынести во внешний документ повторяющиеся сценарии (например, семь шагов оплаты).
Ну, за поддерживаемость!
ТС ID/Priority | CCPG0001 | 1 | |
IDEA:Оплата может быть произведена картой VISA SETUP and ADDITIONAL INFO: Эккаунт: testuser1/paSSwOrd Данные карты: Номер: 9999-5148-2222-1277 Окончание действия: 12/07 CVV2: 778 SQL1: select result from cc transaction where id = <номер заказа>; | |||
Revision History | |||
Created on:11/17/2003 by О.Тарасов | Новый тест-кейс | ||
Modified on:11/26/2003 by И. Новикова | Шаги были упрощены, чтобы сделать тест-кейс более удобным для поддержки | ||
искусство создания тест-кейсов
47
Execution part | |
PROCEDURE | EXPECTED RESULT |
1.Открой www.main.testshop.rs | > "10" |
2. Войди в систему. 3. Найди любой товар. | |
4. Добавь товар в корзину. | |
5. Произведи оплату картой из секции SETUP and ADDITIONAL INFO | |
6. Запиши номер заказа | |
7. Запроси базу данных с SQL1 | |
и запиши результат |
|
Идем дальше.
Дата добавления: 2018-05-02; просмотров: 2101; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!