Автор: Назина Ольга
Что такое предварительные шаги тест-кейсаТест-кейс — это подробное описание проверки. Такое, которое можно будет дать человеку с улицы и он все поймет. В тест-кейсе есть название, предварительные шаги, шаги и результат. И куча других примочек, которые будут зависеть от стандартов оформления на вашей работе. В этой статье я хочу поговорить о предварительных шагах.
Предварительные шаги — это все то, что поможет нам пройти тест-кейс, но прямого отношения к текущему тесту не имеет. Например, регистрация.
Скажем, чтобы поставить лайк под фото, мне нужно войти в систему. Вот чтобы я смогла войти в систему, мне сначала надо зарегистрироваться, если я не делала этого раньше. Но, если я подготовилась заранее, этот предварительный шаг можно выкинуть.
Это как когда готовишь. Скажем, шарлотку
ШарлоткаПредварительные шаги
Шаги
Ожидаемый результат
Фишка в чем? Если у меня уже есть яйца, я могу их не покупать. Но взбивать их мне все равно придется. Даже если я неделю назад взбивала яйца с сахаром, я не могу их взять сейчас (они же уже протухли!). То есть шаги я выкинуть не могу, сделав их заранее. А вот предварительные — вполне.
Также и в ИТ мире. Не надо радостно перетаскивать в предварительные шаги вообще все. Например:
Предварительные шаги
Открыть сайт www.example.com
Шаги
Кликнуть на кнопку «Войти»… Что? Какая кнопка? Где мне ее искать? На рабочем столе? Шаги должны быть независимыми. Если говорить про веб-сайт, я должна открыть новую вкладку в режиме инкогнито и там пройтись по всем шагам и у меня все получится. Поэтому выкидывать ссылку на сайт в предварительные шаги не надо, она важна для выполнения теста.
А вот если я уже заранее зарегистрировалась, то хоть в новой вкладке, хоть в новом окне открою все и пройдусь по шагам. Авторизация то будет работать, если вы укажете, под кем входить. А регистрация прямого отношения к тесту не имеет.
Какие еще могут быть предварительные шаги? Посмотрим на примере Дадаты. Тестируем функционал обработки файла. Он доступен только авторизованному пользователю → надо зарегистрироваться. И он небесплатный → нужно пополнить баланс. И, конечно, у нас должен быть на руках файл для загрузки.
Регистрация на сайте, пополнение баланса и подготовка файлов — предварительные шаги, они не имеют прямого отношения к тесту загрузки файла, это так, подготовка. Как они будут выглядеть? Допустим, мы хотим обработать файл-образец (есть такой в системе).
Предварительные шаги
- Зарегистрироваться (см. тест-кейс «Регистрация»).
- Пополнить баланс (см. тест-кейс «Пополнение баланса»).
- Скачать файл-образец (см. тест-кейс «Скачивание файла-образца»)
На что обратить внимание при написании предварительных шагов? Давайте разберемся с правилами их написания.
Правила их составления1. Писать лучше обезличено Повелительное наклонение неприятно читать: пойди, открой, сделай, нажми. Фи.
Превращаем в нейтральные глаголы: пойти, открыть, сделать, нажать…
2. Писать нужно в едином стиле Все предложения должны быть в едином стиле, а то читаешь потом такой текст и недоумеваешь:
- Регистрация
- Пополни баланс
- Скачать файл-образец
Странно же, правда? Приведем в порядок:
- Регистрация
- Пополнение баланса
- Скачивание файла-образца
Или
- Зарегистрироваться
- Пополнить баланс
- Скачать файл-образец
Оба варианта имеют право на существование, тут уж кому как больше нравится — существительное или глагол.
3. Можно ссылаться на другие тест-кейсыТак как предварительные шаги прямого отношения к тесту не имеют → мы не расписываем их подробно. Если надо уточнить, как выполнить действие, дайте ссылку на другой кейс:
Зарегистрироваться с именем «Д`Артаньян» (см. тест-кейс «Регистрация»).
↓
Зарегистрируйся с таким-то именем. Если не знаешь как — welcome to тест-кейс регистрации.
Только помните, зачем делается отсылка на другой тест → чтобы, если у нас что-то поменяется в том действии (например, в регистрации), чтобы мы изменили это в ОДНОМ месте, в ОДНОМ тесте, а не в 100500.
Поэтому не надо писать «Зарегистрироваться в системе: зайти по ссылке А, нажать кнопку «Регистрация» в правом верхнем углу сайта, ввести в поле «имя» такое-то значение…». Завтра название кнопки изменится, вы во всех кейсах будете исправлять? А зачем?
4. Но не доходя до маразма ツ
Вот у нас в Дадате студенты пишут тест-кейсы на загрузку и обработку файлов. Чтобы им было проще, первый тест-кейс тренер сделал сам. Тест-кейс — на обработку файла-образца. Того, который система предоставляет для демонстрации своих возможностей.
Предварительные шаги выглядят так:
Предварительные шаги
- Зарегистрироваться (см. тест-кейс «Регистрация»).
- Пополнить баланс (см. тест-кейс «Пополнение баланса»).
- Скачать файл-образец (см. тест-кейс «Скачивание файла-образца»)
А потом студент тестирует, скажем, обработку файла в формате CSV. Угадайте с трех раз, как выглядят его предварительные шаги? Правильно!
Предварительные шаги
- Зарегистрироваться (см. тест-кейс «Регистрация»).
- Пополнить баланс (см. тест-кейс «Пополнение баланса»).
- Скачать файл «Клиенты» (см. тест-кейс «Скачивание файла»)
Вот и как я тут должна понять, что за файл я должна скачать? В формате CSV? С одной строкой и одной колонкой, с 10000 колонок? С разным форматом дат рождения? С весом в 5 Мб? Какой? ЧТО именно тестируется?
Некоторые студенты учитывают этот момент и пишут так:
- Скачать файл формата CSV (см. тест-кейс «Скачивание файла»)
Но тут возникает новый вопрос — откуда скачать? Из тест-линка, внутри которого написан тест? Из какого-то общего хранилища? И что это за тест-кейс такой магический на скачивание файла, на который идет отсылка? Это ведь явная копипаста из примера. Там написано «тест-кейс на скачивание», значит, и я также напишу!
Почему в моем примере написано «скачать»? Потому что файл-образец в системе уже есть! И если мы хотим его протестировать, нам надо именно скачать то, что находится по ссылке «образец», а не какой-то свой прошлогодний файл в систему запихивать. Иначе какой смысл в этом тесте?
Отдельный тест-кейс на скачивание образца тоже сделан не просто так. Ведь нам надо убедиться в том, что по ссылке «образец» скачивается ровно то, что нам нужно. Что написано в ТЗ. Ведь в образце не какие-то абстрактные данные, они подобраны специальным образом, чтобы что-то показать, какие-то возможности системы.
Отдельный тест-кейс на скачивание образца:
- Проверяет, что файл реально скачивается (а то будет big fail).
- Проверяет, что внутри файла лежат правильные данные.
А еще на него можно сослаться в предварительных шагах других тестов. Там, где нам не важно, какой именно файл грузить — когда мы тестируем работу системы с разным исходным балансом (денег хватает на обработку / не хватает), исключение столбцов (в дадате есть такой функционал, чтобы не обрабатывать лишнего), или что-то другое.
В этом случае нам не важно наполнение файла. Мы просто хотим загрузить точно-работающий файл. И образец в этом случае идеален! Ведь если система не в состоянии обработать собственный образец — какое к ней может быть доверие? Тест на обработку образца идет первым в приоритете тестировщика.
А дальше мы уже исследуем, как реагирует система на разные форматы, разный вес, разное количество столбоц и колонок… И для этих тестов файлы придется готовить самостоятельно. Скачать то неоткуда!
Поэтому в предварительных шагах мы пишем о том, какой именно файл надо подготовить. Так и пишем: «Подготовить такой-то файл, см пример в аттаче».
Подготовить файл формата doc с данными из файла-примера (см аттач «Пример.doc»)
Подготовить файл с разными форматами дат рождения (см аттач «Даты рождения.xls»)
Подготовить файл картинкой внутри вместо текста (см аттач «Картинка. xls») Еще раз: не скачать. Подготовить. И никаких отсылок на мифический тест-кейс «Скачивание файла», что это за тест-кейс? Что он проверят в рамках нашей системы? И зачем нам на каждый тест-кейс писать отдельный тест-кейс на подготовку файла? Просто чтобы сослаться ради ссылки? Не надо.
Заметьте, как описан подготовительный шаг — мы готовим файл. Не скачиваем аттач, а готовим файл. И написано, что это за файл — вдруг аттач испарится завтра, случайно удалим? Все равно понятно, какой именно файл надо готовить )
А еще аттач может устареть — изменили функционал системы, файлы в старом формате уже не грузятся. Но если описано, ЧТО это за файл, тестировщик сможет его обновить!
5. Выкидывать текст ради текста нужно«Кратко, но емко!» — главное правило оформления текстов. Будь то баг-репорт, тест-кейс или письмо Заказчику.
Текст ради текста всегда выкидываем. Сравните:
- Зарегистрироваться (см. тест-кейс «Регистрация»).
- Зарегистрироваться на сайте www.example.com (см. тест-кейс «Регистрация»).
Что лучше? Лучше первый вариант, так как там меньше текста. У нас ведь все тесты на сайт https://www.example.com/, зачем тогда лишний раз писать ссылку? Тем более что потом придется продублировать ее в основных шагах.
А если разработчик решит поменять URL ссылки? Зачем нам вносить лишние правки? Когда надо поменять в 10 местах, всегда есть шанс хоть одно продолбать → а в итоге у нас будет неактуальная тестовая документация.
Мы потому и выносим регистрацию в предварительные шаги. Чтобы не исправлять сотни кейсов, если что-то изменится. Поправить в одном месте, в одном кейсе.
Ок, а если выбирать из таких вариантов, что будет лучше? Подумайте сами, прежде чем прочитать ответ:
- Зарегистрироваться (см. тест-кейс «Регистрация»).
- Зарегистрироваться с именем Ольга и email
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
(см. тест-кейс «Регистрация»).
Правильный ответ — все зависит от контекста. Если нам важно зарегистрироваться именно с таким именем (проверяем женские имена, или имена с апострофом, или что-то еще) — это нужно указать в предварительном шаге с регистрацией.
А если нам неважно, будет email «
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
» или «
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
» — зачем об этом писать? Если я умею регистрироваться, я как-нибудь справлюсь с придумыванием email. Если не умею — пойду в тест-кейс регистрации и пройду по нему.
Поэтому, если нам важен сам факт регистрации, будет лучше вариант 1. Если важны данные — вариант 2.
6. Предварительных шагов может и не быть — это нормальноНе надо высасывать их из пальца там, где они не нужны. Именно так и получаются тесты, в которых просто отсекли первые 2-3 шага и запихали в раздел «предварительные шаги» непонятно зачем.
Предварительные шаги
- Открыть сайт https://www.example.com/
- Нажать на кнопку «Войти»
Шаги
Ввести логин такой-то, пароль сякой-то
↓
Шаги
- Открыть сайт https://www.example.com/
- Нажать на кнопку «Войти»
- Ввести логин такой-то, пароль сякой-то
Итого Предварительные шаги — это все то, что поможет нам пройти тест-кейс, но прямого отношения к текущему тесту не имеет. Например, регистрация в системе. Или покупка ингредиентов для шарлотки ツ
Правила описания предварительных шагов:
- Писать обезличенно — так приятнее читать, чем в повелительном наклонении
- Писать в одном стиле — а не «то глагол, то существительное»: то «регистрация», то «зарегистрироваться»
- Ссылаться на другие тесты можно — в шагах не стоит (чтобы они были независимые), а тут можно. Но без маразма типа «скачать файл, см тест-кейс такой-то», и отдельный тест-кейс на подготовку файла...
- Выкидывать лишнее нужно — кратко, но емко! Копипасту убираем, лишний текст тоже
- Предварительных шагов может и не быть — это нормально. Не стоит высасывать их из пальца просто потому, что «они должны быть!»
PS — больше полезных статей ищите в моем блоге по метке «полезное» Обсудить в форуме |