Содержание
Программа и методика испытаний
Для написания программы и методики испытаний используются сценарии. Сценарий содержит в себе несколько действий, каждое из которых должно иметь проверяемый результат. Действие должно быть максимально конкретным. Также должна быть указана роль пользователя, производящего конкретное действие.
Перед перечнем сценариев необходимо описать список ролей и список пользователей, от имени аккаунтов которых будет производиться тестирование.
Пример
Роли:
- admin - доступ к инфоблокам
- advertisement_moderator - модерация объявлений
- advertisement_user - просмотр, добавление и редактирование объявлений, оставление комментариев и лайков/дизлайков
Пользователи:
- Блинков К.А. (kirill) - роль admin
- Устинова Р.А. (UstinovaRA) - роль advertisement_moderator
- Квитковский В.В. (vitaliy) - роль advertisement_user
- Меньшиков А.В. (amn111) - роль advertisement_user
- Савченко Ю.А. (yura) - роль advertisement_user
- Литвинов А.Ю. (litvinov) - внешний пользователь (отсутствует в ролях advertisement_moderator и advertisement_user)
Имеет смысл сразу записать названия ролей, а пользователей можно добавлять по ходу дела, когда они понадобятся в сценариях.
Сценарий
Первым действием вы указываете, на какую страницу заходит какой пользователь (с указанием его роли). Пример:
| Номер | Действие | Результат |
|---|---|---|
| 1 | Пользователь litvinov (внешний пользователь) переходит по ссылке https://yoursite/somemodule/page/ | Открывается главная страница сайта (доступ к модулю закрыт) |
Первым сценарием имеет смысл проверить переход через пункт меню, а дальше можно указывать это действие как "пользовать открывает главную страницу модуля".
| Номер | Действие | Результат |
|---|---|---|
| Сценарий 1: проверка работы пункта меню для модераторов | ||
| 1 | Пользователь UstinovaRA (advertisement_moderator) нажимает на логотип ККУ и в открывшемся меню выбирает пункт "Планировщик задач" | Пункт "Планировщик задач" отображается, после нажатия на него открывается главная страница модуля https://yoursite/somemodule/page/ |
| Сценарий 2: проверка работы пункта меню для пользователей | ||
| 1 | Пользователь yura (advertisement_user) нажимает на логотип ККУ и в открывшемся меню выбирает пункт "Планировщик задач" | Пункт "Планировщик задач" отображается, после нажатия на него открывается главная страница модуля https://yoursite/somemodule/page/ |
| Сценарий 3: отсутствие доступа в модуль для внешних пользователей | ||
| 1 | Пользователь litvinov (внешний пользователь) нажимает на логотип ККУ | Пункт "Планировщик задач" не отображается в меню |
| 2 | Пользователь litvinov (внешний пользователь) переходит по ссылке https://yoursite/somemodule/page/ | Отображается главная страница сайта, страница модуля не открывается |
Если пользователь делает несколько действий подряд, то его логин и роль указываются только в первом действии.
Действия и результаты
Действия
Действие пользователя - это наведение мыши, нажатие на кнопку, выделение текста, ввод текста и т.д. Зачастую можно сокращать несколько действий в одно собирательное название и проверять итоговый результат набора действий. Например, допустимо писать "Выбрать статус Завершено" вместо того, чтобы писать "Найти на странице в верхней части слово Завершено серым цветом, нажать мышью на это слово". Но если действие неочевидно, то лучше расписывать подробнее.
Также действием может быть вызов регулярного скрипта из административной панели (например, ежедневно в 00:01 для создания периодических задач; в реальном тестировании мы не будем ждать 00:01, а будем имитировать запуск этого скрипта) или действие, инициированное сервером (например, мы отправили запрос, он минуту обрабатывался, за это время мы успели сделать что-то еще, а теперь мы получили ответ, это тоже считается действием).
Результаты
Результатом может быть:
- получение информации (сопровождается изменением внешнего вида страницы);
- изменение информации (можно проверить в базе данных или другом хранилище информации);
- изменение внешнего вида страницы;
- сайд-эффекты:
- переход на другую страницу;
- скачивание файла;
- и т.д.
Например:
| Номер | Действие | Результат |
|---|---|---|
| Сценарий 15: проверка сохранения текста комментария | ||
| 1 | Пользователь UstinovaRA (advertisement_moderator) открывает главную страницу модуля Объявления | (переход на страницу) Открылась страница со списком объявлений |
| 2 | Пользователь выбирает объявление, нажимает правой кнопкой на его название и выбирает "Просмотреть код" | (получение информации, изменение внешнего вида страницы) Открывается режим разработчика, показывается текст вида название объявления . Необходимо запомнить ID. После этого режим разработчика можно закрыть. |
| 3 | Пользователь нажимает слово "Комментарий" рядом с выбранной новостью | (изменение внешнего вида страницы) Раскрывается поле для ввода текста комментария |
| 4 | Пользователь вводит текст в поле "Комментарий" и нажимает кнопку "Сохранить" | (получение информации о сохранении, изменение внешнего вида страницы) Текстовое поле скрывается, комментарий отображается в виде нового текста |
| 5 | (это проверка сохранения в базе данных) Пользователь blinkov (admin) заходит в инфоблок "Комментарии" и выбирает комментарии к записи с идентификатором ID из п. 2 | (изменение информации) Комментарий сохранен с новым текстом |
То, что указано курсивом, писать не надо, но это способ проверить, не пишете ли вы результат в поле действия и наоборот.
Пример для регулярной серверной задачи
Здесь в первом действии сокращено описание процесса выбора и редактирования задачи. Полный процесс достаточно описать в одном сценарии.
| Номер | Действие | Результат |
|---|---|---|
| Сценарий 16: изменение ответственного регулярной задачи | ||
| 1 | Пользователь UstinovaRA (advertisement_moderator) выбирает в доске "Бухгалтерия" проекта "ККУ" задачу "Заплатить налоги" типа "периодическая" с регулярностью "ежедневно" и меняет ответственного с blinkov на yura. | Новый ответственный отображается "Савченко Юрий Анатольевич" |
| 2 | Имитируется запуск скрипта создания экземпляров периодических задач на следующий день в 00:01. Далее пользователь обновляет страницу доски "Бухгалтерия" проекта "ККУ" | Появилась новая задача "Заплатить налоги" в доске "Бухгалтерия" проекта "ККУ". Она является дочерней задачей к задаче из п. 1. Ее ответственным указан Савченко Юрий Анатольевич. |
