Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Автоматизация процесса тестирования при помощи методологии и инструментальных средств IBM Rational / Автоматизация процесса тестирования при помощи методологии и инструментальных средств IBM Rational.doc
Скачиваний:
55
Добавлен:
01.05.2014
Размер:
1.06 Mб
Скачать

Типы тестов || к оглавлению данной статьи || к новостям || к услугам || в библиотеку

Тесты производительности (Performance Tests) позволяют определить, работает ли многопользовательская система в соответствии с требуемыми стандартами при изменяющихся нагрузках. В результате выполнения тестов измеряются времена отклика системы на какой-либо из запросов, и на основе собранной статистической информации делаются заключения о характеристиках системы. Тесты производительности выполняются с помощью программы LoadTest. При этом тестировании типично используется нагрузка сервера большим количеством виртуальных пользователей. Например, вы можете установить таймер для одного VU, чтобы определить, сколько времени займет выполнение запроса, когда тысячи других VU посылают запросы на тот же самый сервер в то же самое время. Термин 'тесты производительности' включает нагрузочные, стрессовые, конкурирующие и конфигурационные тесты. Совокупность этих тестов позволяет ускорить цикл тестирования производительности и достигнуть значимых и точных результатов.

Нагрузочное тестирование (Load Tests) выполняется тогда, когда нужно определить время отклика серверов или клиентских приложений при изменяющейся нагрузке. Нагрузочное тестирование также используется тогда, когда нужно вычислить, какое максимальное количество транзакций может выполнить сервер за определенный временной отрезок. Если клиент/серверная система использует распределенную архитектуру или средства балансировки нагрузки – нагрузочное тестирование может быть использовано для того, чтобы проверить правильность выбранных методов для балансирования или конструирования системы.

Нагрузочное тестирование выполняется как с использованием режима только виртуальных пользователей, когда измеряется время отклика только серверной части или комбинации виртуальных пользователей и пользователей графического интерфейса для измерения времени отклика системы для конкретного клиентского приложения.

Стрессовое тестирование (Stress Test) - это проверка работы системы в экстремальных условиях, т.е., когда испытуемая система искусственно ставится в условия, которые могут привести к сбою в работе как клиентской или серверной части приложений, так и всей системы в целом.

Способов организации стрессового тестирования может быть великое множество, например:

  • продолжительная работа клиент/серверных приложений.

  • выполнение большого количества транзакций

  • одновременное обращение к серверу большого количества пользователей выполняющих одну и ту же операцию или комбинацию операций виртуально в тот же самый момент времени.

  • заполнение клиентских форм заведомо неправильными или недостаточными данными и выполнение транзакций с этими данными.

  • создание условий для работы тестируемой системы с недостаточным количеством памяти или разделяемых системных ресурсов.

Стрессовое тестирование позволяет вам быть уверенными в том, что ваше клиентское приложение или сервер будут сохранять работоспособность несмотря на неблагоприятное распределение ресурсов в компьютерной системе.

Конкурирующее тестирование (Contention Test) выполняется как комбинация GUI и VU на одном или нескольких компьютерах, для того чтобы эмулировать действительное многопользовательское окружение. Например, можно создать тест, когда несколько GUI пользователей и множество виртуальных пользователей в одно и тоже время будут обращаться к той же самой базе данных для обнаружения проблем в управлении многозадачностью или блокировках. Без автоматизированного средства тестирования такие тесты, требующие точной синхронизации действий большого количества пользователей, выполнить практически невозможно.

Средства тестирования позволяют создавать очень сложные сценарии многопользовательского тестирования с вовлечением в этот процесс нескольких компьютеров с большим количеством GUI и VU пользователей. При этом, например, пользователи одного из компьютеров будут ожидать результатов выполнения действий пользователями другого компьютера и только потом вступать в процесс тестирования. Например, пользователи на одном из компьютеров добавляют записи в базу, а на другом ждут завершения выполнения этого скрипта, а затем читают внесенные записи и т.п.

Конфигурационное тестирование (Configuration Testing). Каждый пользовательский компьютер может иметь различную смесь аппаратных и программных особенностей, которые создают риск того, что создаваемое программное обеспечение будет работать на одном из них, а на другом не будет. Снизить вероятность возникновения таких ситуаций можно применением конфигурационных тестов, когда один раз созданные скрипты для GUI и VU пользователей будут выполняться на компьютерах с различными OS или конфигурациями программных и аппаратных средств. Например, если вы используете несколько типов сетевых карт, вы можете выполнить серию тестов для каждой из них с тем, чтобы определить, какая обладает лучшими характеристиками.

Распределенное функциональное тестирование (Distributed Functional Testing).

Полный цикл функционального тестирования сложного клиент/серверного приложения может потребовать выполнения большого количества скриптов. При этом GUI скрипты будут последовательно выполняться с помощью программы Robot на одном из компьютеров в течение очень долгого времени. PerformanceStudio позволяет значительно ускорить процесс тестирования за счет вовлечения в процесс тестирования большего числа компьютеров и распределения между ними GUI скриптов для выполнения. Все управление процессом тестирования в данном случае берет на себя программа LoadTest, которая собирает информацию ходе процесса тестирования, распределяет скрипты между освободившимися компьютерами и в случае потери сетевого соединения с каким-либо из них, передает выполнявшийся им скрипт на выполнение следующей освободившейся машине.