Тема: Разработка системы автоматизированного тестирования front-end части приложения для операторов сотовой связи Мегафон
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. Постановка задачи 7
2. Обзор 9
3. Используемые инструменты 10
3.1. Фреймворк для автоматизированного тестирования ... 10
3.2. Библиотека для создания отчётов 13
3.3. Генератор документации 14
4. Структура тестируемого приложения 15
5. Структура системы автоматизированного тестирования 16
5.1. Пример 16
5.2. Схема наследования 17
5.3. Расширение matchers 18
5.4. Расширение пользовательских локаторов 18
5.5. Подключение пользовательских методов 19
6. Применение паттерна Page Object 20
6.1. Суть методологии 20
6.2. Плюсы применения 21
7. Итоговая структура каталогов системы 22
8. Тестовые сценарии и их реализация 23
9. Взаимодействие с другими продуктами 24
10. Влияние системы на процесс разработки 25
10.1. Метрики автоматизированного тестирования 25
10.1.1. Доставка бага до разработчика 26
10.1.2. Время прогона автотестов 27
10.1.3. Количество багов, найденных автотестами .... 28
10.1.4. Трудоёмкость тестирования 28
Заключение 30
Планы на будущее 31
Список литературы
📖 Введение
Преимущества, которые предоставляет система:
• При любом изменении, внесенном программистом в код, запускается тестовый сценарий, проверяющий корректную работу прежней и новой функциональности. Таким образом, разработчик всегда уверен в том, что его действия не повлекли за собой ошибок работы приложения. А если ошибка возникла, то отчёт о прохождении тестов позволит точно идентифицировать место и причину сбоя.
• Автоматизированное тестирование значительно сокращает время разработки ПО, так как заменяет процесс ручного тестирования. Кроме того, автономные тесты способны работать для разных форм и приложений. Таким образом, один раз написанный тест может служить инструментом для поиска ошибок многократно.
• Случайный подход генерации данных, используемых в тестах, позволяет найти непредвиденные ошибки. Так как очень часто машина способна сгенерировать тестовый пример, который ручной тестировщик мог не предусмотреть.
• История прохождения тестов на разных этапах разработки даёт ценную статистическую информацию: среднее количество ошибок при разработке одной формы, прохождении одного спринта (если речь идёт о компаниях, поддерживающих гибкие методологии разработки), за всё время создания продукта; время, потраченное на исправление ошибок; типы ошибок, их процентное соотношение. Такого рода информация может быть представлена заказчику, а также активно использоваться при дальнейшей разработке, чтобы на её основании улучшить процесс, устраняя недостатки предыдущих релизов. Кроме того, информация может быть использована при прохождении проверок компании на соответствие тому или иному мировому стандарту.
Не смотря на все перечисленные преимущества автоматизированного тестирования, в большинстве IT компаний понятие ручного тестирования не превратилось в атавизм. Это происходит из-за того, что создание подобной системы является нетривиальной и очень специфической задачей. В зависимости от функциональности разрабатываемого ПО, языков и средств программирования, задача организации системы кардинально меняется, приобретая свои персональные проблемы.
✅ Заключение
Данная система позволяет:
• легко расширять набор стандартных методов для работы с элементами страницы, пользуясь разработанными классами для компонентов. А также расширять стандартные методы для проверок, внедрять новые локаторы для поиска.
• описывать тест-кейсы, «переводя» их на язык программирования. Схема написания тестов позволяет однозначно сопоставлять шаги сценария с программными блоками автотестов
• многократно использовать автономные тесты компонентов для различных страниц и приложений
• легко ориентироваться в созданных методах благодаря автоматически генерирующейся документации
• получать исчерпывающий отчёт о прохождении тестов, позволяющий однозначно определить шаг, в котором произошла ошибка. Также отчёт позволяет посмотреть лог и скриншот ошибки, что значительно уменьшает сложность поиска причины возникновения ошибки
• Проверять корректность внесённых изменений за счёт автоматически запускающихся сценариев
В настоящий момент система полностью реализована. Процесс написания тестовых сценариев максимально упрощен. Им занимается уже целая команда тестировщиков. Автоматические тесты помогают найти большой процент программных багов и сократить трудозатраты на ручной прогон сценариев.



