Close
Software Test Studio logo

Software Test Studio

Назад Далее

Нагрузочное тестирование

image

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

А ведь это важно! Если программой пользуются 10 человек - скорость ответов на запросы мгновенная, но что будет если количество пользователей увеличится до тысячи или до ста тысяч или до миллиона. Как поведет себя программа?

Нагрузочное тестирование (load testing) - вид тестирования, направленный на изучение способности системы сохранять требуемые показатели качества при определенных нагрузках.

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

Данный вид тестирования особенно актуален для систем, использующих клиент-серверную архитектуру.

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

В качестве критериев успешности проведения тестирования выступают требования по производительности, которые сформированы на этапе проработки функциональных требований. Однако, на практике такие требования, как правило отсутствуют, в таких случаях критерием успешности будет лишь здравый смысл.

Тем не менее обратите внимание на следующие показатели (метрики):
- количество пользователей;
- время отклика на выполнение запроса пользователя;
- количество запросов в секунду;
- процент ошибок;
- производительность процессора (процентное соотношении времени, затрачиваемое на обработку рабочего потока);
- оперативная память (объем памяти доступный для процессов и программ);
- жесткий диск (процент использования дискового пространства).

Нагрузочное тестирование невозможно провести без помощи специальных программ, которые генерируют требуемую нагрузку.
К основным инструментам, используемым для нагрузочного тестирования, относятся:
- Apache JMeter;
- Microsoft Visual Studio;
- HP LoadRunner;
- TSUNG.

Каждая из указанных программ обладает своими преимуществами и недостатками. Но широкое признание получила все таки программа Apache JMeter, которая позволяет проводить тесты со сложной логикой, тестировать веб-приложения, в том числе API, имитировать работу большого количества пользователей.

Все о тестировании