Правила составления тест-кейсов

Все, что касается проектирования тестов...

Модератор: YuriY

Правила составления тест-кейсов

Сообщение YuriY » 10 фев 2008, 01:58

Предлагаю аккумулировать знания). Это пригодится для будущего сайта.
У меня сложилось такое впечатление, что иногда тестировщики считают, что они умеют писать тест-кейсы только потому, что они уже написали несколько тест-сценариев (они же тест-сьюты). Хотя на самом деле не всегда можно говорить о покрытии данными тестами требований, функционала... их трудно поддерживать, в них трудно ориентироваться...
Поэтому для начала предлагаю поделиться опытом и сформировать один или несколько (если одного окажется мало)) шаблонов тест-кейсов и сформировать набор правил, которых следует придерживаться начинающим и опытным тестировщикам при составлении тест-сценариев.
Сейчас я говорю конкретно о стиле написания кейсов, не об обеспечении покрытия - это будет отдельная тема для обсуждения).
Правила можно добавлять хоть по одному, потом мы их сгруппируем. Также приветствуются шаблоны тест-кейсов).
YuriY
Senior
 
Сообщений: 124
Зарегистрирован: 30 янв 2008, 01:18
Откуда: Kharkov

Сообщение wishaway » 13 мар 2008, 17:29

Что должно быть в тест кейсе:

1. Уникальное название (ID, номер или текстовое название), чтобы этот тест кейс потом можно было легко найти. Также нужно для привязки тест кейса к конкретному требованию
2. Общее описание (summary)
3. Предусловия (состояние системы для того, чтобы можно было выполнить тест кейс)
4. Шаги тест кейса
5. Ожидаемый результат

Пример:

Пусть будет такое требование:
REQ11: User should be able to set/change avatar

Test case:

TC11a - Uploading a jpg file as avatar
Pre-conditions: PC1
Steps:
1. Log in as a member
2. Go to "Personal info" page
3. Click on the "change avatar" link
4. Select the "1.jpg" (see PC1) and click the "save" button
Expected result:
Page is re-loaded, new avatar is correctly displayed in the avatar section, confirmation message "Operation successful" is shown.


TC11a: "1.jpg" file: resolution 100 x 100, size 10-50 Kb.


Для хранения тест кейсов можно использовать, например, TestLink (в гугле можно найти, где ее качать)- довольно удобная штука, если нужны именно тест кейсы.

Лично я на практике пользуюсь чек-листами, на тест кейсы уходит слишком много времени, чтобы их описывать, поэтому мне это не подходит...
Regards,
Dmitry Markov
wishaway
Junior
 
Сообщений: 27
Зарегистрирован: 13 мар 2008, 13:23
Откуда: Kharkov

Сообщение charo » 23 июн 2008, 19:16

Из собственного опыта написания и обучения написанию тест кейсов, получилось несколько правил :) :

1. Каждый тест кейс должен быть независимым от другого, т.е. в тест кейсе не должно быть ссылок на другие тест кейсы.
Например:
Есть тест кейс "TC1 - Сохранение документа в формате txt" и мы пишем другой тест кейс.

Неверно: Шаг1. Проити тест кейс "TC1 - Сохранение документа в формате txt"
Понятно, что при прохождении этого тест кейса необходимо будет отвлечся и найти его пройти а потом вернуться. При этом дважды теряется фокус внимания.
Есть вариант делать, этот шаг ссылкой на другой тест кейс, но тут могут возникнуть трудности в сапорте таких тест кейсов. Нужно будет хранить и отслеживать все зависимости и их изменения.
Верно:
Pre-condition: Документ сохранен в формате txt.
Можно вынести в предусловия (если это не является частью проверяемой функциональности)
или
Шаг1: Сохраните документ в формете txt.
Но в обоих случаях подразумивается, что известно как сохранить документ в формат txt.

По сути считаем, что если человек прошел тест кейс "TC1 - Сохранение документа в формате txt", то он знает как сохранить документ в формат txt.
Такой подход помогает при организации тестировании, от меньшего к большему, а также при ознакомлении новых кадров с проектом.

2. Шаг в тест кейсе должен однозначно определять "Что делать" и "Что должно получится".

2.1 Описание шага не должно содержать конструкций типа:
а) Шаг1. Введите в поле значение А или В
Если имеет значение вводимый элемент пишем два тест кейса. Если Важен класс, то указываем только его, т.е. введите в поле один символ (a-z).
б) Посторите шаг4-шаг5
При ссылки на другие шаги теряется фокус, и прохождение тест кейса занимает большее время. Также теряется часть внимания, и мы рискуем пропустить ошибку.

2.2. В описании результата не должно содержать конструкции типа:
а) Выберите txt файл -> Если выбрали файл больше 1024 kb, то диалоговое окно закрылось, иначе получили сообщение об ошибке.
Пишем два тест кейса на выбор файла больше и меньше нужного размера.

3. Имя тест кейса уникально для проекта и несет в себе описание тестируемой функциональности.
:idea: Кстати , неплохой способ проверить тест кейс на качество детализации и названия. Представте, что тест кейс сфейлился на шаге, это значит что проверяемая функциональность не работает.

4. В одном тест кейсе проверяется только одна функциональность.

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

В принципе это все. :D
If I can see it, it's a failure.
charo
Junior
 
Сообщений: 19
Зарегистрирован: 18 июн 2008, 12:46
Откуда: Днепропетровск

Сообщение МандарЫнка » 19 мар 2009, 16:58

TestLink в качестве хранителя ТС лично мне не понравился.
возможно, проблема была в кривом развертывании, но постоянные тормоза, особенно когда кол-во ТС перемахнуло за 2000
мне удобнее всего старый добрый ексель
charo писал(а):1. Каждый тест кейс должен быть независимым от другого, т.е. в тест кейсе не должно быть ссылок на другие тест кейсы.

не соглашусь. когда ТС представляют собой стройный набор тестов, когда все вместе они слаженный тестовый сценарий ссылки на тесты очень удобны.
например, вы в тесте А сделали 5 шагов. и перешли к тесту Б.
описывать все шаги что были в А(чтобы шаги оставались полными) займет
а) много времени при создании ТС
б) много времени при его последующем обновлении
в) больше времени на прочтетие всех шагов при выполнении
на много проще сделать ссылку на результат теста А и тест Б продолжить с конкретного месте

НО! ссылки на ТС должны быть разумными(опять-таки чисто мое мнение) те удобно когда ссылаемся на близлежайший тес. а не находящийся в др. секции или за 100 ТС до текущего
charo писал(а):4. В одном тест кейсе проверяется только одна функциональность.
тоже не всегда. например, когда нам надо проверить что все необходимые элементы находятся на странице не удобно писать десяток одинаковых ТС с одинаковыми шагами.
проще написать 1 ТС в ожидаемом результате кот. описаны все э-ты, наличие которых должно быть проверено

НО! в этом же тесте мы НЕ проверяем работу этих э-тов

т.е в целом я согласна с указанными требованиями к ТС, но бывает серия исключений, где лучше обойти эти требования
МандарЫнка
Junior
 
Сообщений: 25
Зарегистрирован: 10 апр 2008, 11:49

Сообщение OlegY » 02 дек 2009, 16:16

Ребят.
Возможно я не прав , но на мои взгляд вам стоит перейти на терминологию ISTQB . В дальнейшем вам здорово это может помочь , ибо основная фишка в ISTQB состоит именно в том , что они , по большей части просто изменили терминологию . К примеру ни Test Cases ни Steps более не существует (по определению ISTQB ) .Так что теперь Test Conditions и Test Procedures :)
OlegY
Newcomer
 
Сообщений: 4
Зарегистрирован: 02 дек 2009, 14:16
Откуда: Israel

Сообщение YuriY » 02 дек 2009, 23:49

Олег,
Что-то я не готов согласиться ни с тем, что мы используем некорректную терминологию (для верности проверил глоссарий ISTQB за 2007 год; да и сертификацию в этом году успешно прошел:)), ни с тем, в чем состоит основная фишка ISTQB. Они систематизировали существующие понятия и термины - да. Изменили терминологию [на какую-то новую] - нет.
Test Conditions и Test Procedures все еще не равны шагам тест-кейса и самим тест-кейсам. :wink:
Pertempto ergo sum
YuriY
Senior
 
Сообщений: 124
Зарегистрирован: 30 янв 2008, 01:18
Откуда: Kharkov


Вернуться в Проектирование тестов | Test Design

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron