Средства автоматизированного тестирования
Реферат, 22 Января 2012, автор: пользователь скрыл имя
Краткое описание
Тестирование — один из важнейших этапов контроля качества в процессе разработки программного обеспечения.
Содержание
Тестирование
Автоматизация тестирования
Выбор инструмента
Средства от IBM Rational
Наследие Mercury
Примеры
Вложенные файлы: 1 файл
С.р. - Тестирование.docx
— 75.11 Кб (Скачать файл)Помимо собственно средств тестирования существуют так называемые средства поддержки процесса тестирования, позволяющие вести учет требования и тест-кейсов, проводить анализы покрытия требования тестами, управлять ходом выполнения тестирования, вести учет обнаруженных дефектов и т.п. Лидирует в данной области Web-приложение HP Quality Center – единый инструмент управления процессом тестирования (включая управление требованиями и дефект-менеджмент), интегрируемый со средствами функционального и нагрузочного тестирования HP QuickTest Professional и LoadRunner. С данным инструментом конкурирует продукт Rational Quality Manager (RQM) от IBM, представляющий собой Web-приложение на платформе Jazz.
Исторически сложилось так, что Россия отстает от остального компьютерного мира по применению средств автоматизации тестирования, и для этого, на мой взгляд, есть несколько причин. Во-первых, неправильное отношение к тестированию как таковому – многие руководители до сих пор считают, что разработчик может написать программу, которая не содержит ошибок. Во-вторых, высокая стоимость инструментов автоматизации тестирования. В-третьих, желание сэкономить на квалифицированных кадрах – работа специалиста по средствам автоматизации тестирования обходится дороже, чем труд обычного тестировщика, поэтому многие компании предпочитают пригласить трех студентов, которые будут вручную тестировать программное обеспечение (в большинстве случае к тому же бессистемно), чем нанять одного специалиста-автоматизатора. В-четвертых, ограничение по срокам – автоматизация тестирования требует значительных временных затрат и имеет смысл только в том случае, если проект как минимум среднесрочный (от полугода и более). И наконец, в-пятых, неудачный опыт применения таких средств и ожидание мгновенного эффекта от их внедрения. А ведь результаты внедрения таких продуктов заметны далеко не сразу и затраты на автоматизацию окупаются за длительный период времени, что не позволяет полностью отказаться от тестирования вручную.
Принято разделять тестирование по уровням задач и объектов на разных стадиях и этапах разработки ПО (см. таблицу):
- тестирование частей ПО (модулей, компонентов) с целью проверки правильности реализации алгоритмов -- выполняется разработчиками;
- функциональное тестирование подсистем и ПО в целом с целью проверки степени выполнения функциональных требований к ПО -- рекомендуется проводить отдельной группой тестировщиков, не подчиненной руководителю разработки;
- нагрузочное тестирование (в том числе стрессовое) для выявления характеристик функционирования ПО при изменении нагрузки (интенсивности обращений к нему, наполнения базы данных и т. п.) -- для выполнения этой работы требуются высококвалифицированные тестировщики и дорогостоящие средства автоматизации экспериментов.
Этапы тестирования
| Вид тестирования | Стадия, этап | Объект | Критерий |
| Структурное, надежности | Разработка | Компоненты | Покрытие ветвлений, функции |
| Сборочное | Разработка | Подсистемы | Функциональность, степень проверки компонентов |
| Функциональное | Разработка | Система в целом | Соответствие функциональным требованиям ТЗ |
| Регрессионное | Разработка, сопровождение | Система в целом | Проверка качества внесения изменений |
| Нагрузочное | Разработка, сопровождение | Система в целом | Оценка статистических характеристик системы, соответствие ТЗ, ТТХ, подбор конфигурации оборудования |
| Стрессовое | Разработка, сопровождение | Система в целом | Корректность работы системы при предельных нагрузках |
Когда понятно, что и зачем нужно тестировать, и есть план действий, самое время задуматься о том, как это сделать эффективнее, быстрее и более качественно. Современное ПО
-- это сложный объект, и вручную с ним справляться трудно и дорого. К тому же при
"ручном" тестировании результаты каждого выполнения тестов пропадают, и их трудно повторить. Для того чтобы увеличить объем проверок и повысить качество тестирования, обеспечить возможность повторного использования тестов при внесении изменений в ПО применяют средства автоматизации тестирования. К их числу относятся средства автоматизации функционального и нагрузочного тестирования клиент-серверных и Web-приложений: Rational TestStudio, Mercury LoadRunner,
Segue SilkPerformer, а также менее популярные продукты фирм Compuware, CA, Empirix, RadView
Software и др.