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