Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Автоматизация тестирования с помощью скриптов
Как создать свой тест?
В данном случае используется тот же принцип, что и при ручном тестировании:
- задать состояние окружения ( StoreStat, AxlePar, RollerPar, StoreMessage, CommandStatus );
- ждать, когда в системе произойдет определенное событие;
- задать новое состояние окружения;
- и т.д.
Каждый тест должен быть представлен в следующем виде:
ЗАГОЛОВОК БЛОК Wait <условие> БЛОК Wait <условие> ..... EndTest
Опишем эти элементы более подробно.
Описание заголовка
Заголовок теста состоит из:
- команды запуска сервера;
- команд global, устанавливающих доступ к глобальным переменным состояния окружения;
- команды StartTest, задающей имя теста (оно не обязательно должно совпадать с именем файла).
source bin\\srv.tcl // запуск сервера global StoreStat // статус склада global AxlePar // терминал оси global RollerPar // терминал подшипника global CommandStatus // возвращаемое значение функции // SendStoreCom global StoreMessage // сообщение от склада global rollers_found // 1 (можно подобрать подходящий // подшипник) или 0 (нельзя) global fds // строка для графы "Покрытие FDS" // в итоговой таблице результатов // тестирование (по умолчанию - Default) global last_command // последняя команда тестируемой системы global allowed // список разрешенных команд, их // получение должно вызывать ошибку StartTest <имя> // запуск теста
Описание блока
Каждый блок устанавливает значения одной или более переменных окружения. Например:
Set StoreStat 32 ...
Описание Wait
Команда Wait используется для изменения состояния тестового окружения в ответ на действия системы.
При вызове процедуры Wait скрипт входит в состояние ожидания. Обращение со стороны системы приводит к завершению состояния ожидания. Если условие выполнено, то ответ на это обращение будет сформирован на основе следующего блока, иначе - на основе предыдущего.
Wait <команда> <время> <обязательно>
<команда> определяет команду системы, которая приведет к переходу в следующий блок. Можно использовать стандартные символы подстановки *, ?, [];
<время> определяет время ожидания. Если задать 0, то время не ограничено;
<обязательно> дает возможность не формировать ошибку, если за заданное время требуемая команда не была получена. Если задана 1, то в случае неполучения команды будет сформирована ошибка, а если 0, то ошибки не будет.
Примеры использования:
Wait ZZZZZZZ 10 0 - ждать 10 секунд (команда ZZZZZZZ является недопустимой и не может быть получена)
Wait "GetStoreStat *" 0 1 - ждать команды GetStoreStat с любыми параметрами неограниченное время
Wait "SendStoreCom 2 *" 10 1 - ждать команды SendStoreCom с первым параметром 2 и произвольными остальными параметрами в течение 10 секунд, если она не получена, будет зафиксирована ошибка
Wait ZZZZZZZ 0 0 - бесконечное ожидание.
Так как ожидание в процедуре Wait прерывается только при поступлении запроса от системы, то в случае отсутствия запросов (система зависла и ничего не делает) тест также останавливается. Для предотвращения такой ситуации используется следующая команда: Timeout <время>.
<время> определяет число секунд, после которого процесс тестирования будет прерван. При этом в журнал теста будет занесено сообщение TIMEOUT. Срабатывание таймаута приводит к завершению теста. Команда Timeout 0 отменяет ограничение времени.
Описание allowed
Рассмотрим переменную allowed более подробно. Она содержит список тех команд, получение которых разрешено и не должно вызывать ошибку. Например, в следующем примере вызов GetAxlePar не спровоцирует ошибку:
Set StoreStat 32 Wait "GetStoreStat *" 0 1 Wait "GetRollerPar" 0 1 Set allowed [list "GetAxlePar"] Wait "SendStoreCom 1 0 0 1 0 0 0" 0 1
Однако ошибка все же возникнет, если данная команда в данной ситуации является недопустимой. Несмотря на то, что проверка реализована в скрипте srv.tcl, использование команды Wait и списка allowed могут ужесточить проверку. Значение по умолчанию для allowed - " * ". В этом случае проверку проходят все команды. Вход в процедуру Wait вызывает расширение списка allowed до момента выхода из нее, так что ожидаемая команда системы всегда проходит проверку на принадлежность списку allowed. В списке allowed можно задействовать символы подстановки.