Основы тестирования программного обеспечения



             

Подробное описание тестового случая


Продемонстрируем тестирование взаимодействий на примере класса TCommandQueue. Из табл. 3.2, которая была составлена на основе спецификаций классов, описанных в приложении 2, видно, что класс очереди команд взаимодействует со следующими классами:

TBearingParam, TAxleParam, TCommand, TStore, TterminalBearing.

С объектом TCommand осуществляется взаимодействие третьего типа, т. е. TCommandQueue создает объекты класса TCommand как часть своей внутренней реализации. С остальными классами осуществляется взаимодействие первого типа: ссылки на объекты классов TStore и TTerminalBearing передаются как параметры в конструктор TCommandQueue, а ссылки на объекты классов TBearingParam и TAxleParam передаются в метод TCommandQueue.AddCommand.

Одновременно с изучением этого раздела можно открыть проект IntegrationTesting\IntegrationTests.sln.

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

Таблица 3.3. Спецификация тестового случая
Названия взаимодействующих классов: TСommandQueue, TCommandНазвание теста: TCommandQueueTest1

Описание теста: тест проверяет возможность создания объекта типа TCommand и добавления его в очередь при вызове метода AddCommand

Начальные условия: очередь команд пуста

Ожидаемый результат: в очередь будет добавлена одна команда

На основе этой спецификации был разработан тестовый драйвер - класс TCommandQueueTester, который наследуется от класса Tester. Этот класс содержит:

  • Метод Init, в котором создаются объекты классов TStore, TterminalBearing и объект типа TcommandQueue. Этот метод необходимо вызывать в начале каждого теста, чтобы тестируемые объекты создавались вновь: private void Init() { TB = new TTerminalBearing(); S = new TStore(); CommandQueue=new TCommandQueue(S,TB); S.CommandQueue=CommandQueue; } Пример 3.1. Метод Init
  • Методы, реализующие тесты. Каждый тест реализован в отдельном методе.
  • Метод Run, в котором вызываются методы тестов.
  • Метод dump, который сохраняет в log-файле теста информацию обо всех командах, находящихся в очереди в формате - номер позиции в очереди: полное название команды.
  • Точку входа в программу - метод Main, в котором происходит создание экземпляра класса TCommandQueueTester и запуск метода Run.

Сначала создадим тест, который проверяет, создается ли объект типа TСommand, и добавляется ли команда в конец очереди.

private void TCommandQueueTest1() { Init(); LogMessage("///////// TCommandQueue Test1 /////////////"); LogMessage("Проверяем, создается ли объект типа TCommand"); // В очереди нет команд dump(); // Добавляем команду // параметр = -1 означает, что команда должна быть добавлена //в конец очереди CommandQueue.AddCommand(TCommand.GetR,0,0,0,new TBearingParam(),new TAxleParam(),-1); LogMessage("Command added"); // В очереди одна команда dump(); } Пример 3.2. Тест, проверяющий создание объекта типа TСommand

В этот класс включены еще два разработанных теста.




Содержание  Назад  Вперед