ВВЕДЕНИЕ 3
1 Теоретические аспекты процесса тестирования 6
1.1 Определение понятия и классификация видов тестирования 6
1.2 Жизненный цикл разработки программного обеспечения и место
тестирования в нем 13
1.3 Описание процесса тестирования 15
2 Анализ предметной области и целесообразность автоматизации
тестирования в компании ООО «БФТ» на проекте «САУМИ» 19
2.1 Анализ деятельности предприятия ООО «Бюджетные и финансовые технологии» 19
2.2 Целесообразность автоматизации тестирования программного
обеспечения на проекте «САУМИ» 29
3 Разработка автоматизированных тестов программного обеспечения и расчет экономической целесообразности 32
3.1 Проектирование информационной модели предметной области 32
3.2 Разработка автоматизированных тестов программного обеспечения .... 39
3.3 Расчет экономической целесообразности автоматизации тестирования 51
ЗАКЛЮЧЕНИЕ 60
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 62
ПРИЛОЖЕНИЕ
В современном мире разрабатываются миллионы новых программных продуктов. А как известно программирование имеет человеческий фактор, и процесс разработки не возможен без ошибок. Программные продукты в ходе разработки подвергаются неоднократным изменениям и, как правило, не одним, а несколькими разработчиками. Современные компании заинтересованы в том, чтобы выпускать максимально качественный продукт в установленный срок для извлечения хорошей прибыли с наименьшими затратами. Для того, чтобы свести затраты к минимуму и выпустить качественный продукт необходимо вести контроль качества, то есть проводить тестирование на всех этапах разработки. Естественно, нельзя сказать, что затраты на тестирование не существенные. Многие компании тратят огромные суммы на создание и подержание работы департамента обеспечения качества, но данные вложения считаются вполне оправданными. Поскольку, не имея информации о качестве, нельзя выпустить достойный продукт. Можно потратить куда больше ресурсов и времени на решение неполадок постфактум и будет не удивительно, что такая компания на рынке ПО будем менее конкурентоспособна наравне с другими.
Актуальность темы заключается в том, что современные программные продукты - это сложный объект и справиться с ним «ручным методом» очень дорого и трудно. Для того что бы снизить затраты на тестирование и увеличить объем проверок применяются средства автоматизации.
Под автоматизацию обычно попадают сценарии проверки основного функционала, самых критических мест, мест сложных для проверки вручную или рутинные сценарии «ручных» тестировщиков.
Актуальность темы работы связана со значительным распространением автоматизированного тестирования и заключается в необходимости разработки рекомендаций по автоматизации работы тестировщиков.
Объект исследования: компания ООО «Бюджетные и финансовые технологии» - ведущий российский разработчик программных и консалтинговых решений для госсектора и бизнеса
Предмет исследования: проект «САУМИ» - автоматизированная система управления государственной и муниципальной собственностью.
Цель - увеличить объем проверок и снизить трудозатраты на выполнение постоянно повторяемых идентичных тестов посредством автоматизации тестирования на проекте САУМИ для предприятия ООО «БФТ».
Для достижения указанной цели поставлены следующие задачи:
- определить теоретические аспекты тестирования;
- провести анализ деятельности предприятия и основных бизнес- процессов;
- определить целесообразность автоматизации тестирования на
проекте «САУМИ»;
- спроектировать информационную модель предметной области;
- разработать автоматизированный тест программного обеспечения;
- провести анализ и расчет экономической целесообразности автоматизации тестирования.
Методы исследования:
- эксперимент;
- теоретический анализ;
- беседа;
- классификация.
Структура работы обусловлена предметом, целью и задачами исследования. Работа состоит из введения, трех глав, заключения, списка литературы и двух приложений. Содержит 25 рисунков и 4 таблицы.
Введение раскрывает актуальность, определяет степень научной разработки темы, объект, предмет, цель, задачи и методы исследования, раскрывает теоретическую и практическую значимость работы.
В первом разделе рассматриваются понятие тестирования и качества, классификация, виды и методы тестирования, жизненный цикл разработки программного обеспечения, процесс тестирования. Во втором разделе раскрываются особенности деятельности и организационной структуры предприятия, произведен анализ бизнес-процессов, определена
целесообразность автоматизации тестирования. Третий раздел посвящен проектированию информационной модели предметной области, разработке автоматизированных тестов и расчетам их экономической целесообразности.
В заключении подводятся итоги исследования, формируются окончательные выводы по рассматриваемой теме.
В данной выпускной квалификационной работе была подробно рассмотрена потребность в автоматизации процесса тестирования для компании ООО «Бюджетные и финансовые технологии» на проекте «САУМИ» в части выполнения дымового тестирования.
На этапе определения теоретических аспектов тестирования:
- изучены понятие тестирования, классификация видов тестирования;
- определение места тестирования в жизненном цикле программного обеспечения;
- рассмотрен процесс тестирования.
На этапе проведения анализа деятельности предприятия и основных бизнес-процессов:
- изучена деятельность предприятия ООО «БФТ» и организационная структура;
- описаны основные бизнес-процессы предприятия.
На этапе определения целесообразности автоматизации тестирования на проекте «САУМИ»:
- произведено сравнение трудозатрат и объема работ при ручном и автоматизированном тестировании при проведении дымового тестирования.
- определены преимущества автоматизации.
На этапе проектирования информационной модели предметной области:
- смоделирована контекстная диаграмма информационная система контроля качества выпускаемого программного продукта «САУМИ»;
- произведено разбиение контекстной диаграммы на крупные фрагменты - декомпозиция информационной системы контроля качества выпускаемого программного продукта «САУМИ»;
- в результате процедуры декомпозиции ИС определены четыре основных процесса - планирование работ, написание тест-кейсов, проведение тестирования, формирование отчетов;
- произведена декомпозиция основных, четырех процессов, для определения работ на каждом этапе, чтобы перейти к разработке.
На этапе разработки автоматизированных тестов программного
обеспечения:
- определены проблемы, которые необходимо решить;
- описаны программные средства автоматизации, которые используются в работе;
- создан проект автоматизированных тестов с помощью программных средств;
- разработан автоматизированный тестовый сценарий;
- выполнен разработанный тест в среде разработки, результат;
- описано выполнение группы автоматизированных тестов;
- описано представление отчетов по результатам выполнения групп авто-тестов.
На этапе анализа и расчета экономической целесообразности автоматизации тестирования:
- произведен анализ экономической целесообразности;
- произведен расчет экономической целесообразности, расчет
представлен в виде графиков.
1. Обеспечение качества - основные понятия и определения [Электронный ресурс]. - Режим доступа: http:ZZwww.protesting.ru/qa/. - (Дата обращения 20.04.2018)
2. Виды тестирования программного обеспечения [Электронный ресурс]. - Режим доступа: http://www.protesting.ruZtestingZtesttypes.html. - (Дата обращения 19.04.2018)
3. Введение в тестирование. Жизненный цикл разработки ПО.
[Электронный ресурс]. - Режим доступа:
https://confluence.bftcom.com/pages/viewpage.action?pageId=12493584. - (Дата обращения 20.04.2018)
4. Савин, Р. Тестирование Дот Ком, или Пособие по жесткому обращению с багами в интернет-стартапах / Р. Савин. - М: Дело, 2007. - 312 с.
5. Кенер, С. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений / С. Кенер, Д. Фолк, У. К. Нгуен. - К.: «ДиаСофт», 2001. - 544 с.
6. Процесс тестирования [Электронный ресурс]. - Режим доступа: http://www.protesting.ru/testing/testprocess.html. - (Дата обращения 20.04.2018)
7. Представительский сайт компании ООО «БФТ» [Электронный ресурс]. - Режим доступа: http://www.bftcom.com/company/. - (Дата обращения 03.05.2018)
8. Колесов, А. Методология и практика тестирования ПО
[Электронный ресурс] / А. Колесов - Режим доступа http://www.polytech21.ru/rekomendatsii-po-oformleniyu. - (Дата обращения:
03.05.2018)
9. Гребенюк, В.М. Оценка целесообразности внедрения
автоматизированного тестирования [Электронный ресурс] / В.М. Краснов - Режим доступа: https://naukovedenie.ru/PDF/13tvn113.pdf. - (Дата обращения: 10.05.2018).
10. Плагин Selenium IDE для браузера Chrome [Электронный ресурс]. -
Режим доступа: https://chrome.google.com/webstore/detail/katalon-recorder-
selenium/ljdobmomdgdljniojadhoplhkpialdid. - (Дата обращения:20.05.2018).
11. Maven [Электронный ресурс]. - Режим доступа: https://www.codenotfound.com/maven-download-install-apache-maven-3-2- windows.html. - (Дата обращения: 20.05.2018).
12. «Что такое selenium?». Автоматизация веб-приложений через
браузер [Электронный ресурс]. - Режим доступа: http://selenium2.ru/. - (Дата
обращения:20.05.2018).
13. Тестирование с помощью TestNG в Java [Электронный ресурс]. - Режим доступа: devcolibri.com/тестирование-с-помощью-testng-в-java/. - (Дата обращения:20.05.2018).
14. Положение о тестировании в проектах разработки программного
обеспечения [Электронный ресурс]. - Режим доступа:
http://www.pmprofy.ru/files/581/testing.doc. - (Дата обращения:20.05.2018).
15. Требования к программным продуктам [Электронный ресурс]. -
Режим доступа: http://referatdb.ru/geografiya/558/index.html?page=6. - (Дата
обращения:20.05.2018).
16. Стратегия автоматизации тестирования [Электронный ресурс]. - Режим доступа: http://agilerussia.ru/practices/test-automation-strategy/. - (Дата обращения:20.05.2018).
17. Hoffman, D. Cost Benefits Analysis of Test Automation [Электронный
ресурс] / D. Hoffman - Режим доступа:
http://www.softwarequalitymethods.com/papers/star99%20model%20paper.pdf. -
(Дата обращения: 25.05.2018).
18. Jonson, D. Test Automation ROI [Электронный ресурс] / D. Jonson -
Режим доступа: http://www.dijohnic.com/test_automation_roi.pdf. (Дата
обращения: 22.05.2018).
19. Kaner, C. Improving the Maintainability of Automated Test Suites
[Электронный ресурс] / C. Kaner - Режим доступа:
http://www.kaner.com/pdfs/autosqa.pdf/. - (Дата обращения: 25.05.2018).
20. SQA Days [Электронный ресурс]. - Режим доступа:
http://sqadays.com/. - (Дата обращения: 23.05.2018).
21. Тренды в тестировании [Электронный ресурс]. - Режим доступа: http://qapl.net/. - (Дата обращения: 23.05.2018).
22. Надежный тест-дизайн [Электронный ресурс]. - Режим доступа: http://www.myshared.ru/slide/498416/. - (Дата обращения: 24.05.2018).
23. Стратегия автоматизации тестирования [Электронный ресурс]. - Режим доступа: http://agilerussia.ru/practices/test-automation-strategy/. - (Дата обращения: 24.05.2018).
24. Внедрение автоматизации тестирования ПО на уровне проекта
[Электронный ресурс]. - Режим доступа: http://software-
testing.ru/library/testing/testing-automation/1004-test-automation-setting - (Дата обращения: 25.05.2018).
25. Методология и практика тестирования ПО [Электронный ресурс]. - Режим доступа: http://www.interface.ru/home.asp?artId=6981. - (Дата обращения: 25.05.2018).