136721_at_03

advertisement
Автоматизация тестирования
План
1. Применение автоматизированного
тестирования
2. Выбор инструментария
3. Процесс автоматизации (IBM Rational)
 GUI
 тестирование производительности
 нагрузочное тестирование
 тестирование Web приложений
4. Обзор основных инструментов
5. Проблемы автоматизации тестирования
Применение автоматизированного тестирования: цели
 Значительное сокращение времени выполнения
повторяющихся тестовых операций (regression testing)
 Качественное тестирование производительности,
Web приложений
 Единственно возможный способ тестирования
нагрузки
 Оптимизация тестирования: перераспределение
ресурсов отдела тестирования
Применение автоматизированного тестирования: критерии
 Долгосрочный проект
 Формализованный проект (наличие тест плана,
наборов тест кейсов)
 Необходимость большого числа итераций
(повторений кейсов от релиза к релизу)
Выбор инструментария
Критерии анализа инструментария:
 Поддерживаемые процессы тестирования
 Поддержка различных типов тестов
 Поддерживаемые технологии
 Документальная поддержка
 Техническая поддержка
 Время на обучение персонала
Процесс автоматизации: GUI
Functional + Regression
GUI scripts (Graphical User Interface): автоматизация
функционального тестирования
Скрипт – логически законченная часть кода, сохраненная в
отдельном файле и являющаяся программной реализацией
конкретного тест-кейза
Основной способ создания скрипта – работа «тестового
драйвера» - Playback/Record
Процесс автоматизации: тестирование производительности
Performance testing
– проверка удовлетворения специфических требований,
предъявляемых к параметрам производительности
 Скрипты с таймерами
 Add-inns
Процесс автоматизации: нагрузочное тестирование
Stress testing
– тестирование с превышением нагрузки на систему,
отслеживание поведения системы на всем протяжении
повышения загрузки
VU (Virtual User)
Процесс автоматизации: Web приложения
Тестирование Web приложений
- совмещение функционального, нагрузочногоо
тестирования и тестирования производительности
 GUI
 performance
 virtual users
Обзор инструментов: основные игроки рынка
 IBM Rational
 Mercury Interactive
 Segue
 LDRA
IBM Rational
 Rational Test Manager
- управление тестированием
 Rational Robot
- функциональное и нагрузочное тестирование
 Rational XDE Tester (Rational Functional Tester for Java and Web)
- «eXtended Development Environment»; функциональное
тестирование Java и Web приложений
 Rational PurifyPlus (Purify, PureCoverage, Quantify)
- анализ работы системы в режиме RunTime: контроль над
ошибками доступа памяти, определение покрытия кода,
измерение перфоманса
Mercury
 WinRunner
- функциональное тестирование
 QuickTest Pro
- инструмент для тестирования Web приложений
XRunner
- поддержка Java приложений
 LoadRunner
- тестирование перфоманса
Segue
 SilkCentral Test Manager
- управление тестированием
 SilkCentral Performance Manager + Silk Performer
- тестирование производительности и управление им
 Silk Test
- инструмент функционального тестирования
LDRA
 LDRA Testbed
- тестирование «белого ящика» (покрытие кода, анализ
источника кода)
 TBreq
- автоматизация управления требованиями
 TBRun
- тестирование юнитов (unit testing)
Проблемы автоматизации тестирования
Основные трудности автоматизации тестирования ПО:
время
 Необходимость постоянного обновления тестовых
скриптов
 Интерпретация и анализ результатов тестов
 Автоматизация применима только в хорошо
формализованной среде
Требования к системе тестирования
• Основные свойства, которыми должна обладать вновь
разрабатываемая система автоматизированного
тестирования:
– Наличие специального хранилища тестов, позволяющего работать
в многопользовательском режиме, и проводить версионный
контроль сделанных изменений, так как тесты подвержены частым
изменениям.
– Наличие центрального хранилища тестовых ресурсов.
– Наличие системы управления тестовыми ресурсами.
– Наличие системы функционального автономного тестирования
– Наличие средств построения отчетов и количественной оценки
качества текущей версии продукта.
– Наличие системы распределения процесса тестирования.
Основные компоненты системы
автоматизированного тестирования
Основные компоненты системы
автоматизированного тестирования
Система
управления
тестовыми
ресурсами
Система
распределенного
тестирования
Хранилище
тестов
Система
автономного
тестирования
Конвертер
GUI
Средства
построения
отчетов
Система распределенного тестирования
• Для того чтобы быстро и полно протестировать текущую версию
выпускаемого продукта, необходимы большие вычислительные ресурсы.
Известно, что зачастую в организациях по разработке программного
обеспечения компьютеры в ночное время никак не используются. Возникла
идея использовать эти вычислительные ресурсы, имеющиеся в нашем
распоряжении, для проведения автономного тестирования. Появилась задача
разработки системы распределения тестовых заданий по компьютерам.
• Для организации подобной системы на каждом компьютере, участвующем в
процессе распределенного тестирования, запускается независимый процесс,
который выполняет следующие задачи:
– сигнализирует о том, что данный компьютер активен и участвует в
процессе тестирования;
– отслеживает очередь задач для локального компьютера;
– запускает систему автономного тестирования.
Система распределенного тестирования
Система
распределенного
тестирования
Система
запуска
Система
автономного
тестирования
Система
запуска
Задание1
Задание3
Задание2
Задание4
Система
автономного
тестирования
Режим готовности
Активный режим
Планировщик
заданий
Планировщик
заданий
Очередь заданий
Задание6
Задание5
Пример отчета об автоматическом
тестировании
Download