Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Разработка через тестирование (TDD и BDD)

8,786 views

Published on

Задорная презентация, посвещенная введению в разработку через тестирование. В частности, рассмотрены такие методологии как TDD (Test-Driven Development) и BDD (Behavior-Driven Devopment), их несомненные достоинства и недостатки, а также практическое применение.

Презентация подготовлена по материалам прошедшей 10.10.2013 конференции "Developers Software Conference 2013" в Витебске, организатором которой выступила компания "EPAM Systems".

Published in: Technology
  • Login to see the comments

Разработка через тестирование (TDD и BDD)

  1. 1. через тестирование
  2. 2. Presented by Вячеслав Лялькин Excellence in Software Engineering
  3. 3. Уровни тестирования
  4. 4. Unit Tests Integration Tests Acceptance Tests GUI Tests Manual Tests
  5. 5. Test-driven development
  6. 6. * Test-Driven Development * Test first
  7. 7. Red-Green-Refactor
  8. 8. RED GREENREFACTOR RED
  9. 9. RED GREENREFACTOR GREEN
  10. 10. RED GREENREFACTOR REFACTOR
  11. 11. КАЧЕСТВО ТЕСТОВ: (1) 100% покрытие тестами; (2) модульные тесты; (3) изменения без страха.
  12. 12. КАЧЕСТВО КОДА: (1) модульный, гибкий и расширяемый код; (2) всегда работающий код; (3) меньшее время отладки; (4) поощряет рефакторинг.
  13. 13. *
  14. 14. KEEP CALM, THINK AND BE CAREFUL!
  15. 15. (1) высокий порог вхождения; (2) время при integration-тестировании; (3) ошибочный тест = ошибочный код; (4) поддержка большого количества тестов. НЕДОСТАТКИ TDD:
  16. 16. When TDD «smells»
  17. 17. Пропускается стадия неработающего теста; Меряется «покрытие кода»; Отсутствие «зеленого» теста последние 10 минут; Много времени тратится на рефакторинг; Игнорируются слишком простые/сложные сценарии. FAILS
  18. 18. Behavior-driven development
  19. 19. BDD • Behavior-Driven Development; • ответвление TDD • связь кода с требованиями; • фокус не на тестах, а на поведении; • запись требований с помощью обычных фраз.
  20. 20. Concordion Инструменты BDD
  21. 21. BDD – как это работает 1 Описание поведения заказчиком;
  22. 22. Исходное состояние Событие Проверка реакции
  23. 23. Реализация функционала;2 1 Описание поведения заказчиком; BDD – как это работает
  24. 24. Реализация функционала;2 1 Описание поведения заказчиком; Проверка соответствия требованиям (тест прошел/не прошел).3 BDD – как это работает
  25. 25. доступен для многих платформ <Java, C++, JS, PHP и другие> http://cukes.info
  26. 26. ПРИМЕР
  27. 27. add_product.feature: AddProductStepdefs.java:
  28. 28. • Web-application • Continuous Integration • Acceptance-tests • TestNG • Cucumber • Selenium • Smoke/full-tests ПРИМЕР ИНФРАСТРУКТУРЫ
  29. 29. THANKS!

×