https://github.com/stalksa/testplan
План для автотестов
https://github.com/stalksa/testplan
Last synced: 3 months ago
JSON representation
План для автотестов
- Host: GitHub
- URL: https://github.com/stalksa/testplan
- Owner: STALKSA
- Created: 2023-06-08T18:19:20.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-11T06:27:41.000Z (almost 3 years ago)
- Last Synced: 2025-06-18T11:51:18.634Z (12 months ago)
- Homepage:
- Size: 1.34 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# План тестирования возможности записаться на обучение профессии «Тестировщик ПО»
## Сценарии автоматизации:
- Ввод адреса страницы (https://netology.ru) в адресную строку браузера
- Переход по ссылке на сайта Нетологии
## 1 Сценарий
1. Нажать кнопку "Каталог курсов"
2. Выбрать "Программирование" из списка "Направления обучения"

4. Воспользоваться скролом вниз до программы "Тестировщик ПО"

5. Выбрать карточку "Тестировщик ПО"
## 2 Сценарий
1. Нажать кнопку "Каталог курсов"
2. В поисковой строке ввести направление "Тестировщик ПО"(полностью или частичный ввод)

4. Выбрать карточку "Тестировщик ПО"
## 3 Сценарий
1. Нажать кнопку "Каталог курсов"
2. В поисковой строке ввести направление "Тестировщик ПО"(полностью или частичный ввод)

4. Нажать кнопку "Найти курс"
5. Воспользоваться скролом вниз до программы "Тестировщик ПО"
6. Выбрать карточку "Тестировщик ПО"
## 4 Сценарий
1. Прокрутить Главную страницу к разделу "Направления обучения";
2. Нажать кнопку "Полный каталог";
3. Воспользоваться скролом вниз до программы "Тестировщик ПО"
4. Выбрать карточку "Тестировщик ПО"
## 5 Сценарий
1. Прокрутить Главную страницу к разделу "Направления обучения";
2. Нажать кнопку "Полный каталог";
3. В поисковой строке ввести направление "Тестировщик ПО"(полностью или частичный ввод)
4. Выбрать карточку "Тестировщик ПО"
## 6 Сценарий
1. Прокрутить главную страницу до футера;
2. Нажать ссылку "Каталог курсов";
3. В поисковой строке ввести направление "Тестировщик ПО"(полностью или частичный ввод)
4. Выбрать карточку "Тестировщик ПО"
## 7 Сценарий
1. Прокрутить главную страницу до футера;
2. Нажать ссылку "Программирование";
3. Воспользоваться скролом вниз до программы "Тестировщик ПО"
4. Выбрать карточку "Тестировщик ПО"
### По результату всех шагов-сценариев выше - открытие страницы курса "Тестировщик ПО"
## 1 Сценарий
Нажать на кнопку "Записаться"

## 2 Сценарий
Прокрутить страницу с курсом "Тестировщик ПО" вниз
Сверху-справа в head нажать кнопку "Записаться"

## 3 Сценарий
Прокрутить страницу вниз до формы "Запишитесь на курс"
## Сценарии заполнения формы регистрации на курс неавторизированным пользователем
HappyPath:
1. Заполнить поле "Имя" буквами из кириллицы или латиницы не менее двух букв;
2. Заполнить поле "Номер телефона" так же, как и по шаблону:
* Одиннадцать цифр;
* Форма ввода: +7 (999) 999-99-99;
* Разрешено от девяти до четырнадцати цифр;
3. Заполнить поле "Электронная почта" корректным e-mail:
* не должен содержать русских букв;
* Знак «собака» (@);
* Точку (.)
* Верное наименование почтового домена (mail.ru, yandex.ru, gmail.com и так далее)
4. Кликнуть по кнопке "Записаться" - произойдет переход к экранной форме записи.
Ожидаемый результат: сообщение об успешной записи
UnHappyPath:
## 1 Сценарий
Заполнить поле "Имя" цифрами
Заполнить поле "Номер телефона" валидным значением
Заполнить поле "Электронная почта" валидным значением
Кликнуть по кнопке "Записаться"
Ожидаемый результат: "Имя не может состоять из цифр"
## 2 Сценарий
Заполнить поле "Имя" латиницей
Заполнить поле "Номер телефона" валидным значением
Заполнить поле "Электронная почта" валидным значением
кликнуть по кнопке "Записаться".
Ожидаемый результат: "Имя должно быть на кирилице"
## 3 Сценарий
Заполнить поле "Имя" валидным значением
Заполнить поле "Номер телефонане" буквами
Заполнить поле "Электронная почта" валидным значением
кликнуть по кнопке "Записаться"
Ожидаемый результат: "Номер в формате +9 (999) 999-99-99"
## 4 Сценарий
Заполнить поле "Имя" буквой
Заполнить поле "Номер телефона" валидным значением
Заполнить поле "Электронная почта" валидным значением
кликнуть по кнопке "Записаться"
Ожидаемый результат: "Имя не должно быть не короче 2 символов"
## 5 Сценарий
Заполнить поле "Имя" валидным значением
Заполнить поле "Номер телефонане" большим кол-вом цифр
Заполнить поле "Электронная почта" валидным значением
кликнуть по кнопке "Записаться"
Ожидаемый результат: "Номер в формате +9 (999) 999-99-99"
## 6 Сценарий
Заполнить поле "Имя" валидным значением
Заполнить поле "Номер телефона" валидным значением
Заполнить поле "Электронная почта" русскими буквами
кликнуть по кнопке "Записаться".
Ожидаемый результат: сообщение "Неверный формат ввода email"
## 7 Сценарий
Заполнить поле "Имя" валидным значением
Заполнить поле "Номер телефона" валидным значением
Заполнить поле "Электронная почта" без знака @
кликнуть по кнопке "Записаться"
Ожидаемый результат: сообщение "Неверный формат ввода email"
## 8 Сценарий
Заполнить поле "Имя" валидным значением
Заполнить поле "Номер телефона" валидным значением
Заполнить поле "Электронная почта" без знака "."
кликнуть по кнопке "Записаться"
Ожидаемый результат: сообщение "Неверный формат ввода email"
## 8 Сценарий
Не заполнить поле "Имя"
Заполнить поле "Номер телефона" валидным значением
Заполнить поле "Электронная почта" валидным значением
Кликнуть по кнопке "Записаться"
Ожидаемый результат: "Поле Имя обязательно"
## 9 Сценарий
Заполнить поле "Имя" валидным значением
Не заполнить поле "Номер телефона"
Заполнить поле "Электронная почта" валидным значением
Кликнуть по кнопке "Записаться"
Ожидаемый результат: "Поле обязательно для заполнения"
## 10 Сценарий
Заполнить поле "Имя" валидным значением
Заполнить поле "Номер телефона" валидным значением
Не заполнить поле "Электронная почта"
кликнуть по кнопке "Записаться"
Ожидаемый результат: "Поле обязательно для заполнения"
## Сценарии заполнения формы регистрации на курс авторизированным пользователем
1. В форме авторизации нажать кнопку "Войти"
2. Поле "Имя" и "Номер телефона" заполнить теми данными, которые указывались при регистрации
3. Поле "Электронная почта" отсутствует
4. Кликнуть по кнопке "Записаться"
### По результату всех шагов-сценариев выше - запись на курс прошла успешно
## Уровни тестирования:
Компонентное (модульное) тестирование - проверить функциональность и искать дефекты в частях анкеты для записи.
Интеграционное тестирование - взаимодействие между компонентами системы.
## Виды тестирования:
Дымовое тестирование - рассматривает как короткий цикл тестов, выполняемый для подтвержения того, что после сборки кода (нового или исправленного) устанавливаемое приложение стартует и выполняет основные функции.
Функциональное тестирование - расматривает заранее указанное поведение и основывается на анализе спецификаций функциональности компонента или системы в целом.
## Используемые инструменты:
1. IntelliJ IDEA 2022.3.1 (Community Edition) - среда разработки, мощная и удобная, поддержка многих языков программирования, в частности Java, JavaScript, Python,с поддержкой всех последних технологий и фреймворков. Версия Community Edition бесплатная.
2. Java 11 язык для написания автотестов, имеет набор готового ПО для разработки и запуска приложений.
3. Gradle понадобится для сборки проекта, для управления подключенными зависимостями, а так же для генерации отчётов о тестировании. Он прост в использовании благодаря тому, что билд скрипты короче и чище чем у Ant и Maven.
4. JUnit 4/JUnit 5 необходим для написания и запуска тестов. Не требует контроля пользователя во время исполнения тестов, может запускать одновременно нектолько тестов, сообщает обо всех ошибках в ходе тестиования, предоставляет готовый набор методов для сравнения ожидаемого и фактического результатов.
5. Docker — это программное обеспечение, которое дает возможность на определенном участке памяти изолированно установить необходимую ОС (операционную систему), версию Java, настроить переменные окружения, установить различные зависимости и дать доступ только при определенных условиях.
6. Selenium/Selenide фреймвор,необходимый, для тестирования GUI. Помогает делать стабильные тесты, решая почти все проблемы с таймаутами, автоматически управляет браузером и делает скриншоты если тест упал.
7. Lombok - основанная на аннотациях библиотека Java, позволяющая сократить шаблонный код, уменьшает трудозатраты и время на разработку и обеспечивает некоторую дополнительную функциональность.
8. Faker- библеотека, необходимая для генерации тестовых данных.
9. Rest Assured - java-библиотека для тестирования REST API, позволяет автоматизировать тестирование get и post запросов.
10. Allure - фреймворк для создания отчетов о тестировании, наглядного отоображения прохождения тестов и ошибок. Обдадает более широким представление отчетов об проводимых тестах, чем Gradle.
11. Git и GitHub для ведения репозитория по проектам. Git достаточно прост и удобен для управления исходным кодом, очень распространенная система контроля версий, поэтому достаточно хорошо взаимодействует с различными ОС. GitHub специализированный веб-сервис с удобным интерфейсои, интегрирован с Git.
12. AppVeyor - распределённый веб-сервис непрерывной интеграции, предназначенный для сборки и тестирования программного обеспечения расположенного на GitHub и других сервисах хранения исходного кода (включая GitLab и Bitbucket), использующий виртуальные машины Microsoft Windows и Ubuntu. Этот сервис удобен тем что он имеет бесплатный базовый тариф, может осуществлять сборку как под управлением Linux, так и под Windows, а если необходимо то под несколькими сразу.
## Необходимые разрешения
1. Если проект реализует не сама Нетология, то необходимо письменное разрешение на проведение тестирования от владельца веб-сайта Нетологии.;
2. Доступ к API и БД (доступ к действующей базе данных несет определенные риски) для проверки результатов выполнения тестов;
3. Техническая документация, для понимания валидных и невалидных данных и др. требований.
4. API для отправки GET и POST запросов на сервер.
## Риски
1. Отсутствие технической документации.
2. Не значительное изменение реализации веб-элементов на странице, могут привести к падению ранее написаных авто-тестов.
3. Фвто-тесты не проверяют графический интерфейс (GUI) сайта;
4. Возможно "Замусовариние" бызы данных;
5. Ложные срабытывания по отправке форм, что в свою очередь может увеличить нагрузку по обработке данных.
## Требуемые специалисты
QA Engineer
## Оценка рисков
Ориентировочное время реализации: 30 человекочасов. Возможно распараллеливание проекта, так как сценарии перехода на страницу не зависят от сценариев заполнения и отправки формы.