![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Тестирование нагрузочной эффективности
Эффективный с точки зрения затрат способ расширения приложений заключается в использовании распределенных вычислений. Существует два основных компонента сетевой архитектуры: сервер и клиент. Сеть может иметь тысячи серверов и десятки тысяч настольных персональных компьютеров, переносных компьютеров, беспро водных и карманных клиентов, каждый из которых подключается к серверам по сети. Системы клиент/сервер являются одними из наиболее широко распространенных, и огромная доля выполняемого в наши дни тестирования связана со средами типа кли ент/сервер/сеть. Тестирование требований безопасности и доступа относится ско рее к тестированию системы, чем к тестированию приложения. Для баз данных могут потребоваться процессы создания экземпляров, поскольку приложение, выполняю щееся в одном городе/стране, при запросе базы данных должно получать те же ре зультаты, что и это же приложение, одновременно выполняющееся в другом горо де/стране.
Тестирование приложений типа клиент/сервер требует глубокого понимания ар хитектуры программного обеспечения, в том числе серверов хранилищ данных, ха рактеристик путей передачи информации и серверов балансирования нагрузки. Час то для успешности тестирования первостепенную важность имеет определение тес товых данных. В этом разделе приведены лишь несколько примеров, но соответст вующие аналогии можно найти и в других приложениях.
При тестировании приложений, в которых интенсивно используется обмен дан ными, должны применяться два подхода: использование тестовых шаблонов и ран домизированных потоков данных. Если основной целью тестирования является про верка надежности коммуникационного пути, то можно задействовать тестирование с использованием шаблонов. Выявить искажение в повторяющемся графическом шаб лоне значительно легче, чем просматривать распечатку со значениями данных для выяснения того, присутствует ли в них какая-то ошибка. Инженеры по электронике аналогичным образом используют осциллографы, просматривая осциллограммы сигналов тестовых частот для проверки правильности функционирования соедине ния или процесса. Специалисты по тестированию должны использовать эту техноло гию в ходе процесса самотестирования коммуникационного пути во время начально го запуска системы. Как только коммуникационный путь проходит процесс самотес тирования при начальном запуске, по нему можно передать заранее известный набор
данных транзакции, что позволит проверить правильность выполнения транзакции и производительность процессора транзакций. Выходные данные, сохраненные в выходных записях или журнальных файлах, можно автоматически сравнить с ожи даемыми результатами. Как правило, такие тесты разрабатываются в форме регрессивных тестов для систем выполнения транзакций, которые постоянно обновляются из-за добавления в производственную среду новых транзакций.
Приложения клиент/сервер поддерживают возможность применения тестовой конфигурации, в которой программируются и загружаются сервер эмуляции высоко го темпа передачи данных и тестовый эмулятор хранилища данных. При такой кон фигурации можно проводить испытания банка производственных серверов, которые подключаются к системе через сервер балансирования нагрузки, как показано на рис. 10.6. Сервер имитации высокого темпа прогоняет данные транзакций по альтерна тивному пути к серверу балансирования нагрузки, который, в свою очередь, прогоня ет эти данные через банк производственных серверов со скоростью, превышающей обычные рабочие скорости передачи данных. Этот тест может выявить узкие места с точки зрения производительности. При наличии ветви обратной связи от тестового эмулятора хранилища данных к серверу имитации высокого темпа передачи, воз можно автоматическое сравнение выходных данных транзакций производственного сервера с ожидаемыми выходными данными тестов. Эта замкнутая система может использоваться для проведения лабораторных испытаний новых версий перед их погружением в производственный процесс. Данная технология непосредственно применима и к большинству Web-приложений.
Эмулятор высокого темпа передачи данных
Рис. 10.6. Сервер имитации высокого темпа передачи данных и тестовый эмулятор храни лища данных испытывают производственное приложение с архитектурой клиент/сервер.
|