2. Тестування
• Тестування – процес пошуку дефектів
• Тестування не може довести відсутності
дефектів
– Лише їх наявність
• В будь-якій програмі є дефекти
• Краще знаходити дефекти раніше, ніж
пізніше
3. Тестування
• Відбувається разом із розробкою
• Спосіб: запускаємо і дивимось чи працює
• Створюємо допоміжні засоби
– Консольні програми
– Допоміжний UI
6. // offtopic
*.sdf file can grow large
Keep VS IntelliSense cache in %TEMP% instead
of current solution folder
http://stackoverflow.com/questions/7706984/visual-studio-
2010-c-project-remove-sdf-file
7. Simple test
#define BOOST_TEST_MODULE MathTests
#include "boost/test/included/unit_test.hpp"
#include "math.hpp" Descriptive name
BOOST_AUTO_TEST_CASE(AddTwoPositiveIntegersReturnsCorrectResult)
{ Set up System Under Test
Math math; (Arrange)
Call System Under Test
auto result = math.add(1, 2); (Act)
BOOST_REQUIRE_EQUAL(3, result);
Assert
}
Unit test
8. Модульний тест (unit test)
Показує, що модуль працює правильно
Тестує лише логіку (add)
Не тестує взаємодію з БД, файлами, мережею
Виконується в пам’яті
Тестує лише один клас/метод
Короткий і читабельний
Не містить циклів та умов
Повторюваний, не залежить від послідовності