Читайте также:
|
|
Продемонстрируем тестирование взаимодействий на примере взаимодействия класса TCommandQueue и класса TСommand, а также, как и при модульном теcтировании, разработаем спецификацию тестового случая таблица 4.2:
Таблица 4.2. Спецификация тестового случая для интеграционного тестирования
Названия взаимодействующих классов:TСommandQueue, TCommand
Название теста:TCommandQueueTest1
Описание теста:тест проверяет возможность создания объекта типа TCommand и добавления его в очередь при вызове метода AddCommand
Начальные условия:очередь команд пуста
Ожидаемый результат:в очередь будет добавлена одна команда
На основе этой спецификации разработан тестовый драйвер пример 6.1 - класс TCommandQueueTester, который наследуется от класса Tester.
Класс содержит:
конструктор, в котором создаются объекты классов TStore, TTerminalBearing и объект типа TcommandQueue
Методы, реализующие тесты. Каждый тест реализован в отдельном методе.
Метод Run, в котором вызываются методы тестов.
Метод dump, который сохраняет в Log-файле теста информацию обо всех командах, находящихся в очереди в формате - Номер позиции в очереди: полное название команды
Точку входа в программу - метод Main, в котором происходит создание экземпляра класса TСommandQueueTester.
public TCommandQueueTester(){TB = new TTerminalBearing();S = new TStore();CommandQueue=new TCommandQueue(S,TB);S.CommandQueue=CommandQueue;...}Пример 6.1. Объект типа TcommandQueue (html, txt)TCommandQueueTester::TCommandQueueTester(){TB = new TTerminalBearing();S = new TStore();CommandQueue=new TCommandQueue(S,TB);S->CommandQueue=CommandQueue;}Пример 6.1.1. Объект типа TcommandQueue (C++) (html, txt)
Теперь создадим тест, который проверяет, создается ли объект типа TСommand, и добавляется ли команда в конец очереди.
private void TCommandQueueTest1(){LogMessage("///// TCommandQueue Test1 /////");LogMessage("Проверяем, создается лиобъект типа TCommand");// В очереди нет командdump();// Добавляем команду// параметр = -1 означает, что команда// должна быть добавлена в конец очередиCommandQueue.AddCommand(TCommand.GetR,0,0,0,new TBearingParam(),new TAxleParam(),-1);LogMessage("Command added");// В очереди одна командаdump();}Пример 6.2. Тест (html, txt)
void TCommandQueueTester::TCommandQueueTest1(){LogMessage("///// TCommandQueue Test1 /////");LogMessage("Проверяем, создается лиобъект типа TCommand");// В очереди нет командdump();// Добавляем команду// параметр = -1 означает, что команда// должна быть добавлена в конец очередиCommandQueue.AddCommand(GetR,0,0,0,new TBearingParam(),new TAxleParam(),-1);LogMessage("Command added");// В очереди одна командаdump();}Пример 6.2.1. Тест (C++) (html, txt)
В класс включены еще два разработанных теста.
После завершения теста следует просмотреть текстовый журнал теста, чтобы сравнить полученные результаты с ожидаемыми результатами, заданными в спецификации тестового случая TCommandQueueTest1 пример 6.3.
///// TCommandQueue Test1 /////Проверяем, создается ли объект типа TCommand0 commands in command queueCommand added1 commands in command queue0: ПОЛУЧИТЬ ИЗ ВХОДНОЙ ЯЧЕЙКИПример 6.3. Спецификация результатов теста (html, txt)
Дата добавления: 2015-11-14; просмотров: 92 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ЛР №6 МОДУЛЬНОЕ ТЕСТИРОВАНИЕ | | | ЛР №8 СИСТЕМНОЕ ТЕСТИРОВАНИЕ |