Инструментарий
Universal Testing Tool
С целью реалистичного моделирования поведения конечных пользователей и их влияния на загрузку системы, компания «Эксперт-Система» разработала собственное, не имеющее коммерческих аналогов, программное решение Universal Testing Tool (UTT).
UTT представляет собой небольшое, но гибкое приложение, которое позволяет создавать, контролировать и анализировать взаимодействие виртуальных пользователей с системой. Командная нагрузка эффективно распределяется между специалистами отдела тестирования (создание адекватной модели поведения пользователей) и разработчиками (программирование необходимой функциональной бизнес-логики части UTT, отвечающей за эмуляцию пользователя («Автоклиент»).
Поддержка любых протоколов обмена данных
Приложение UTT реализует внутренний API, который используется для обмена данных между Автоклиентом, эмулирующем работу пользователя, и управляющей частью. Это позволяет осуществлять поддержку работы приложения и Автоклиента независимыми командами. Поэтому функциональность Автоклиента не привязана к какому-либо конкретному протоколу, и может реализовывать любой необходимый способ передачи данных, соответствующий тому, который использует клиент. Ограничения представлены только четырьмя существующими моделями связи между клиентом и сервером: RPC (Remote Procedure Call), RMI (Remote Method Invocation), MOM (Message Oriented Middleware) и Stream.
Бизнес-логика
Важной составляющей эмуляции поведения пользователя является его внутренняя логика, с помощью которой обрабатываются события. Большинство имеющихся на рынке программных решений для тестирования производительности не позволяют реализовывать комплексный механизм взаимодействия с серверной частью системы, ограничиваясь обработкой только входящих событий. Автоклиенты, разработанные специалистами компании «Эксперт-Система» реализуют логику действий реального приложения, при необходимости выбирая нужные данные из внутренних хранилищ, соответствующих тем, с которыми взаимодействует пользователь. Примером такого поведения может служить отдача случайного ордера по доступному каждому пользователю индивидуальному списку инструментов.
Распределение нагрузки
Распределенные системы часто нуждаются в тестировании с помощью нагрузок, которые не могут быть реализованы несколькими доступными рабочими станциями или серверами, например, из-за необходимости задействовать значительные аппаратные ресурсы или необходимости работы с ресурсами, разнесенными в пространстве.
UTT спроектирован с учетом необходимости быстро и эффективно управлять нагрузкой создаваемых большим количеством компьютеров одновременно. Приложение способно автоматически подбирать адекватные пропорции для машин с разной аппаратной конфигурацией. Именно поэтому специалисты компании «Эксперт-Система» с легкостью освоили быстро развивающиеся сервисы предоставления аппаратных мощностей, так называемые Computing Clouds, для использования с UTT. UTT справляется с более 500 000 пользователей, которые одновременно работают с системой. При этом создание и управление такой нагрузкой по сложности не отличается от управления 5 000 пользователей, а по времени – лишь разницу в старте операционной системы необходимого количества серверов.
