Виды тестирования производительности
Решение проблем производительности программного обеспечения
Современный этап развития многопользовательских программных средств ставит перед разработчиками сложный комплекс задач по обеспечению требуемого уровня производительности создаваемого программного обеспечения. Показатели производительности не только выступают как самостоятельный критерий качества, но и значительно влияют на показатели стабильности, отказоустойчивости, безопасности и живучести программных средств.
Специфика предметной области не позволяет в полной мере использовать классические подходы к обеспечению качества с применением ручного функционального тестирования, что приводит к необходимости поиска новых эффективных решений.
Одним из таких решений является автоматизация тестирования производительности – применение технологий и специального программного обеспечения, позволяющего создать в искусственной среде условия, в необходимой мере имитирующие реальные ситуации, в которых могут проявиться дефекты программного средства, связанные с его производительностью.
Виды тестирования производительности
В настоящий момент наиболее исследованными направлениями тестирования, затрагивающими показатели производительности программных средств, являются:
· тестирование производительности (performance testing) – исследование показателей скорости реакции приложения на внешние воздействия при различной по характеру и интенсивности нагрузке;
· нагрузочное тестирование (load testing) – исследование способности приложения сохранять заданные показатели качества при нагрузке в допустимых пределах и некотором превышении этих пределов (определение "запаса прочности");
· стрессовое тестирование (stress testing) – исследование поведения приложения при нештатных изменениях нагрузки, значительно превышающих расчётный уровень;
· объёмное тестирование (volume testing) – исследование производительности приложения при обработке различных (как правило, больших) объёмов данных.
Цели различных видов тестирования производительности
Тестирование производительности | · оценка времени выполнения операций при определённой интенсивности и очерёдности выполнения этих операций; · оценка реакции на изменение количества пользователей, одновременно работающих с приложением; · оценка границ интенсивности нагрузки, при которых производительность выходит за рамки приемлемой; · оценка показателей масштабируемости приложения. |
Нагрузочное тестирование | · оценка скорости реакции приложения на различные значения нагрузки в допустимых пределах; · оценка использования приложением системных ресурсов при различных значениях нагрузки; · оценка изменения со временем поведения приложения при сохранении допустимой нагрузки длительное время. |
Стрессовое тестирование | · оценка реакции приложения на нестандартные и стрессовые случаи изменения нагрузки, в т.ч.: резкое непредсказуемое изменение интенсивности нагрузки, значительное превышение предельно допустимой нагрузки, интенсивное использование функций приложения, являющихся "узким местом" в производительности. |
Объёмное тестирование | · оценка показателей производительности приложения в случаях приёма, обработки и генерации данных различного объёма и с различными показателями вычислительной сложности обработки; · оценка способности приложения обрабатывать большие объёмы данных в условиях высокой загрузки системных вычислительных ресурсов; · оценка способности приложения обрабатывать большие объёмы данных при недостатке оперативной памяти. |
Анализ данных, представленных в таблице , позволяет сделать вывод о том, что прямыми или косвенными целями любого тестирования, так или иначе затрагивающего вопросы производительности, является:
· определение "узких мест" системы (функций программно-аппаратного комплекса, обращение к которым приводит к наибольшему падению показателей производительности);
· определение лучшей архитектуры системы, выбор наилучшей платформы, средств и языков реализации;
· определение оптимального способа хранения файлов;
· оценка и оптимизация схемы базы данных в контексте повышения производительности;
· оценка максимальной и минимальной производительности системы и условий их достижения;
· определение характера увеличения времени отклика системы при увеличении нагрузки;
· определение максимального числа одновременно работающих пользователей, превышение которого делает использование системы невозможным;
· определение влияния конфигурации системы на производительность;
· оценка показателей масштабируемости системы;
· оценка соответствия сетевой инфраструктуры требованиям производительности.
Дата добавления: 2016-03-20; просмотров: 2142;