Page 17 - 4787
P. 17
2 РОЗОБКА ПРГРАМНОГО ЗАБЕЗПЕЧЕННЯ ЧЕРЕЗ ТЕСТУВАННЯ
Розобка через тестування (test-driven development, TDD) — техніка
розробки програмного забезпечення, яка основана на повторенні дуже коротких
циклів розробки: спочатку пишуть тест, що покриває бажані зміни, потім
пишуть код, який дозврлить пройти тест, і під кінець перетворюють
(рефакторинг) новой код, до відповідних стандартів. Розробка прграмного
забезпечення через тестування заохочує використання простого дизайну і
внушає впевненість (inspires confidence). Тест — це процедура, яка дозволяє
або підтвердити, або спростувати працездатність коду коли програміст
перевіряє працездатність розробленого ним коду, він виконує тестування
вручну. У даному контексті тест складається з двох етапів: стимулювання коду
і перевірка результатів його роботи. Автоматичний тест виконується інакше:
замість програміста стимулюванням коду і перевіркою результатів займається
комп’ютер, який відображає на екрані результат виконання: код працездатний
або код непрацездатний. При цьому здійснюється «інверсія відповідальності»:
від логіки тестів і їх якості залежить, чи буде код відповідати технічному
завданню. Методика розробки через тестування полягає в організації вимог до
написання коду – тонка, але важлива відмінність автоматичних тестів і
виробленні певних навичок тестування.
Розробка через тестування вимагає від програміста створення
автоматизованих модульних тестів, що визначають вимоги до коду
безпосередньо перед написанням самого коду. Тест містить перевірки умов, які
можуть або виконуватися, або ні. Коли вони виконуються, то говорять, що тест
пройдено. Прожодження тесту підтверджується поведінкою, яку передбачає
програміст. Розробник часто використовує для тестування ( testing frameworks)
при створенні в автоматизації запуску наборів тестів.. На практиктиці модульні
тести покривають критичні і нетривіальні ділянки коду. Це може бути код, який
підлягав частковим змінам, код, від роботи якого залежить працездатність
значної кількості іншого коду, або код з великою кількістю залежностей.
Середовище розробки повинно швидко реагувати на незначні модифікації коду.
16