Отвлечемся от последовательного
изучения теории тестирования. Сегодня расскажу, как делать нагрузочные тесты в Visual Studio. Также будет использоваться БД SQLServer и браузер iexplorer.
Во время ознакомления
с Web Performance and Load
Test Project, я обращалась ко многим источникам. На основные из
них буду прикладывать ссылки на соответствующем шаге.
Итак, начнем!
Шаг
1. Для того чтобы начать работу,
нужно определиться что вы будете тестировать: тонкого клиента или толстого.
Шаг
2. Выбрав нужный вам
вариант, можно приступить к работе. Запускаем студию и выбираем:
- Unit test, если толстого
клиента;
-
Web Performance and Load Test Project, если тонкого.
Далее действия расходятся. Unit test.
Шаг
3. В проект с юнит тестом
добавляем класс и в нем собираем запросы к БД. Можно БД протестировать также
другим способом, описанном в данных статьях: https://msdn.microsoft.com/ru-ru/library/jj851200(v=vs.103).aspx
, https://msdn.microsoft.com/ru-ru/library/jj851212(v=vs.103).aspx
, https://msdn.microsoft.com/ru-ru/library/jj851226(v=vs.103).aspx
Если у вас запросы из клиента к БД
размещены в коде, то можно их отловить Sql profile.
Чтобы верно собрать запросы, можете воспользоваться https://www.codeproject.com/Articles/823854/How-to-connect-SQL-Database-to-your-Csharp-program.
Шаг
4. В unit тесте
реализуем методы с вызовом запросов. Я разбивала так: один метод = одному
действию пользователя, например, добавить user (при одном действии пользователя не обязательно
будет один sql запрос).
Можно собрать, конечно, unit тесты и для Web service
https://msdn.microsoft.com/cs-cz/library/ms243399(v=vs.100).aspx
Web
performance test
Шаг 3. После того, как вы выберете данный
вариант, у вас откроется Webtest для записи. Возможно, что в браузере не будет включен record (на скрине он включен => значок конфигурации -> настроить
надстройки)
Вы можете «прокликать»
необходимый бизнес – процесс, а студия запишет все необходимые запросы с
параметрами. Но для дальнейшей работы с записанным webtest –
ом его нужно будет откорректировать. Поэтому, чтобы хорошо разобраться в
запросах, постепенно собираем их руками. С помощью средств разработчика в
браузере отлавливаем запросы бизнес - процесса, который мы будем нагружать, и
собираем вот в таком виде:
Для этого берем
все данные из средства разработчика. На скрине (пример) выделен запрос красным
цветом. Его копируем и вставляем в поле URL (следующий скрин)
Студия сама
разберет параметры из запроса, которые идут после знака «?». Метод выбираем в
соответствии с указанным методом (выделен желтым) в браузере. У post запроса
параметры могут отображаться во вкладке «Текст запроса». По данной ссылке
подробно описано создание веб теста: https://msdnshared.blob.core.windows.net/media/2016/09/Introduction-to-Web-Performance-and-Load-Testing-with-Visual-Studio-Enterprise-2015.pdf
Веб получение запросов https://habrahabr.ru/post/332862/
Шаг 4. В качестве параметров
можно передавать .csv файл или подставлять данные из БД.
Теперь займемся нагрузкой.
Шаг
5. Добавляем в проект LoadTest (описано в статье https://msdnshared.blob.core.windows.net/media/2016/09/Introduction-to-Web-Performance-and-Load-Testing-with-Visual-Studio-Enterprise-2015.pdf), собираем тест - методы, если unit test, или webtest-ы, если web performance, настраиваем и получаем тест в таком виде:
Можно добавить машины, можно добавить еще
сценарии. Настройки открываются при выборе Run Settings -> properties
Настройка БД – SQLTracing: https://msdn.microsoft.com/en-us/library/ms404658(v=vs.90).aspx
и https://msdn.microsoft.com/en-us/library/ms182589(v=vs.90).aspx
Подробнее о нагрузке можно почитать
здесь: https://habrahabr.ru/company/cognitive/blog/144461/
Статья написана
кратко (несмотря на большой объем), в основном для фиксирования знаний. Если
возникнут вопросы, то пишите, постараюсь по возможности ответить.
Комментарии
Отправить комментарий