Рассылка закрыта
При закрытии подписчики были переданы в рассылку "О карьере и профессиональном развитии IT-специалистов" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Ноябрь 2004 → | ||||||
1
|
2
|
3
|
4
|
5
|
6
|
7
|
---|---|---|---|---|---|---|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
28
|
|
29
|
30
|
Статистика
+9 за неделю
Записки тестировщика
Информационный Канал Subscribe.Ru |
Рассылка
«Записки тестировщика». Авторские заметки о тестировании, инструментах и технологиях тестирования. |
||||||||||||||
|
||||||||||||||
Записки тестировщика. Читать все статьи » Тестирование — Основные понятия В этой статье я попытаюсь собрать две публикации «Основная концепция реализации нагрузочного тестирования (на примере Mercury LoadRunner)» и «Основная концепция реализации автоматизированного функционального тестирования (на примере Mercury QuickTestProfessional)». Цель довольно простая: дать какую-то основу, фундамент, чтобы дальше говорить одним, понятным языком. Я попытался на примере использования инструментария Mercury, пояснить тем, кто делает первые шаги, что такое автоматизированное нагрузочное и функциональное тестирование. Просто о сложном. Рекомендовано к зачитыванию до дыр.
«Основная концепция реализации автоматизированного функционального тестирования (на примере Mercury QuickTestProfessional)» Общая схема работы. Записываем только заранее запланированный тест!
Термины типа «плоский», «объёмный» вводились на ходу, чтобы не употреблять «не параметризованный» и «параметризованный». Из опыта специалистов, которые принимали участие в обсуждении статьи (в форуме тестировщиков): Дмитрий Шевченко: Ольга Агладзе:
Основная концепция реализации нагрузочного тестирования (на примере Mercury LoadRunner). Схема + определение ролей.
Действующие лица. Vuser - В-юзер, виртуальный пользователь, скрипт эмулирующий действия одного конкретного пользователя. Умеет то, чему мы его научим в процессе записи, параметризации и прочего препарирования пациента. К примеру: логиниться, вызывает действия по отношению к серверу, получает результат (дожидается его или нет) и отлогинивается. С точки зрения всей системы тестирования - это такой участник, который на старте получает сценарий, куда бежать и что делать, получает инструкции от контроллера по поводу того как бегут остальные в-юзеры (одной толпой, или более шустрые убегают вперёд, внимательно слушает что ему делать если где-то пробежать нельзя и на каких местах он должен что отрапортовать. Потом после свистка контроллера он бегает по известному сценарию (последовательность действий) и «отзванивается» на машинку, которая его запустила о результатах забега. С технической точки зрения, каждый в-юзер может быть отдельным экземпляром программы-движка, которая выполняет скрипт в-юзера (так выполняется быстрее, но и ресурсы ему) - то есть скрипты исполняются в мультредовом режиме (в документации стоит оговорка, что система должна поддерживать такой режим выполнения программ), а может быть одним из процессов программы-движка, тогда он будет делить память с другими в-юзерами, которыми рулит движок - памяти кушается больше, и скорость ниже.
Vugen - генератор в-юзеров (писалка скриптов), такой умный тул, который сидит между клиентом, который дёргает приложение/сервер и самим приложением/сервером, которое находится под тестом. Во время работы пользователя, Vugen ловить все API вызовы, которые пользователь кидает на сервер (чтобы было потом что воспроизводить) и все ответы этого самого сервера (чтобы было потом с чем сравнивать). Сценарий - Список В-юзеров (с именами и фамилиями), в котором задаётся сколько в-юзеров мы будем заставлять бегать, с каких машин, и какие скрипты мы их будем заставлять нам делать. Контроллер - машинка, которая командует запуском / остановом / координацией (рандеву - такое красивое французское слово) в-юзеров на машинках, с которых наши в-юзеры и теребят систему под тестом. Этот же контроллер коллекционирует данные/рапорты от пользователей, чтобы потом строить красивые графики или рапорты о том, что у нас что-то упало. Это может быть машина самого тестера. На эту машину обираются данные по работе в-юзеров (сколько времени они работали, что делают сейчас и т.д.)
Генератор нагрузки (load generator/load injector) - реальные машины на которых стоит движок, который умеет выполнять скрипты в-юзеров. Подчиняется Контроллеру, по команде которого стартует в-юзеров, слушает их жалобы и отдаёт рапорты на контроллер. Создание в-юзеров. Известна последовательность действий, то есть бизнес-сценарий, последовательность действий с конечным результатом. Запускаем тул на запись и кликаем нашу последовательность. Смотрим что получилось и проигрываем: получаем воспроизведение действий от лица одного пользователя (пока создания нагрузки нет). При необходимости расставляем точки рандеву (опять это красивое французское слово) - это такие точки, добежав до которых, в-юзер «оглядывается» на котролёр (ждёт указаний), который говорит ему бежать дальше или ждать остальных (так как в-юзеры понятно в виду загруженности будут бежать с разной скоростью). Он будет ждать отмашки контролёра пока все соберутся в точке рандеву (если мы нагружаем данный кусок системы одновременной нагрузкой всех пользователей) или же бежит себе дальше (нагрузка получается размытая, но более реальная - кто-то ещё первые шаги заканчивает, а кто-то уже по второму кругу побежал). При необходимости определяем транзакции - говорим где начинается/заканчивается последователность действий, которую нам интересно померять. При необходимости/возможности параметризируем скрипт. То есть, говорим не просто выполнить выборку по такому-то полю с константным значением условия, а учим скрипт подставлять вместо констант переменные, говорим ему где он может брать эти переменные. Создание сценариев.
Дмитрий Шевченко:
-- Панкратов Вячеслав при активном участии консультантов проекта Ольги Агладзе и Дмитрия Шевченко, 27/11/2004. |
||||||||||||||
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.notes |
Отписаться |
В избранное | ||