ВВЕДЕНИЕ 4
ГЛАВА l АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 6
1.1 Исследование видов IT-проекта 6
1.2 Методы проектирования и создания тест-кейсов 12
1.2.1 Доменный анализ 13
1.2.2 Тестирование парных значений 17
1.2.3 Таблицы принятия решений 20
1.2.4 Диаграмма состояний и переходов 21
1.3 Инструменты для создания тест-кейсов 24
1.4 Исследовательское тестирование 27
Вывод 28
ГЛАВА 2 ОБОБЩЕННЫЙ АЛГОРИТМ ОПРЕДЕЛЕНИЯ НАБОРА
ИНСТРУМЕНТОВ ТЕСТИРОВАНИЯ ПО 29
2.1 Описание алгоритма 29
2.2 Формальная постановка задачи 34
2.2.1 Классическая задача о рюкзаке 34
2.3 Оценка тестирования 36
2.3.1 Оценка времени на проектирования и создание тестовых случаев . 37
2.3.2 Оценка времени на проверку тестовых случаев 39
2.4 Документация в проекте 40
Вывод 42
ГЛАВА 3 ПРИМЕНЕНИЕ АЛГОРИТМА ПОСТРОЕНИЯ ТЕСТ-
КОМПЛЕКТА НА РЕАЛЬНЫХ ЗАДАЧАХ 43
3.1 Проект А. Веб-приложения для государственного учреждения 43
3.2 Проект Б. Мобильное приложение 47
3.3 Проект В. Чат-бот в Telegram 50
3.4 Проект Г. «Сайт агрегатор для бронирования и покупки» 53
Вывод 57
ЗАКЛЮЧЕНИЕ 58
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 60
Качество программного продукта определяется по нескольким критериям. Качественный программный продукт должен отвечать функциональным и нефункциональным требованиям, в соответствии с которыми он создавался, иметь ценность для бизнеса, отвечать ожиданиям пользователей.
В жизненном цикле управления приложениями качество должно отслеживаться на всех этапах жизненного цикла ПО. Оно начинает формироваться с определения необходимых требований. При задании требований необходимо указывать желаемую функциональность и способы проверки её достижения.
Качественный программный продукт должен обладать высоким потребительским качеством, независимо от области применения: внутреннее использование разработчиком, бизнес, наука и образование, медицина, коммерческие продажи, социальная сфера, развлечения, веб и др. Для пользователя программный продукт должен удовлетворять определенному уровню его потребностей.
Тестирование программного продукта позволяет на протяжении всего жизненного цикла ПО гарантировать, что программные проекты отвечают заданным параметрам качества. Главная цель тестирования - определить отклонения в реализации функциональных требований, обнаружить ошибки в выполнении программ и исправить их как можно раньше в процессе выполнения проекта.
На протяжении всего жизненного цикла разработки ПО применяются различные типы тестирования для гарантии того, что промежуточные версии отвечают заданным показателям качества. При этом применяются автоматические и ручные тесты.
Каждый специалист по качеству сталкивается с проблемой становления процесса тестирования. Особенно это наблюдается в молодых компаниях, стартапах.
Актуальность задачи формирования тест-комплекта объясняется тем, что становится существенной проблема оформления тестовых случаем. Данная проблема влияет на оценку тестирования, и в свою очередь на качество продукта.
Учитывая вышесказанное, новизна данной работы заключается в использовании алгоритма с пошаговым оцениванием времени на использование тех или иных инструментов для тестирования ПО.
Существенной проблемой становится оформление тест-кейсов и оценка времени тестирования приложения.
Объектом диссертационного исследования является процесс обеспечения качества продуктов IT-компании.
Предмет исследования - инструменты тестирования ПО.
Цель диссертационного исследования состоит в создании инструментария для определения оптимального набора тест-комплекта IT- проекта.
Поставленная цель достигается путем решения следующих задач:
1. Исследование особенностей и классификация видов IT-проектов.
2. Анализ современных инструментов тестирования, позволяющих ускорить создание тестовой документации.
3. Разработка алгоритмов построения тест-комплекта, обеспечивающих минимизацию использования ресурсов разработчика.
4. Формальная постановка задачи формирования тест-комплекта.
5. Применение предлагаемых инструментов на реальных проектах.
В данной диссертационной работе было проведено исследование классификации IT-проектов, были выбраны инструменты тестирования и методы проектирования тестовых случаем, также разработан алгоритм для выбора оптимального тест-комплекта, приведены результаты использования алгоритма.
В первой главе рассматриваются различные типы проектов, а также методы проектирования и написания тестовых случаев.
Рассмотренные методы проектирования являются базовыми в тест- анализе. Так же для них необходим низкий порог входа, что позволяет тестировщикам любой квалификации использовать их. Одним из результатов было участие в II научно-практической конференции аспирантов с темой «Чек-листы и чит-листы как инструмент тестирования»
Касательно классификации IT-проектов, то для оценки тестирования необходимо знать о времени и бюджете проектов, чему удовлетворяет деление по масштабу и длительности.
Во второй главе описан алгоритм, позволяющий получить полную оценку тестирования, разбитую на этапы и набор инструментов для формирования тестового комплекта. Формальная постановка задачи позволяет автоматизировать процесс оценки тестирования.
Также из описанных методов оценки проектирования был выбран - метод грубой экспертной оценки. Данный метод не привязывается к количеству тестировщиков на проекте и является быстрым в применении.
Для оценки времени выполнения тестов был выбран метод индуктивной оценки. Данный метод учитывает не только время на проверку тестовых случаев, но время на подготовку окружения и ознакомления с системой (если вы тестируете продукт в первый раз).
В третьей главе приведены результаты использования алгоритма. Разработанный алгоритм позволяет дать оценку, которая совпадет с погрешностью 10-15% с реальным временем тестирования.
При накоплении данных, в дальнейшем можно улучшить алгоритм изменив проценты отбрасывания методом и инструментов на каждом этапе, а также модифицировать методы оценки.
1. Glenford, J. M. The Art of Software Testing / J. Myers Glenford - New York: John Wiley & Sons, Inc., 1979. - 300 c.
2. Copeland, Lee. A Practitioner's Guide to Software Test Design / Lee Copeland - London: Artech House Publishers, 2003. - 320 c.
3. Patton, Ron. Software Testing: учебное пособие / Ron Patton - USA: Sams Publishing, 2001. - 389 c.
4. Whittaker, James A. Exploratory Software Testing / James A. Whittaker - USA: Pearson Education, 2009. - 270 c.
5. Блэк, P. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование: пер. с англ / Рекс Блэк - Москва: Лори, 2011. - 544 с.
6. Куликов, С. Тестирование программного обеспечения. Базовый курс. Версия книги 1.0.3 от 07.09.2015 [Электронный ресурс]. Режим доступа: https://svyatoslav.biz/software_testing_book/ (дата обращения: 15.05.2017).
7. Официальный сайт веб-сервиса Sitechco [Электронный ресурс]. Режим доступа: http://www.sitechco.ru/ (дата обращения: 20.01.2017).
8. Кайер, С. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений: Пер. с англ. / Сэм Кайер, Джек Фолк, Енг Кек Нгуен. - К.: ДиаСофт, 2001. - 544 с.
9. Бейзер, Б. Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем / Б. Бейзер. — СбП: Питер, 2004. — 320 с.
10. Стандартный глоссарий терминов, используемых в тестировании
программного обеспечения [Электронный ресурс] / пер. А. Александров [и др.]. 2014. Режим доступа:
http: //www.rstqb .org/fileadmin/user_upload/redaktion/rstqb_ru/downloads/ISTQB _Glossary_Russian_v2.3.pdf (дата обращения: 15.09.2015).
11. Калбертсон, Роберт. Быстрое тестирование: Пер. с англ./Роберт Калбертсон, Крис Браун, Гэри Кобб. - Москва: Издательский дом «Вильямс», 2007. -374 с.
12. Тамре, Луиза. Введение в тестирование программного обеспечения: Пер. с англ. -Москва: Издательский дом «Вильямс», 2003. -368 с.
13. Про Тестинг - Тестирование Программного Обеспечения: [Электронный ресурс], Режим доступа: http://www.protesting.ru/ (Дата обращения: 27.04.2017).
14. Постовалова, А.С. Чек-листы и чит-листы как инструмент тестирования / А.С. Постовалова // Сборник трудов II научно-практической конференции аспирантов, преподавателей, ученых конференции. - 2016. - 37¬38 c.
15. Управление проектами: основы профессиональных знаний. Национальные требования к компетентности специалистов/Под ред. В.П. Воропаева. -М.: СОВНЕТ, Кубе Групп, 2001. -265 с.
16. Хилл, Чапел, Мифический человеко-месяц, или Как создаются программные системы: пер. с англ./ Фредерик Брукс, Хилл Чапер. - Санкт- Петербург: Символ-Плюс, 2010. - 304 с.
17. Савкин, В. Принципы управления качеством программ. // «Открытые системы», №6, 2008 г. -С.49-53.
18. Сергеева, А. Инструменты тестировщика, или С чего начать новичку. // «Системный администратор», №7-8, 2014 г. - 70-74 c.
19. Software Testing Tutorial: [Электронный ресурс], Режим доступа: https://www.tutorialspoint.com/software_testing/index.htm (Дата обращения: 02.05.2017).
20. База знаний по тестированию: [Электронный ресурс], Режим доступа: http://qalight.com.ua/baza-znaniy/qa-qc-i-testirovanie/ (Дата обращения: 02.05.2017).
21. Galin, D. Software Quality Assurance: from theory to implementation. / G. Galin. - London: Pearson Education Limited, 2004. - 590 c.
22. Майерс, Г. Искусство тестирования программ/Пер. с англ. под ред. Б. А. Позина. -М.: Финансы и статистика, 1982. -176 с.
23. Лайза, Криспин. Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд / пер. с англ под ред Н. Мухин / Лайза Криспин, Джанет Грегори - Москва: Вильямс, 2016. - 464 с.
24. Обзор методов разработки алгоритмов: [Электронный ресурс], режим доступа: https://petrsu.ru/files/document/uploads/algol.pdf (дата обращения: 15.05.2017)
25. ГОСТ 28806-90 «Качество программных средств. Термины и определения». -М.: ИПК Изд-во стандартов, 2001. -35 с.
26. Планирование трудозатрат на тестирование: [Электронный ресурс], Режим доступа: https://habrahabr.ru/company/ibm/blog/94686/ (Дата обращения: 02.04.2017).
27. ISO/IEC 9126-1:2001. Software engineering -Software product quality - Part 1: Quality model.
28. Сокращение затрат на обеспечение качества программных
продуктов: [Электронный ресур], Режим доступа:
https://habrahabr.ru/company/ibm/blog/94686/ (дата обращения: 28.03.2017).
29. Оценка трудоемкости и сроков разработки ПО: [Электронный
ресурс], Режим доступа:
http://www.arkhipenkov.ru/resources/sw_proj ect_estimation.pdf (дата
обращения: 28.03.2017).
30. Тест-дизайн: [Электронный ресурс], Режим доступа:
https://qaevolution.ru/testovaya-dokumentaciya/test-dizajn/ (дата обращения 28.04.2017).
31. Ad-hoc testing: [Электронный ресурс], Режим доступа: https://qaevolution.ru/testirovanie-po/vidy-testirovaniya-po/ad-hoc-testing/ (дата обращения 28.04.2017).