Page 26 - 4787
P. 26
помилок, необхідні тести реальних реалізацій інтерфейсів, що описані вище. Ці
тести можуть бути відділені від інших модульних тестів і реально є
інтеграційними тестами. Їх необхідно менше, ніж модульні, і їх можна
запускати рідше. Тим не менше, найчастіше їх реалізують використовуючи ті ж
бібліотеки для тестування ( testing framework), що і модульні тести.
Інтеграційні тести, які змінюють дані в базі даних, повинні відкочувати
стан бази даних до того, який був до запуску тесту, навіть, якщо тест не
пройшов. Для цього часто застосовуються такі засоби:
1. Метод TearDown, що присутній в біьшості бібліотек для
тестування.
2. Try...catch...finall у структури обробки винятків, там де вони
доступні.
3. Трансакція баз даних.
4. Створення знімку(snapshot) бази даних перед запуском тестів і
повернення до нього після закінчення тестування.
5. Скидання бази даних в чистий стан перед тестом, а не після нього.
Це може бути зручно, якщо цікаво переглянути стан бази даних, що залишився
після не проходження тесту.
Питання для самоконтролю.
1. Що слбою уявляє розробка програмного забезпечення через
тестування ?
2. Що означає абревіатура TDD 7
3. Дайте визначення тесту при розробці програмних продуктів ?
4. З яких етапів складається тест ?
5. Що означає автоматизований модульний тест ?
6. Зобразіть графічно цикл розробки програмного забезпечення через
тестування.
7. Що таке ре факторинг ?
8. Що означають абревіатури KISS і YAGN ?
25