Тестирование ПО. Тестирование. Реферат актуальность. Основной всплеск интереса к теме тестирования пришёлся на 90е годы и начался в сша. Бурное развитие систем автоматизированной разработки
Скачать 2.21 Mb.
|
Министерство образования и науки Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Уральский федеральный университет имени первого Президента России Б.Н.Ельцина» Институт радиоэлектроники и информационных технологий - РтФ Кафедра информационных технологий ДОПУСТИТЬ К ЗАЩИТЕ Зав. Кафедрой ИТ _Л.Г. Доросинский____ ___________________________________ «______»_____________________2014 г. РАЗРАБОТКА МЕТОДИКИ ТЕСТИРОВАНИЯ ПО ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 230100.68 000000 005 ПЗ Руководитель ________________ Спиричева Н.Р. Нормоконтролер______________ Аксенов К.А. Студент гр. __________________ Иванов Е.С. Екатеринбург 2014 г. 2 РЕФЕРАТ Актуальность. Основной всплеск интереса к теме тестирования пришёлся на 90-е годы и начался в США. Бурное развитие систем автоматизированной разработки ПО (CASE-средств) и сетевых технологий привело к росту рынка производства ПО и к пересмотру вопросов обеспечения качества и надёжности разрабатываемых программ. Резко усилившаяся конкуренция между производителями ПО потребовала особого внимания к качеству создаваемых продуктов, т.к. теперь у потребителя был выбор: многие фирмы предлагали свои продукты и услуги по достаточно приемлемым ценам, а потому можно было обратиться к тем, кто разработает программу не только быстро и дёшево, но и качественно. Ситуация осложнилась тем фактом, что в настоящее время компьютеризации подвержены практически все области человеческой жизни. И вопрос о качестве по начинает приобретать особую важность: сегодня это уже не только комфорт от работы в той или иной программе, сегодня ПО управляет оборудованием в больницах, диспетчерскими системами в аэропортах, атомными реакторами, космическими кораблями и т.д. Осознав тот факт, что обеспечение высокого качества разрабатываемого ПО – это реальный путь «обойти» конкурентов, многие компании во всём мире вкладывают всё больше средств в обеспечение качества своих продуктов, создавая собственные группы и отделы, занимающиеся тестированием, или передавая тестирование своих продуктов сторонним организациям. Наиболее крупные компании, заботящиеся о своей репутации и желающие пройти сертификацию на высокий уровень CMMI (Capability Maturity Model Integration) создают свои собственные системы управления качеством (Quality Management System), направленные на постоянное совершенствование производственных процессов и постоянное повышение качества ПО. Сегодня тестирование стало обязательной частью процесса производства ПО. Оно направлено на обнаружение и устранение как можно большего числа ошибок. Следствием такой деятельности является повышение качества ПО по всем его характеристикам. Анализ актуальности обусловили выбор темы исследования: «Разработка методики тестирования ПО». Гипотеза исследования состоит в том, что независимо от количества методик тестирования, нету одной единой техники, с помощью которой можно было бы выявить, что ПО не содержит ошибок. Целью исследования является изучение процесса тестирования, видов дефектов в ПО и их отслеживание, способов создания и применения тест кейсов, и, на основе полученных знаний, 3 разработка проекта авто-тестов для веб-сервиса "Эксперт". Дополнительной целью является проведение нагрузочного тестирования для веб-сервиса "Эксперт" Для достижения поставленной цели необходимо решить следующие задачи: понять какое место занимает тестирование в разработке ПО; полностью ознакомиться с процессом тестирования в IT-компаниях; рассмотреть самые известные виды дефектов и причины их возникновения, а также системы отслеживания ошибок; познакомиться с техниками создания тестов и их применения; обзор ПО для нагрузочного тестирования; выбор ПО для проведения нагрузочного тестирования веб-сервиса "Эксперт"; изучить процесс автоматизации функционального тестирования; разработать проект автоматизации для начинающих тестировщиков; разработать проект авто-тестов для веб-сервиса "Эксперт". Объектом исследования является процесс тестирования ПО в IT-компаниях. Предметом исследования являются техники создания тест кейсов и возможность их автоматизации. Методы исследования включают в себя: методы тестирования программного обеспечения; методы определения качества продукта; методы верификации программного обеспечения; методы автоматизации тест-кейсов. Теоретической основной исследования стали: отечественные и зарубежные исследования по обеспечению качества программного обеспечения; публикации на сайтах, посвященные тестированию программного обеспечения. Теоретическая и практическая значимость работы заключается в том, что на основе полученных знаний: 1) можно в короткий срок ознакомиться с необходимой теорией по тестированию ПО, которая может помочь в успешном прохождении технического собеседования для устройства на работу тестировщиком; 2) по собранному материалу можно оформить методическое пособие для студентов и включить в программу обучения в качестве дополнительного курса "Тестирование ПО"; 3) пазработан проект авто-тестов для веб-сервиса "Эксперт" и введен в эксплуатацию. 4 На защиту выносятся следующие положения: 1) процесс тестирования ПО в IT-компаниях; 2) нагрузочное тестирование; 3) проект авто-тестов для веб-сервиса "Эксперт". Апробация результатов исследования и публикации. Проект авто-тестов для веб-сервиса "Эксперт" введен в эксплуатацию. Структура и объём работы. Выпускная квалификационная работа состоит из введения, 12 глав и заключения, изложенных на 106 страницах, а также списка литературы и приложений. В работе имеется 55 рисунков. Список литературы содержит 15 наименований. 5 СОДЕРЖАНИЕ НОРМАТИВНЫЕ ССЫЛКИ ...................................................................................................................... 7 ВВЕДЕНИЕ ................................................................................................................................................ 10 1 ОПРЕДЕЛЕНИЕ ТЕСТИРОВАНИЯ ..................................................................................................... 12 2 ЖИЗНЕННЫЙ ЦИКЛ ПРОДУКТА И ТЕСТИРОВАНИЯ ................................................................. 13 3 МЕСТО ТЕСТИРОВАНИЯ В ПРОЦЕССЕ РАЗРАБОТКИ ПО ......................................................... 15 4 МЕТОДОЛОГИЯ ТЕСТИРОВАНИЯ ................................................................................................... 17 5 УРОВНИ ТЕСТИРОВАНИЯ ................................................................................................................. 19 6 ВИДЫ ТЕСТИРОВАНИЯ ...................................................................................................................... 22 7 ПРОЦЕСС ТЕСТИРОВАНИЯ ............................................................................................................... 26 7.1 Этапы и задачи ................................................................................................................................ 26 7.2 Принципы организации тестирования .......................................................................................... 27 7.3 Планирование тестирования .......................................................................................................... 30 7.3.1 Вопросы, определяющие процесс планирования ................................................................... 30 7.3.2 Тест план .................................................................................................................................. 31 7.3.3 Виды тест планов ................................................................................................................... 33 7.4 Тестовый случай (Test case). Виды. Структура. ........................................................................... 34 7.4.1 Виды Тестовых Случаев.......................................................................................................... 34 7.4.2 Структура Тестовых Случаев (Test Case Structure) ............................................................ 34 7.4.3 Детализация описания тест кейсов ...................................................................................... 36 7.4.4 Атрибуты тест кейса ............................................................................................................ 37 8 ДЕФЕКТЫ. ПРИЧИНЫ, ОПИСАНИЕ, ОТСЛЕЖИВАНИЕ ............................................................. 41 8.1 Система отслеживания ошибок ..................................................................................................... 42 8.2 Структура баг репорта .................................................................................................................... 43 8.3 Серьезность и приоритет ошибки .................................................................................................. 44 8.4 Написание баг репорта ................................................................................................................... 45 8.4.1 Требования к обязательным полям баг репорта ................................................................. 45 8.4.2 Основные ошибки при написании баг репортов ................................................................... 46 8.4.3 Заполнение полей баг репорта ............................................................................................... 47 8.4.4 Жизненный цикл бага .............................................................................................................. 47 9 ТЕХНИКИ СОЗДАНИЯ ТЕСТОВ ДЛЯ ЧЕРНОГО ЯЩИКА ............................................................ 49 9.1 Эквивалентное разбиение ............................................................................................................... 49 9.2 Анализ граничных значений .......................................................................................................... 51 9.3 Анализ причинно-следственных связей ........................................................................................ 51 9.4 Попарное тестирование .................................................................................................................. 52 9.5 Предположение об ошибке ............................................................................................................ 54 6 10 ПРИМЕНЕНИЕ ТЕХНИК .................................................................................................................... 55 10.1 Эквивалентное разбиение и граничное условие ........................................................................ 55 10.2 Попарное тестирование ................................................................................................................ 60 10.3 Попарное тестирование с помощью PICT .................................................................................. 64 11 АВТОМАТИЗАЦИЯ. НАГРУЗОЧНОЕ ТЕСТИРОВАНИЕ ............................................................. 69 11.1 Терминология нагрузочного тестирования ................................................................................ 69 11.2 Цели нагрузочного тестирования ................................................................................................ 70 11.3 Этапы проведения нагрузочного тестирования ......................................................................... 71 11.3.1 Анализ требования и сбор информации о тестируемой системе ................................... 71 11.3.2 Анализ требований в зависимости от типа проекта ....................................................... 72 11.3.3 Конфигурация тестового стенда для нагрузочного тестирования ................................ 72 11.3.4 Разработка модели нагрузки ................................................................................................ 74 11.4 Обзор программ нагрузочного тестирования веб-сервисов ...................................................... 75 11.5 Нагрузочное тестирование с помощью Jmeter ........................................................................... 81 11.5.1 Подготовительные действия .............................................................................................. 81 11.5.2 Запись скрипта при помощи HTTP Proxy Server ................................................................ 82 11.5.3 Отладка скрипта .................................................................................................................. 83 11.5.4 Параметризация .................................................................................................................... 86 11.5.5 CSV Data Set Config ............................................................................................................... 88 11.5.6 Создание ФА .......................................................................................................................... 89 12 АВТОМАТИЗИРОВАННОЕ ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ ...................................... 94 12.1 Преимущества и недостатки ........................................................................................................ 94 12.2 Применение автоматизации ......................................................................................................... 95 12.3 Как автоматизировать ................................................................................................................... 96 12.4 Уровни автоматизации тестирования.......................................................................................... 97 12.5 Архитектура тестов ....................................................................................................................... 98 12.7 Проект по автоматизированному тестированию для начинающих ......................................... 99 12.8 Проект авто-тестов для веб-сервиса Эксперт ........................................................................... 106 12.8.1 Описание инфраструктуры страницы ............................................................................. 106 12.8.2 Написание тест кейсов ...................................................................................................... 109 ЗАКЛЮЧЕНИЕ ........................................................................................................................................ 111 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ .............................................................................. 112 ПРИЛОЖЕНИЕ А .................................................................................................................................... 113 ПРИЛОЖЕНИЕ Б .................................................................................................................................... 116 7 НОРМАТИВНЫЕ ССЫЛКИ В пояснительной записке использованы ссылки на следующие стандарты: ГОСТ 7.32-2001 Отчет о научно-исследовательской работе. Структура и правила оформления ГОСТ 34.602-89 Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы ЕСПД ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению СТП УГТУ-УПИ 1-96 Стандарт предприятия. Общие требования и правила оформления дипломных и курсовых проектов (работ) 8 ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ В пояснительной записке используются следующие определения, обозначения и сокращения: ПО Программное обеспечение CMMI Capability Maturity Model Integration - комплексная модель производительности и зрелости – набор моделей (методологий) совершенствования процессов в организациях разных размеров и видов деятельности. CMMI содержит набор рекомендаций в виде практик, реализация которых, по мнению разработчиков модели, позволяет реализовать цели, необходимые для полной реализации определенных областей деятельности IEEE Institute of Electrical and Electronics Engineers - Институт инженеров по электротехнике и электронике международная некоммерческая ассоциация специалистов в области техники, мировой лидер в области разработки стандартов по радиоэлектронике и электротехнике RUP Rational Unified Process - рациональный унифицированный процесс разработки программного обеспечения, созданный компанией Rational Software Баг В программировании жаргонное слово, обычно обозначающее ошибку в программе или системе, которая выдает неожиданный или неправильный результат ISO 9660 Стандарт, выпущенный Международной организацией по стандартизации, описывающий файловую систему для дисков CD-ROM I/O Ввод/вывод - взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации. Ввод — сигнал или данные, полученные системой, а вывод — сигнал или данные, посланные ею (или из неё) MDAC Microsoft Data Access Components — совокупность технологий компании Microsoft, позволяющих получить унифицированный способ доступа к данным из различных реляционных и не реляционных источников. Термин MDAC является общим обозначением для всех разработанных компанией Microsoft технологий, связанных с базами данных 9 ООП Объектно-ориентированное программирование ОПФ Организационно-правовая форма FTP File Transfer Protocol - стандартный протокол, предназначенный для передачи файлов по TCP-сетям JDBC Java DataBase Connectivity - платформенно-независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД СУБД Система управления базами данных |