Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Системное тестирование
Пошаговое описание случая использования
Пошаговое описание приведено на рис. 4.2.
Список альтернативных путей
В пошаговом описании случая использования рассматривался оптимистический сценарий, например при анализе статуса склада в пунктах 3 и 11 считалось, что поступил подшипник. Но необходимо рассмотреть и возможные альтернативные сценарии:
3, 11 - анализ статуса склада:
3.a, 11.a - подшипник в манипуляторе.
3.b, 11.b - склад свободен.
3.c, 11.c - ошибочное состояние.
При получении сообщения от склада о выполнении команды считалось, что команда выполнена без ошибки, но здесь тоже существуют альтернативные варианты:
8, 16, 22, 24, 26 - получение сообщения о выполнении команды:
8.a, 16.a, 22.a, 24.a, 26.a - нет склада.
8.b, 16.b, 22.b, 24.b, 26.b - нет сообщения.
8.с, 16.c, 22.c, 24.c, 26.c - команда выполнена с ошибкой.
Список альтернативных вариантов для рассмотренного случая использования можно продолжить.
Спецификация тестового случая №1
Состояние окружения (входные данные):
Статус склада ( StoreStat=32 ). Пришел подшипник.
Статус обмена с терминалом подшипника ( 0 - есть подшипник) и его параметры ( RollerPar="0 NewUser Depot1 123456 1 12 1 1" ).
Статус обмена с терминалом оси ( 1 - нет оси) и ее параметры ( AxlePar="1 NewUser Depot1 123456 1 0 12 12" ).
Статус команды ( CommandStatus=0 ). Команда успешно принята.
Сообщение от склада ( StoreMessage=1 ). Команда успешно выполнена.
Ожидаемая последовательность событий (выходные данные):
Система запрашивает статус склада (вызов функции GetStoreStat ) и получает 32.
Система запрашивает параметры подшипника (вызов функции GetRollerPar ) и получает 0 NewUser Depot1 123456 1 12 1 1.
Система запрашивает параметры оси (вызов функции GetAxlePar ) и получает 1 NewUser Depot1 123456 1 0 12 12.
Система добавляет в очередь команд склада на последнее место команду SendR (получить из приемника в ячейку) (вызов функции SendStoreCom ) и получает сообщение о том, что команда успешно принята - 0.
Система запрашивает склад о результатах выполнения команды (вызов функции GetStoreMessage ) и получает сообщение о том, что команда успешно выполнена - 1.
Система запрашивает статус склада (вызов функции GetStoreStat ) и получает 32.
Система запрашивает параметры подшипника (вызов функции GetRollerPar ) и получает 0 NewUser Depot1 123456 1 12 1 1.
Система запрашивает параметры оси (вызов функции GetAxlePar ) и получает 1 NewUser Depot1 123456 1 0 12 12.
Система добавляет в очередь команд склада на первое место команду GetR (получить из приемника в ячейку) (вызов функции SendStoreCom ) и получает сообщение о том, что команда успешно принята - 0.
Система запрашивает склад о результатах выполнения команды (вызов функции GetStoreMessage ) и получает сообщение о том, что команда успешно выполнена - 1.
Изменяем состояние окружения (входные данные):
Статус обмена с терминалом подшипника ( 1 - нет подшипника) и его параметры ( RollerPar="1 NewUser Depot1 123456 1 12 1 1" ).
Статус обмена с терминалом оси ( 0 - есть ось) и ее параметры ( AxlePar="0 NewUser Depot1 123456 1 0 12 12" ).
Ожидаемая последовательность событий (выходные данные):
Система запрашивает статус склада (вызов функции GetStoreStat ) и получает 32.
Система запрашивает параметры подшипника (вызов функции GetRollerPar ) и получает 1 NewUser Depot1 123456 1 12 1 1.
Система запрашивает параметры оси (вызов функции GetAxlePar ) и получает 0 NewUser Depot1 123456 1 0 12 12.
Система добавляет в очередь команд склада на последнее место команду SendR (вызов функции SendStoreCom ) и получает сообщение о том, что команда успешно принята - 0.
Система запрашивает склад о результатах выполнения команды (вызов функции GetStoreMessage ) и получает сообщение о том, что команда успешно выполнена - 1.
Система добавляет в очередь команд склада на последнее место команду SendR (вызов функции SendStoreCom ) и получает сообщение о том, что команда успешно принята - 0.
Система запрашивает склад о результатах выполнения команды (вызов функции GetStoreMessage ) и получает сообщение о том, что команда успешно выполнена - 1.
Система добавляет в очередь команд склада на последнее место команду Term (вызов функции SendStoreCom ) и получает сообщение о том, что команда успешно принята - 0.
Система запрашивает склад о результатах выполнения команды (вызов функции GetStoreMessage ) и получает сообщение о том, что команда успешно выполнена - 1.
Во всех последующих разделах будет подробно рассматриваться именно этот тестовый случай!
Описание процесса системного тестирования
Рассмотрим процесс системного тестирования:
Анализ. Тестируемая система анализируется (проверяется) на наличие определенных свойств, которым надо уделить особое внимание, и определяются соответствующие тестовые случаи.
Построение. Выбранные на стадии анализа тестовые случаи переводятся на язык программирования.
Выполнение и анализ результатов. Производится выполнение тестовых случаев. Полученные результаты анализируются, чтобы определить, успешно ли прошла система испытания на тестовом наборе.
Процесс запуска тестовых случаев и анализа полученных результатов должен быть подробно описан в тестовых процедурах.
Далее мы рассмотрим три различных подхода, которые используются при системном тестировании:
- Ручное тестирование.
- Автоматизация выполнения и проверки результатов тестирования с помощью скриптов.
- Автоматическая генерация тестов на основе формального описания.