Я б назвав це "тестування завантаження через відтворення сеансу", особисто. Я не знаю жодного найпростішого терміна для цього виду тестування.
Основна стратегія, яку я бачив, використовуючи для цього випробування навантаження, - це приймати файли журналів із виробничої системи та відтворювати їх у тестовій системі.
Ви можете використовувати такі інструменти, як JMeter або Apache Bench, щоб відтворювати запити з файлів журналів. Якщо ви дивитесь на відтворення дуже складних взаємодій клієнт / сервер (з конкретними деталями часу, заснованими на оригінальному потоці журналу), сподіваючись реально реалізувати внутрішню частину вашої програми (шукаючи умови гонки, помилки, пов’язані з хронометром тощо), ви можете дивіться на написання спеціальних інструментів тестування, що імітують клієнтів у масштабі.
Ви не зможете просто захоплювати суднові масиви необробленого мережевого трафіку та "перетворювати" його за допомогою будь-якого протоколу на основі TCP або IP. Послідовні номери TCP не збігаються з початковим захопленим трафіком, і він не працюватиме. Захоплення IP-шару стане проблематичним, оскільки ваші змодельовані клієнти повинні відповідати за IP-адресу захопленого відправника. Вам буде краще захоплювати трафік ближче до рівня 7 та використовувати його для відтворення сеансів, оскільки, в іншому випадку, ви також дивитесь на написання тренажера TCP. (Я міг би уявити, як використовувати щось на кшталт того, tshark
щоб викреслити дані та терміни рівня 7 із потоку TCP та відтворити це, наприклад.)
Просто відтворення мережевого трафіку імітує навантаження, але не обов'язково фіксує дефекти. Ваш модельований клієнт повинен буде отримати відповіді від тестового сервера та проаналізувати їх для коректності, якщо ви хочете перевірити будь - який тест, на який програма відповість належним чином. Оскільки ваша програма збирає дані про динамічну відповідь, навряд чи ваш модельований клієнт може просто порівняти відповідь тестового сервера з зареєстрованою відповіддю з виробничого сервера. Тут ви збираєтеся записати тестовий джгут, характерний для вашої програми та її результатів.