Читать в оригинале

<< Предыдущая Оглавление Следующая >>


4.3.2. Пример системного тестирования приложения

Рассмотрим для системы «Система управления автоматизированным комплексом хранения подшипников» пример тестирования варианта использования системы «Поступление подшипника на склад» (п. 3.2.2., с. 47). В спецификации тестового случая задано состояние окружения (входные данные) и ожидаемая последовательность событий в системе (ожидаемый результат). После прогона тестового случая мы получаем реальную последовательность событий в системе при заданном состоянии окружения. Сравнивая фактический результат с ожидаемым, можно сделать вывод о том, прошла или не прошла тестируемая система испытание на заданном тестовом случае. В качестве ожидаемого результата будем использовать спецификацию тестового случая, поскольку она определяет, как для заданного состояния окружения система должна функционировать.

Описание варианта использования системы представлено на рисунке (Рис. 22).

Рис. 22. Краткое описание тестируемой системы «Поступление подшипника на склад»

Спецификация тестового случая №1:

Состояние окружения (входные данные - X ):
Статус склада - 32. Пришел подшипник.
Статус обмена с терминалом подшипника (0 - есть подшипник) и его параметры - «Статус=0 Диаметр=12».
Статус обмена с терминалом оси (1 - нет оси) и ее параметры - «Статус=1 Диаметр=12».
Статус команды - 0. Команда успешно принята.
Сообщение от склада - 1. Команда успешно выполнена.

Ожидаемая последовательность событий (выходные данные - Y):

a. Система запрашивает статус склада (вызов функции GetStoreStat) и получает 32.
b. Система запрашивает параметры подшипника (вызов функции GetRollerPar) и получает Статус = 0 Диаметр=12.
c. Система запрашивает параметры оси (вызов функции GetAxlePar) и получает Статус = 1 Диаметр=0.
d. Система добавляет в очередь команд склада на последнее место команду SendR (получить из приемника в ячейку) (вызов функции SendStoreCom) и получает сообщение о том, что команда успешно принята - статус = 0.
e. Система запрашивает склад о результатах выполнения команды (вызов функции GetStoreMessage) и получает сообщение о том, что команда успешно выполнена - статус = 1.

Выходные данные (результаты выполнения Yв) зафиксированы в журнале теста:

ВЫЗОВ: GetStoreStat
РЕЗУЛЬТАТ: 32
ВЫЗОВ: GetRollerPar
РЕЗУЛЬТАТ: Статус = 0 Диаметр = 12
ВЫЗОВ: GetAxlePar
РЕЗУЛЬТАТ: Статус = 1 Диаметр = 0
ВЫЗОВ: SendStoreCom
РЕЗУЛЬТАТ: 0
ВЫЗОВ: GetStoreMessage
РЕЗУЛЬТАТ: 1

Приведенный ниже тест был разработан в соответствии со спецификацией тестового случая №1.

class Test1:Test {
         override public void start() {
//Задаем состояние окружения (входные данные)
         StoreStat="32";                       //Поступил подшипник
         RollerPar="0 NewUser Depot1 123456 1 12 1 1";
//статус обмена с терминалом подшипника (0 - есть подшипник) и его параметры
         AxlePar="1 NewUser Depot1 123456 1 0 12 12";
//статус обмена с терминалом оси (1 - нет оси) и ее параметры
CommandStatus="0"; //команда успешно принята
StoreMessage="1"; //успешно выполнена
//Получаем информацию о функционировании системы
         wait("GetStoreStat"); //опрос статуса склада
         wait("GetRollerPar");
//Получение информации о подшипнике с терминала подшипника
         wait("GetAxlePar");
//Получение информации об оси с терминала оси
         wait("SendStoreCom"); //добавление в очередь команд склада
                                                    // на первое место
//команды GetR (получить из приемника в ячейку)
         wait("GetStoreMessage");
//Получение сообщения от склада о результатах выполнения команды
//В результате первый подшипник должен быть принят
         }
}

После завершения теста следует просмотреть текстовый журнал теста, чтобы выяснить, какая последовательность событий в системе была реально зафиксирована (выходные данные) и сравнить их с ожидаемыми результатами, заданными в спецификации тестового случая №1.

Пример журнала теста:

Test started
CALL:GetStoreStat 0
RETURN:32
CALL:GetRollerPar
RETURN:0 NewUser Depot1 123456 1 12 1 1
CALL:GetAxlePar
RETURN:1 NewUser Depot1 123456 1 0 12 12
CALL:SendStoreCom 1 0 0 1 0 0 0
RETURN:0
CALL:GetStoreMessage
RETURN:1

 



<< Предыдущая Оглавление Следующая >>