Тип работы:
Предмет:
Язык работы:


Разработка системы автоматизированного тестирования front-end части приложения для операторов сотовой связи Мегафон

Работа №131277

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы33
Год сдачи2016
Стоимость4200 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
55
Не подходит работа?

Узнай цену на написание


Введение 5
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
310.1.3. Количество багов, найденных автотестами . . . . 28
10.1.4. Трудоёмкость тестирования . . . . . . . . . . . . . 28
Заключение 30
Планы на будущее 31
Список литературы

Автоматизированное тестирование является неотъемлемой частью современного подхода к разработке программного обеспечения. Организация системы автоматического тестирования позволяет идентифицировать ошибки функциональности и дизайна приложения на всех этапах его создания.
Преимущества, которые предоставляет система:
• При любом изменении, внесенном программистом в код, запускается тестовый сценарий, проверяющий корректную работу прежней и новой функциональности. Таким образом, разработчик всегда уверен в том, что его действия не повлекли за собой ошибок работы приложения. А если ошибка возникла, то отчёт о прохождении тестов позволит точно идентифицировать место и причину сбоя.
• Автоматизированное тестирование значительно сокращает время разработки ПО, так как заменяет процесс ручного тестирования.
Кроме того, автономные тесты способны работать для разных форм и приложений. Таким образом, один раз написанный тест может служить инструментом для поиска ошибок многократно.
• Случайный подход генерации данных, используемых в тестах, позволяет найти непредвиденные ошибки. Так как очень часто машина способна сгенерировать тестовый пример, который ручной
тестировщик мог не предусмотреть.
• История прохождения тестов на разных этапах разработки даёт ценную статистическую информацию: среднее количество ошибок при разработке одной формы, прохождении одного спринта (если речь идёт о компаниях, поддерживающих гибкие методологии разработки), за всё время создания продукта; время, потраченное на исправление ошибок; типы ошибок, их процентное соотношение. Такого рода информация может быть представлена заказчику, а также активно использоваться при дальнейшей разработке, чтобы на её основании улучшить процесс, устраняя недостатки предыдущих релизов. Кроме того, информация может быть использована при прохождении проверок компании на соответствие тому или иному мировому стандарту.
Не смотря на все перечисленные преимущества автоматизированного тестирования, в большинстве IT компаний понятие ручного тестирования не превратилось в атавизм. Это происходит из-за того, что создание подобной системы является нетривиальной и очень специфической задачей. В зависимости от функциональности разрабатываемого ПО, языков и средств программирования, задача организации системы кардинально меняется, приобретая свои персональные проблемы

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Был реализован полный жизненный цикл построения системы автоматизированного тестирования от создания схемы хранения и расширения стандартных методов до запуска и получения отчетов о прохождении тестов.
Данная система позволяет:
• легко расширять набор стандартных методов для работы с элементами страницы, пользуясь разработанными классами для компонентов. А также расширять стандартные методы для проверок,
внедрять новые локаторы для поиска.
• описывать тест-кейсы, «переводя» их на язык программирования.
Схема написания тестов позволяет однозначно сопоставлять шаги сценария с программными блоками автотестов
• многократно использовать автономные тесты компонентов для различных страниц и приложений
• легко ориентироваться в созданных методах благодаря автоматически генерирующейся документации
• получать исчерпывающий отчёт о прохождении тестов, позволяющий однозначно определить шаг, в котором произошла ошибка.
Также отчёт позволяет посмотреть лог и скриншот ошибки, что значительно уменьшает сложность поиска причины возникновения ошибки
• Проверять корректность внесённых изменений за счёт автоматически запускающихся сценариев
В настоящий момент система полностью реализована. Процесс написания тестовых сценариев максимально упрощен. Им занимается уже целая команда тестировщиков. Автоматические тесты помогают найти большой процент программных багов и сократить трудозатраты на ручной прогон сценариев.


[1] Chai Assertion Library. –– URL: http://chaijs.com/.
[2] Duvall Paul, Matyas Stephen M., Glover Andrew. Continuous
Integration: Improving Software Quality and Reducing Risk (The
Addison-Wesley Signature Series). –– Addison-Wesley Professional,
2007. –– ISBN: 0321336380.
[3] Fowler Martin. –– PageObject, 2013. –– URL: http://martinfowler.
com/bliki/PageObject.html.
[4] GRUNT. The JavaScript Task Runner. –– URL: http://gruntjs.
com/.
[5] Google. –– AngularJS. –– URL: https://angularjs.org.
[6] Graham Dorothy. –– ROI of test automation:benefit and cost, 2010. ––
URL: http://www.dorothygraham.co.uk/downloads/generalPdfs/
ProfTesterROI.pdf.
[7] Head First Design Patterns / Elisabeth Freeman, Eric Freeman,
Bert Bates, Kathy Sierra. –– O’ Reilly & Associates, Inc., 2004. ––
ISBN: 0596007124.
[8] Jasmine. Behavior-Driven JavaScript. –– URL: http://jasmine.
github.io/.
[9] JetBrains. –– TeamCity - Powerful Continuous Integration out of the
box. –– URL: https://www.jetbrains.com/teamcity.
[10] Mocha: simple, flexible, fun. –– URL: https://mochajs.org/.
[11] Modern Test Case Management Software for QA and Development
Teams. –– URL: http://www.gurock.com/testrail/.
[12] Osherove Roy. The Art of Unit Testing: With Examples in .Net. –– 1st
edition. –– Greenwich, CT, USA : Manning Publications Co., 2009. ––
ISBN: 1933988274, 9781933988276.
32[13] Protractor - end-to-end testing for AngularJS. –– URL: http://www.
protractortest.org.
[14] ROI в автоматизации тестирования, 2013. –– URL: http://
bugscatcher.net/archives/2920.
[15] Screenshot Reporter for Protractor. –– URL: https://www.npmjs.
com/package/protractor-screenshot-reporter.
[16] SonarSource. –– SonarQube. –– URL: http://www.sonarqube.org.
[17] Standalone test spies, stubs and mocks for JavaScript. –– URL: http:
//sinonjs.org/.
[18] UWEBDRIVER I/O Selenium 2.0 bindings for NodeJS. –– URL: http:
//webdriver.io/.
[19] Use JSDoc. –– URL: http://usejsdoc.org/.
[20] ltd Cucumber. –– Cucumber. Simple, human collaboration. –– URL:
https://cucumber.io.
[21] Алексей Баранцев. Онлайн-курс «Программирование на Python
для тестировщиков». –– URL: http://software-testing.ru/
trainings/schedule?task=3&cid=233.
[22] Лилия Сапурина. Система автоматизированного тестирования web-приложений на Python. –– URL: https://github.com/
liliasapurina/python_training.
[23] Метрики в тестировании, 2012. –– URL: http://blog.shumoos.com/
archives/271.
[24] Тестирование и качество ПО. –– URL: http://software-testing.
ru/.

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ