|
Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Интеграционное тестирование и его особенности для объектно-ориентированного программирования
Пример интеграционного тестирования
Продемонстрируем тестирование взаимодействий на примере взаимодействия класса TCommandQueue и класса TСommand, а также, как и при модульном теcтировании, разработаем спецификацию тестового случая таблица 6.2:
На основе этой спецификации разработан тестовый драйвер пример 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.GetR,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(GetR,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 0: ПОЛУЧИТЬ ИЗ ВХОДНОЙ ЯЧЕЙКИ6.3. Спецификация результатов теста