В настоящее время далеко не все команды компании пользуются преимуществами автоматизированного тестирования. Часто в компанию нанимают тестировщиков для ручной проверки систем, но бывает и так, что сами разработчики занимаются тестированием продукта. Очевидно, что процесс тестирования руками разработчиков проверяет корректность системы лишь со стороны работоспособности, но не со стороны бизнес ожиданий заказчика. Такое «ручное» тестирование не позволяет всецело охватить функциональность продукта за приемлемое время, поэтому приводит к разнообразным негативным последствиям.
Актуальность автоматизации тестирования несомненно не только в ее преимуществах в скорости, что освобождает драгоценное время специалистов, но и в надежности, повышении качества испытаний, что не менее важно в современных условиях разработки программного обеспечения. Таким образом, чем надежнее и быстрее наши тесты, тем быстрее мы выявим ошибки системы и исправим их, избежав возможные убытки.
Объектом исследования является тестирование программного обеспечения — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранных определенным образом (ISO/IEC TR 19759:2005)
Предметом исследования работы является автоматизированное тестирование программного обеспечения — часть процесса тестирования на разных этапах контроля качества в процессе разработки программного обеспечения.
Цель данной курсовой работы состоит исследовании и разработке системы автоматизированного тестирования (САТ). Данная цель реализуется с помощью следующих задач:
¾ Обзор научной литературы в области тестирования программного обеспечения;
¾ Изучение предметной области САТ программного обеспечения;
¾ Выбор подходящих технологий и методов для разработки САТ;
¾ Сбор и анализ требований к разработке САТ.
¾ Проектирование САТ;
¾ Анализ и апробация результатов САТ, оценка эффективности.
Если существует наиболее сбалансированная и универсальная система автоматизированного тестирования, то мы будем идти в направлении ее реализации.
Использованные методы исследования включают в себя сравнительный анализ, синтез, изучение и реферирование источников по материалам автоматизированного тестирования.
Теоретическая значимость работы состоит в систематизации теоретических знаний по проблеме исследования. Практическая же значимость состоит в применении полученных знаний по проблеме исследования.
Введение.......................................................................................................... 3
Глава 1. Область автоматизированного тестирования................................. 5
1.1. Основные концепции тестирования...................................................... 5
1.2. Виды и типы тестирования.................................................................... 8
1.3. Теоретический основы автоматизации тестирования......................... 12
Глава 2. Технологии разработки.................................................................. 14
2.1. Сбор и анализ данных объектов тестирования.................................. 14
2.2. Детализация процесса тестирования................................................... 15
2.3. Платформа и средства разработки..................................................... 18
Глава 3. Практические результаты............................................................... 20
3.1. Описание структуры системы.............................................................. 20
3.2. Интерпретация результатов и сравнительный анализ....................... 23
3.3. Оценка эффективности системы........................................................... 24
Заключение.................................................................................................... 26
Список использованных источников............................................................ 27
1. Азарский, К. Тестирование. Легкий старт [Текст] / Константин Азарский. – М.: ДМК Пресс, 2014. – 492 с.
2. Берри, Пол. Изучаем программирование на Python [Текст] / Пол Берри.
– М.: Издательство «Э», 2017. – 611 с.
3. Блэк, Р. Ключевые процессы тестирования [Текст] / Рекс Блэк. – М.: Лори, 2014. – 368 с.
4. Брайсон, Пэйн. Python для детей и родителей. Играй и программируй [Текст] / Брайсон Пейн. – М.: Издательство «Э», 2017. – 507 с.
5. Гелбух, А. Automatic Syntactic Analysis Based on Selectional Preferences [Текст] / Alexander Gelbukh, Hiram Calvo. – ISBN 978-3-319-74054-6, eBook, 2018. – 714 с.
6. Грегори, Д. Agile-тестирование. Обучающий курс для всей команды [Текст] / Джанет Грегори и Лайза Криспин. - М.: Манн, Иванов и Фербер, 2019. – 398 с.
7. Дрисколл, М. Python 101. First Edition [Текст] / Michael Dristoll. – Black & White, 2016. – 464 с.
8. Дронов, В. А. Python 3 и PyQt 5. Разработка приложений [Текст] / Дронов Владимир Александрович. – СПб.: БХВ-Петербург, 2016. – 519 с.
9. Златопольский Д. М. Основы программирования на языке Python [Текст]
/ Златопольский Дмитрий. – М.: ДМК Пресс, 2017. – 386 с.
10. Касампалис, С. Mastering Python Design Patterns [Текст] / Sakis Kasampalis. – Packt Publishing Ltd, 2015. – 544 с.
11. Кент, Б. Экстремально программирование: разработка через тестирование [Текст] / Бек Кент. – СПб.: Питер, 2017. – 384 с.
12. Клейн, Т. Дневник охотника за ошибками. Путешествие через джунгли проблем безопасности программного обеспечения [Текст] / Тобиас Клейн. – М.: ДМК Пресс, 2011. – 634 с.
13. Корбетт, Ф. The Absolute Basics: Python 3 [Текст] / Corbett Phil. – Balck & White, 2014. – 745 с.
14. Криспин, Л. Гибкое тестирование. Практическое руководство для тестировщков ПО и гибких команд [Текст] / Лиза Криспин, Джанет Грегори. – М.: Вильямс, 2010. – 579 с.
15. Куликов, С. Тестирование программного обеспечения. Базовый курс [Текст] / Святослав Куликов. – М.: Четыре четверти, 2015. – 590 с.
16. Куликов, С. Тестирование программного обеспечения. Базовый курс. 2- е издание [Текст] / Святослав Куликов. – М.: Четыре четверти, 2017. – 488 с.
17. Любанович, Б. Простой Python. Современный стиль программирования [Текст] / Билл Любанович. – СПб.: Питер, 2017. – 539 с.
18. Майерс, Г. Искусство тестирования программ [Текст] / Гленфорд Майерс, Том Баджетт, Кори Сандлер. – М.: Вильямс, 2012. – 761 с.
19. МакГрат, М. Python. Программирование для начинающих [Текст] / МакГрат Майк. – М.: Эскмо, 2015. – 452 с.
20. Морейра, Д. An Engineer’s Guide to Automated Testing of High-Speed Interfaces. Second Edition [Текст] / Moreira Jose, Hubert Werkmann. – Norwood: Artech House, 2016. – 682 с.
21. Ошероув, Р. Искусство автономного тестирования с примерами на C#. Второе издание [Текст] / Рой Ошероув. – М.: ДМК Пресс, 2014. – 462 с.
22. Прохоренок, Н. А. Python 3. Самое необходимое [Текст] / Н. А. Прохоренок, В. А. Дронов. – СПб.: БХВ-Петербург, 2016. – 448 с.
23. Прохоренок, Н. А. Python 3 и PyQt 5. Разработка приложений. 2-е издание [Текст] / Прохоренок Николай, Дронов Владимир. – СПб.: БХВ- Петербург, 2018. – 351 с.
24. Рейтц, К. Автостопом по Python [Текст] / Рейтц Кеннет, Шлюссер Таня.
– СПб.: Питер, 2017. – 792 с.
25. Савин, Р. Тестирование dot com [Текст] / Роман Савин. – М.: Дело, 2007.
– 771 с.
26. Седер, Н. Python. Экспресс-курс. 3-е издание [Текст] / Седер Наоми. – СПб.: Питер, 2019. – 662 с.
27. Слаткин, Бретт. Effective Python. 59 Specific Ways to Write Better Python [Текст] / Slatkin Brett. – ISBN 0-13-403428-7, 2015. – 478 с.
28. Хайес, Л. The Automated Testing Handbook. Second Edition [Текст] / Linda G. Hayes. – Richardson: Software Testing Institute, 2004. – 306 с.
29. Харвани, Б. М. Qt5 Python GUI Programming Cookbook: Building responsive and powerful cross-platform applications with PyQt [Текст] / B.
M. Harwani. – Packt Publishing Ltd., 2018. – 580 с.
30. Харрисон, Мэтт. Как устроен Python. Гид для разработчиков, программистов и интересующихся [Текст] / Харрисон Мэтт. – СПб.: Питер, 2019. – 398 с.
Электронные ресурсы
31. Автоматизированное тестирование [Электронный ресурс] // Wikipedia.
– 2018. – URL: https://ru.wikipedia.org/wiki/Автоматизированное_
тестирование (Дата обращения: 15.04.2019).
32. Автоматизированное тестирование [Электронный ресурс] // GitHub. – 2016. – URL: https://gist.github.com/codedokode/ a455bde7d0748c0a351a (Дата обращения: 04.03.2019).
33. Блеск и нищета автоматизации тестирования [Электронный ресурс] // Habr. – 2017. – URL: https://habr.com/ru/ company/wrike/blog/321290/ (Дата обращения: 20.03.2019).
34. Тестирование серым ящиком [Электронный ресурс] // Wikipedia. – 2019.
– URL: https://en.wikipedia.org/wiki/Gray_box_testing (Дата обращения: 28.02.2019).
35. Тестирование. Фундаментальная теория [Электронный ресурс] // Habr.
– 2016. – URL: https://habr.com/ru/post/279535/ (Дата обращения: 12.04.2019).