Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
30.05.2020
Размер:
150.02 Кб
Скачать

3 Приклад інтеграційного тестування

Продемонструємо тестування взаємодій на прикладі взаємодії класу TCommandQueue і класу Tсommand, а також, як і при модульному теcтуванні, розробимо специфікацію тестового випадку:

Таблиця 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

TCommandQueueTester::TCommandQueueTester()

{

TB = new TTerminalBearing();

S = new TStore();

CommandQueue=new TCommandQueue(S,TB);

S->CommandQueue=CommandQueue;

}

6.1.1. Об'єкт типу TcommandQueue (C++)

Тепер створимо тест, що перевіряє, чи створюється об'єкт типу Tсommand, і чи додається команда в кінець черги.

private void TCommandQueueTest1()

{

LogMessage("///// TCommandQueue Test1 /////");

LogMessage("Перевіряємо, чи створюється об'єкт типу TCommand");

// У черзі немає команд

dump();

//Додаємо команду: параметр = -1 означає, що команда повинна бути додана в кінець черги

CommandQueue.AddCommand(TCommand.Get,0,0,0,

new TBearingParam(),new TAxleParam(),-1);

LogMessage("Command added");

// У черзі одна команда

dump();

}

6.2. Тест

void TCommandQueueTester::TCommandQueueTest1()

{

LogMessage("///// TCommandQueue Test1 /////");

LogMessage("Перевіряємо, чи створюється об'єкт типу TCommand");

// У черзі немає команд

dump();

//Додаємо команду: параметр = -1 означає, що команда повинна бути додана в кінець черги

CommandQueue.AddCommand(Get,0,0,0,

new TBearingParam(),

new TAxleParam(),-1);

LogMessage("Command added");

// У черзі одна команда

dump();

}

6.2.1. Тест (C++)

У клас включені ще два розроблених тести.

Після завершення тесту варто переглянути текстовий журнал тесту, щоб зрівняти отримані результати з очікуваними результатами, заданими в специфікації тестового випадку TCommandQueueTest1 приклад 6.3.

///// TCommandQueue Test1 /////

Перевіряємо, чи створюється об'єкт типу TCommand

0 commands in command queue

Command added

1 commands in command queue

6.3. Специфікація результатів тесту

8

Соседние файлы в папке Тестування