- •Академия управления при президенте республики беларусь
- •Обзор литературных источников глава 1 тестирование программного обеспечения и его роль в деятельности организации
- •Понятие тестирования программного обеспечения и его виды
- •Подходы к автоматизации тестирования программного обеспечения
- •Глава 2 анализ тестирования программного обеспечения на зао «кьюликс системс»
- •Характеристика деятельности зао «Кьюликс Системс»
- •Анализ деятельности департамента тестирования по
- •Глава3 кроссплатформенная система автоматизации тестирования
- •Анализ системы автоматизации тестирования
- •Эффективность от внедрения кроссплатформенной системы автоматизации тестирования
- •Заключение
- •Список использованной литературы
- •Приложение а
Обзор литературных источников глава 1 тестирование программного обеспечения и его роль в деятельности организации
Понятие тестирования программного обеспечения и его виды
В наше время, тестирование является мощным инструментом разработки, который позволяет достичь определенного уровня качества. На данный момент в компаниях тестирование программного обеспечения занимает от 30 до 50 процентов от всей стоимости разработки.
Определение термина «тестирование программного обеспечения» приводится во многих трудах известных авторов. Например, Глен Маерс (автор «Искусство тестирования ПО»), дает следующее определение: «Тестирование - это процесс выполнения программ с намерением найти ошибки.»
Из определения можно сделать вывод, что поиск ошибок не должен находиться в центре усилий тестировщиков.
Так же известно определение термина «тестирование программного обеспечения», которое представлено Полом Йоргенсеном (автор «Тестирование программного обеспечения»): «Тестирование сфокусировано на ошибках и сбоях. Тест - выполнение действий над программным обеспечением с целью найти ошибки или продемонстрировать работоспособность.»
Итого, несмотря на фокус вокруг ошибок, определение вводит необходимое дополнение – демонстрация работоспособности.
Исходя из вышесказанного, обобщенное определение тестирования программного обеспечения должно выглядеть следующим образом: «Тестирование – процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности.»
Миссия тестирования – снизить стоимость разработки путем раннего обнаружения дефектов.
Основной целью процесса тестирования является достижение определенного уровня качества продукта или системы, которая находится в разработке.
Тестирование программного обеспечения наравне с разработкой является неотъемлемым процессом создания продукта.
Роль тестирования в разработке программного обеспечения отображена на Рисунке 1.1.

Рисунок 1.1 - Роль тестирования в разработке программного обеспечения
В зависимости от объектов тестирования выделяют следующие виды тестирования:
• Функциональное;
• Нагрузочное.
Функциональное тестирование позволяет:
• Определить соответствие заявленных функциональных требований реализованной в системе под тестом функциональности;
• Определить насколько система регрессировала по отношению к предыдущему зафиксированному состоянию;
• Убедиться в том, что выявленные и исправленные ранее ошибки не проявляются вновь;
• Выполнить прогон тестов под максимально возможным количеством поддерживаемых аппаратно-программных конфигураций;
• Использовать для прогона тестов нерабочее время тестировщиков;
• Выделить тестирование устоявшейся и новой функциональности.
Нагрузочное тестирование позволяет:
• Определить время реакции приложения;
• Определить, какое количество пользователей может поддерживать система;
• Определить оптимальную конфигурацию системы;
• Проверить производительность на различных программно-аппаратных конфигурациях;
• Проверить производительность системы при различных объемах данных;
• Определить поведение системы при стрессовой нагрузке.
Наиболее трудозатратным видом тестирования является функциональное. Этот вид тестирования занимает больше времени и человеческих ресурсов, поскольку функционально тестирование программного обеспечения преимущественно выполняется вручную. На текущий момент компаний стремятся любым образом автоматизировать часть функционального тестирования, для того чтобы уменьшить сроки выпуска продукта и затраты на услуги функциональных тестировщиков.
