
Щоденна збірка та димові тести
Незалежно від вибору стратегії інтеграції, хорошим підходом до розробки ПЗ є «щоденна збірка та димові тести». Щодня кожен файл компілюється і збирається у виконувану програму. Після чого проганяється «димовим тестом» - проста перевірка, яка визначає працездатність продукту.
Термін «Димові тести» з’явилися в електроніці. Розробники на визначеному етапі включають пристрій, що випробовується в електромережі та спостерігають чи він не димить.
Цей простий процес має кілька переваг:
Він зменшує ризик низької якості, який пов'язаний з ризиком неправильної інтеграції.
Підтримує спрощену діагностику помилок. Коли продукт збирається і тестується кожен день, легко помітити чому його робота в певний день погіршилась.
Він покращує моральний стан розробників.
Щоб процес щоденної збірки діяв, то ПЗ, що збирається повинне бути працездатним. В іншому випадку збірка вважається зіпсованою і її виправлення стає пріоритетним завданням.
Кожен проект має свої стандарти. Встановлений стандарт повинен бути суворим, щоб не допускати серйозних дефектів, але він також має бути поблажливим, щоб нехтувати найпростішими помилками, які здатні паралізувати розробку ПЗ.
Ефективна збірка повинна:
1. успішно компілювати всі файли, бібліотеки та інші компоненти;
2. успішно компонувати всі файли, бібліотеки та інші компоненти;
3. не містити серйозних дефектів, що перешкоджають запуску програми або роблять її виконання непередбачуваним.
«Димовий тест» відчуває всю систему від початку до кінця. Він не повинен бути всебічним, але повинен бути здатним виявити основні проблеми.
Щоденна збірка не має великого значення без «димового тесту». Без «димового тесту» щоденні збірки стають немов вправами, які дозволяють лише переконатися в наявності щоденної безпомилкової компіляції. «Димовий тест» повинен розвиватися в міру розвитку системи.