- •Лекція 6
- •ПЛАН
- •Об'єктно-орієнтований підхід
- •Тестування ООП-програм
- •Утворення дуг ГМП
- •Приклад MM-шляхів й P-шляхів у графової моделі класу
- •чотири Мм-шляхи (1-4)
- •Приклад включення об'єкта в модель програмного проекту, побудованого з використанням MM-шляхів й P-шляхів
- •Дерево класів проекту
- •Модель класу, що входить у програмний проект
- •Методика тестування класової моделі програмного проекту
- •Рівні тестування класової моделі програмного проекту
- •Специфікація тестового випадку для інтеграційного тестування
- •Клас Tester містить
- •Об'єкт типу TcommandQueue та Тест
Методика тестування класової моделі програмного проекту
1.тестування методів кожного класу програми, що відповідає етапу модульного тестування.
2.методи класу, які утворять контекст інтеграційного тестування кожного класу.
3.протестований клас включається в загальний контекст (дерево класів) програмного проекту. Тут стає можливим відслідковувати реакцію програми на зовнішні події
•Другий і третій рівні розглянутої моделі відповідають етапу інтеграційного тестування.
•Для третього рівня важливим виявляється поняття атомарної системної функції (АСФ).
Рівні тестування класової моделі програмного проекту
Специфікація тестового випадку для інтеграційного тестування
Клас Tester містить
•конструктор, у якому створюються об'єкти класів TStore, TterminalBearing,об'єкт типу TcommandQueue
•Методи, що реалізують тести. Кожен тест реалізований в окремому методі.
•Метод Run, у якому викликаються методи тестів.
•Метод dump, що зберігає в Log-файлі тесту інформацію про всі команди, що перебувають у черзі у форматі - Номер позиції в черзі: повна назва команди
•Точку входу в програму - метод Main, у якому відбувається створення екземпляра класу TсommandQueueTester.
Об'єкт типу TcommandQueue та Тест
TCommandQueueTester::
TCommandQueueTester()
{
TB = new TTerminalBearing(); S = new TStore();
CommandQueue=new
TCommandQueue(S,TB);
S-> CommandQueue=CommandQueue;
}
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();
}
