- • Определения рабочего количества пользователей приложения.
- • Измерение времени выполнения различных операций системы.
- • Определения производительности приложения при различных степенях нагрузки.
- • Определения допустимых границ производительности программы при разных уровнях нагрузки.
В зависимости от характеристик, которые нам нужно протестировать, тестирование производительности делится на типы:
• Нагрузочное тестирование (Loadtesting) – тестирование времени отклика приложения на запросы различных типов, с целью удостовериться, что приложение работает в соответствии с требованиями при обычной пользовательской нагрузке.
• Стресс-тестирование (Stresstesting) – тестирование работоспособности приложения при нагрузках, превышающих пользовательские в несколько раз. При стресс-тестировании (зачастую, только при нем) мы можем получить реальные данные границ производительности приложения, исследовать способность программы обрабатывать исключения, ее стабильность и устойчивость. Именно в значительно увеличенной нагрузке на приложение и заключается разница между тестированием производительности и стресс тестированием.
• Тестирование стабильности или наработка на отказ (Stability/Reliabilitytesting) исследует работоспособность приложения при длительной работе во времени, при нормальной для программы нагрузке.
• Объемное тестирование (VolumeTesting) – тестирование проводится с увеличением не нагрузки и времени работы, а количества используемых данных, которые хранятся и используются в приложении.
Очень часто при определении тестирования производительности и его типах приходят к ошибочному пониманию и путанице данных терминов. Чтобы избежать этого и закрепить полученные знания, подведем итог. Итак, тестирование производительности – это проверка таких нефункциональных требований, как производительность и работоспособность приложения при различных нагрузках и условиях. В зависимости от исследуемой характеристики программы, мы можем выделить такие типы тестирования как:
• Нагрузочное тестирование (производительность при нормальных условиях).
• Стресс-тестирование (работоспособность, производительность и характеристики приложения при экстремальных нагрузках).
• Тестирование стабильности (при длительной работе).
• Объемное тестирование (при увеличенных объемах обрабатываемых данных).