Page 18 - 4787
P. 18
Архітектура програми повинна базуватися на використанні багатьох сильно
пов’язаних компонентів, які слабо зчеплені один з одним, завдяки чому
тестування коду спрощується. TDD не тільки предбачає перевірку коректності,
але й вплив на дизайн програми. Спираючись на тести, розробники можуть
швидше уявити, яка функціональність необхідна користувачеві. Таким чином,
деталі інтерфейсу з’являються задовго до кінцевої реалізації рішення.
Зввичайно, до тестів застосовують тіж самі стандарти кодування, що і до
основного коду. На рис. 2.1. зображено цикл розробки програмного
забезпечення через тестування у вигляді блок- схеми
Тест
Написати тест
пройшов
Чи проходить
написаний тест
Тест Написати код Один з тестів
не пройшов не пройшов
Записати всі
тести
Всі тести Почистити код
Завершилися успішно
Рисунок 2.1 - Графічне представлення циклу розробки
При розробці через тестування, додавання кожної нової функціональності
( feature) в програму починається з написання тесту. Безумовно цей тест буде
проходити, оскільки відповідний код ще не написаний. (Якщо ж написанний
тест пройшов, це означає, що або «нова» функціональність вже існує, або тест
має недоліки). Щоб написати тест, розробник повинен чітко розуміти
предявлені до нової можливості вимоги. Для цього розглядають можливі
стандарти використання і можливі історії використання користувачів. Нові
вимоги можуть також вплинути на зміни існуючих тестів. Це відрізняє
розробку через тестування від технік, коли тести пишуться після того, як код
17