View
1.283
Download
3
Category
Tags:
Preview:
DESCRIPTION
My automated-testing.info meet-up #16 presentation
Citation preview
A U T O M AT E D -T E S T I N G . I N F O
BDD на Java при помощи Selenium UI тестов
Май 2012Алексей Резчиков
A U T O M AT E D -T E S T I N G . I N F O
• Java разработчик и тимлидс более чем 10-летним стажем
• Евангелист автоматизированноготестирования уже более 4-х лет
• Энтузиаст XP/Agile/Lean
• Успел «понюхать порох» вместе с eBay и HP
Обо мне
2
A U T O M AT E D -T E S T I N G . I N F O
План
• В чем польза BDD?• BDD + Selenium : как это работает
вместе?• Практика (live coding)• Альтернативы• Критика подхода • Выводы
3
A U T O M AT E D -T E S T I N G . I N F O
Все началось с XP
4
A U T O M AT E D -T E S T I N G . I N F O
Потом придумали TDD
5
A U T O M AT E D -T E S T I N G . I N F O
Суть TDD
6
A U T O M AT E D -T E S T I N G . I N F O
TDD это прекрасно, но…
7
Кто будет думать о качестве?
A U T O M AT E D -T E S T I N G . I N F O
Что ИМЕННО дает TDD?
A 2005 study found that using TDD meant writing more tests and, in turn, programmers who wrote more tests tended to be more productive. Hypotheses relating to code quality and a more direct correlation between TDD and productivity were inconclusive.Wikipedia
8
A U T O M AT E D -T E S T I N G . I N F O
Что ИМЕННО дает TDD?
Test-driven development offers more than just simple validation of correctness, but can also drive the design of a programWikipedia
9
A U T O M AT E D -T E S T I N G . I N F O
Попытка исправить TDD – ATDD
10
A U T O M AT E D -T E S T I N G . I N F O
Попытка исправить TDD – ATDDAcceptance Test Driven Development (ATDD) is a practice in which the whole team collaboratively discusses acceptance criteria, with examples, and then distills them into a set of concrete acceptance tests before development begins. http://testobsessed.com/blog/2008/12/08/acceptance-test-driven-development-atdd-an-overview
/
11
A U T O M AT E D -T E S T I N G . I N F O
Попытка исправить TDD – ATDDAcceptance TDD helps coordinate software projects in a way that helps us deliver exactly what the customer wants when they want it, and that doesn’t let us implement the required functionality only half way.
http://www.methodsandtools.com/archive/archive.php?id=72
12
A U T O M AT E D -T E S T I N G . I N F O
Что же такое BDD?
• At the heart of BDD is a rethinking of the approach to unit testing and acceptance testing: unit test names are whole sentences starting with the word "should" and they are written in order of business value.
• BDD encourages collaboration among developers, QA and non-technical or business participants in a software project. It has evolved over the last few years.
Wikipedia
13
A U T O M AT E D -T E S T I N G . I N F O
Магия слов: GWT
14
A U T O M AT E D -T E S T I N G . I N F O
BDD + Selenium
Concordion is an open source tool for writing automated acceptance tests in Java*
* There are also versions for .NET, Python, Scala, and Ruby.
15
A U T O M AT E D -T E S T I N G . I N F O
How it works?
Concordion Test
Runner
TestNG/JUnit test
Concordion test spec
TestNG/JUnit test methods
PageObject
WebDriver Browser
16
A U T O M AT E D -T E S T I N G . I N F O
Практика
Пример тестирования сайта
17
A U T O M AT E D -T E S T I N G . I N F O
Альтернативы: платформа
Стоит быть прагматичными – не стоит добавлять Java в проекты где ее нет.
18
A U T O M AT E D -T E S T I N G . I N F O
Альтернативы: BDD фреймворк• Cucumber• JBehave• easyB…
19
A U T O M AT E D -T E S T I N G . I N F O
Альтернативы: UI тестыне Selenium’ом единым
20
A U T O M AT E D -T E S T I N G . I N F O
Критика подхода
• BDD может быть не нужен, достаточно ATDD
• часто разумней заменить UI тесты более низкоуровневыми
21
A U T O M AT E D -T E S T I N G . I N F O
Выводы
22
A U T O M AT E D -T E S T I N G . I N F O
А если серьезно
• BDD незаменим в проектах, где необходима тесная связь бизнеса с командой разработки
• BDD имеет свою четкую область применения
• внедрение BDD это комплексный процесс
• успешная команда работает на качество вместе
23
A U T O M AT E D -T E S T I N G . I N F O
Вопросы
@twincengray
alex.mcgray@gmail.com
http://mcgray.com.ua24
Recommended