Опубликован: 05.03.2005 | Уровень: специалист | Доступ: платный
Практическая работа 4:

Системное тестирование

Пошаговое описание случая использования

Пошаговое описание приведено на рис. 4.2.

Пример use case

Рис. 4.2. Пример use case

Список альтернативных путей

В пошаговом описании случая использования рассматривался оптимистический сценарий, например при анализе статуса склада в пунктах 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.

Во всех последующих разделах будет подробно рассматриваться именно этот тестовый случай!

Описание процесса системного тестирования

Рассмотрим процесс системного тестирования:

Анализ. Тестируемая система анализируется (проверяется) на наличие определенных свойств, которым надо уделить особое внимание, и определяются соответствующие тестовые случаи.

Построение. Выбранные на стадии анализа тестовые случаи переводятся на язык программирования.

Выполнение и анализ результатов. Производится выполнение тестовых случаев. Полученные результаты анализируются, чтобы определить, успешно ли прошла система испытания на тестовом наборе.

Процесс запуска тестовых случаев и анализа полученных результатов должен быть подробно описан в тестовых процедурах.

Далее мы рассмотрим три различных подхода, которые используются при системном тестировании:

  • Ручное тестирование.
  • Автоматизация выполнения и проверки результатов тестирования с помощью скриптов.
  • Автоматическая генерация тестов на основе формального описания.
Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Сергей Чурбанов
Сергей Чурбанов
Валерий Слиж
Валерий Слиж
Беларусь
Андрей Морозов
Андрей Морозов
Россия, Минск