Size: a a a

QA — Load & Performance

2021 November 06

KY

Kirill Yurkov in QA — Load & Performance
это я понял, а связь
источник

KY

Kirill Yurkov in QA — Load & Performance
вот ты изучил логи у тебя запросы и их проценты
источник

KY

Kirill Yurkov in QA — Load & Performance
вот есть фт сценарии
источник

KY

Kirill Yurkov in QA — Load & Performance
что дальше)
источник

O

Oleksii in QA — Load & Performance
из логов я беру паттерны запросов, на них пишу ФТ, в разных проекциях, из этих же ФТ собираю НТ сценарий, связки самих запросов берём из Юай клиента, что бы максимально его повторить, частоту срабатывания каждого запроса в НТ сценарии это процент из лога
источник

KY

Kirill Yurkov in QA — Load & Performance
ладно про сценарий я так и не понял, но выглядит так что никакого особенного переиспользования ФТ тестов нет. с тем же успехом можно из постмана переносить запросы в жметер или вообще не использовать фт тесты а брать из логов
источник

O

Oleksii in QA — Load & Performance
НТ сценарий на одну фичу/фрагмент, фичи собираются в кучу и так мы итеративно собираем клиента
источник

KY

Kirill Yurkov in QA — Load & Performance
кажется либо мы про разное либо я не понимаю чего-то)
источник

O

Oleksii in QA — Load & Performance
если идти от ФТ к НТ, это даёт контроль покрытия, нет дублирования лишних кейсов, идея в том, что бы из опентспеки генерить ФТ, а новые тесты сами затянутся в НТ
источник

KY

Kirill Yurkov in QA — Load & Performance
процесс самозатягивания так и не ясен, исходя из того что ты пишешь никакой автоматизации нет там
источник

O

Oleksii in QA — Load & Performance
возможно) может это проект специфик, поэтом и пишу тут, что бы понять что я упускаю.
источник

O

Oleksii in QA — Load & Performance
А затягивание это механизм джава, есть интерфейс А в нем 10 методов=тестов, НТ будет тоже в джава, и НТ сценарий имплементит А интерфейс, если я обновлю А на 12 тестов , то они автоматом затянутся в НТ сценарий, я как доделаю покажу)
источник

KY

Kirill Yurkov in QA — Load & Performance
сценарный подход не даёт обычно реалистичную нагрузку. но твои методы не ясны. потому ничего не могу сказать
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Будет переиспользование JUnit 4 шагов?

https://jmeter.apache.org/usermanual/junitsampler_tutorial.html

Мне идея нравится. Если бы отвечал и за НТ и за функциональные тесты, то тоже бы попробовал

У JUnit Sampler параметризация слабая. Один параметр только, строковый. Это уже не позволит сделать общую авторизацию, например. Или делать ее с шагингом токенов через общий ресурс надо будет - RabbitMQ, БД, ...

И не все аннотации поддерживаются. Но можно

Может даже попробую скоро. JUnit или JavaSampler чтобы запускать Selenium во время нагрузки. С малой интенсивностью. В 1 поток. Проверять тонкие моменты работы JS и WebSocket
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Когда-то была идея и задача делать бенчмарки всех методов api бекенда. Используя подобный подход.

Не справился. Тестов было очень много. Выполнялись они очень долго. Поддерживать их одному не получилось

Дальше прототипа и покрытия основных методов не ушел
источник

O

Oleksii in QA — Load & Performance
JUnit не использую не вижу от него профита, это же по факту структура/конфиг для тестов(что попадёт в свит при запуске, во сколько потоков, какие прекондишены и тд), в ФТ я использую тестНГ(в НТ его нет, но в ФТ он мне больше нравится в плане параметризации, а так же иерархии бефор/афтер методов, их там 4 и уровни по времени исполнения свит, тест, класс, метод), из опенспеки с применением эвристик пэйрвайз создаётся матрица покрытия параметров рест ендпоинта, из матрицы генерятся имена методов, разработан дсл для рест, дсл парсер сам создаёт тест по имени тест метода, далее идёт несколько слоев интерфейсов, каждый покрывает свой уровень.
По НТ параметризация через проперти они читаются раз в бефор из файла или бд(храню коллекцию где каждая строка это набор переменных для рест метода), коллекции шарятся между потоками, перед тестом рандомайзер берет одну строку(это готовый набор рест параметров), параметризация зашита в фрагменты, то есть экран=фрагмент, фрагмент это пачка рест паттернов в нативном джеметре сейчас,  но я же хочу идти через джава дсл, в джава строить модель на основании кода, модельки у меня побиты по фрагментам на основании фич, а после генерации дсл дампает модель в жмх, и запускаю именно жмх.
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Если я правильно понимаю. То генерация НТ сценариев - отдельный проект, слабо связанный с ФТ

И такого не делал никто, думаю что никто, в чате
источник

O

Oleksii in QA — Load & Performance
Кстати, сейчас ФТ выглядят именно как бенчмарк, при этом они запускаются в режиме ФТ и проверяется коды ответов, структура респонза, а если запустить их же в режиме проверки нон-ф требований, время респонза, то уже на ранних этапах дёшево можно находить баги, собственно поэтому в ФТ и существуют несколько слоев(пирамида тестирования)
источник

O

Oleksii in QA — Load & Performance
Сейчас да это отдельные проекты, но они сольются в один, потому что НТ обычно нужно на вчера, а актуализировать модели часто отнимает много времени
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Я к примеру через фабрику использую параметры жметра прям в коде, так что можно если очень надо. Но это я, к примеру для транспорта, что бы не передавать каждый раз одни и тоже...
источник