Несколько дней назад в группе технического обмена все обсуждали тему записи и воспроизведения трафика. Я заметил, что обсуждает много людей, и у них обычно есть две точки зрения: первая точка зрения заключается в том, что запись и воспроизведение трафика имеют широкие перспективы применения и могут значительно повысить эффективность тестирования и технические навыки, и все они хотят реализовать это самостоятельно. команды, но необходимы некоторые ссылки на лучшие практики; вторая точка зрения заключается в том, что такую практику могут применять только крупные производители, а мелким компаниям не следует даже думать об этом.
Я не могу полностью согласиться или не согласиться с этими двумя взглядами, могу лишь рассказать о своих взглядах на запись и воспроизведение дорожного движения, основываясь на некотором своем практическом опыте и увиденных мною случаях.
Запись и воспроизведение трафика — это технический метод, который записывает реальный онлайн-трафик, а затем моделирует запросы в тестовой или производственной среде для проверки. Простое понимание по сути такое же, как если бы мы использовали другие инструменты (такие как JMeter/postman) для создания запроса, а затем оценивали, прошел ли тест, на основе возвращенных данных ответа. Разница между ними заключается в том, что запись и воспроизведение трафика в основном выполняются машинами, тогда как традиционный метод использования инструментов тестирования для отправки запросов требует ручного вмешательства.
Концепция и техническая практика записи и воспроизведения трафика была впервые разработана в 2010 году британской компанией Riverbed Technology для мониторинга и диагностики производительности сети, чтобы быстро диагностировать и решать проблемы при их возникновении. В Китае самым известным в 2019 году должен стать инструмент записи и воспроизведения трафика с открытым исходным кодом от Alibaba: JVM-Sandbox-Repeater.
JVM-Sandbox-Repeater изначально решает некоторые проблемы, возникающие во время полноканального онлайн-тестирования, в основном следующие:
В дальнейшем, по мере накопления опыта и постоянной итеративной оптимизации технологии, ее стали использовать и для решения других задач тестирования, таких как:
В настоящее время существует множество инструментов для записи и воспроизведения трафика. Ниже приведены основные инструменты:
Как упоминалось выше, сценарии применения технологии записи и воспроизведения трафика очень богаты. Она имеет широкие перспективы применения в тестировании производительности, регрессионном тестировании, автоматическом тестировании и быстром устранении онлайн-проблем. Она может помочь техническим командам решать сложные бизнес-сценарии и стабилизировать ситуацию. системная архитектура, гарантия и эффективность процесса НИОКР.
Но тут возникает проблема. Когда, казалось бы, идеальное техническое решение будет реализовано в команде, она столкнется со многими проблемами, главным образом следующими:
Вышеупомянутые три пункта представляют собой в основном технические проблемы, но в реальных сценариях работы причина, по которой многие технологии не могут быть реализованы, часто заключается не в проблеме самой технологии, а в проблеме соотношения затрат и выпуска.
Прежде всего, сама запись и воспроизведение трафика требует от команды создания базовых технических средств. Это связано с высокими первоначальными инвестиционными затратами и затратами времени.
Во-вторых, записанные данные необходимо сохранить, десенсибилизировать, обработать и сопоставить с бизнес-связями и сценариями. Этот процесс может выполняться только инженерами вручную и не может быть разобран в короткие сроки. Это еще одна часть затрат.
В-третьих, от исследования до полной реализации технического решения этот процесс требует определенного количества затрат проб и ошибок, а также времени и человеческих ресурсов для сотрудничества. В условиях снижения затрат и повышения эффективности предприятиям трудно не справиться. чтобы увидеть очевидные прямые выгоды в краткосрочной перспективе. В это направление были вложены огромные затраты.
Последний и самый критический момент заключается в том, что техническая команда сверху донизу обременена KPI. Чем более продвинута и сложна технология, тем выше временные и трудовые затраты, необходимые для ее внедрения, вынудят руководителей принимать недальновидные решения. Это не имеет ничего общего с Верой и признанием в технологии, которые связаны только с личным выживанием на рабочем месте.
Неудивительно, что люди говорят, что отличная техническая практика — это болезнь богатства, которая встречается только в крупных компаниях.
Наконец, я хотел бы поделиться своим личным опытом в практике записи и воспроизведения дорожного движения, чтобы каждый мог избежать ошибок.
Наконец, я хочу сказать, что запись и воспроизведение трафика — это технический праздник, который кажется восхитительным, но на самом деле его трудно проглотить. Это правильно — узнать больше об идеях и извлечь из них уроки, но вы должны рассмотреть все аспекты, прежде чем принять решение. реализовать это.