Download - Atdd In Practice (Agile Tour 2010 Qingdao)
Public
1 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
ATDD In Practice A NSN Story
Public
2 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Background
Name : XU YI (徐毅)
Title : Consultant, Agile Development
Story
• One release of an radio product’s transport
platform
• Multi-site development, hybrid style (waterfall,
Agile)
• I was Scrum Master / Test Automation Coach
• Continuous integration, ATDD, Scrum, etc.
Public
3 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
60,000 people in more than 150 countries
More than 600 Communications Service
Provider customers
World’s second largest telecommunications
supplier
Every second we touch the lives of millions of
individuals.
Public
4 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Latin America
APAC
Greater China
North East
Middle East & Africa
West & South Europe
North America
R&D in all technology hotspots in the world. Major sites in Finland, Germany, China, India and US.
Global presence - close to key markets and customers
Public
5 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Unit And Acceptance Tests
What is ATDD?
Acceptance Test-Driven Development
Unit And Acceptance Tests
Unit Test : CODE-FACING
Express expectations that developers have about the code
Acceptance Test : BUSINCESS-FACING
Express expectations that Product Owners or other business stakeholders have about externally visible behavior of the software under test
Public
6 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Unit TDD
DESIGN practice!
Acceptance TDD
REQUIREMENT ANALYSIS
practice!
≠ Unit testing
is not just testing
It is a
It is a
Public
7 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Acceptance-Test Driven Development (ATDD) Cycle
Elisabeth Hendrickson Slide
Public
8 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Xu Yi (徐毅) / 24th October 2009 / Agile Tour Chengdu 2009
ATDD: Discuss
Concrete Tests
Elisabeth Hendrickson Slide
Public
9 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Requirement Analysis
• i.e. Scrum Backlog Grooming
– Product Owner, Team, Scrum Master
– Clarify User Stories
– Generate Acceptance Tests
Public
10 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Case Study : A Simple Web Application
• User could login using correct username and password
– “Valid Login”
• User can not login using incorrect username and/or password
DISCUSS
Public
11 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Valid Login
We have two administrators, they must be able to login
• Username : “demo”; password : “mode”.
• Username : “dave”; password : “wibble”.
So we have cases
• Demo Login Successfully
• Dave Login Successfully
DISCUSS
Public
12 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Demo Login Successfully
What should “demo” do to login?
Eh, have to go to the login page first
Next, input and confirm the data
Then “demo” should be in the welcome page
DISCUSS DESIGN
Public
13 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
ATDD: Develop
Elisabeth Hendrickson Slide
Public
14 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Wibble Login Successfully
How about “wibble” login?
Wait a moment, is this case so similar to “demo” one?
Let’s remove the duplication!
DESIGN
Public
15 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
The duplication
The only differences :
• Username
• Password
Let’s put them as variables! (in the user keyword)
DESIGN
Public
16 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
DEVELOP
And more test automation design stuff ……
DESIGN DEVELOP
Public
17 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
ATDD: Deliver
Elisabeth Hendrickson Slide
Public
18 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
DELIVER – Test Part
Some final clean up…
Ok, here is
And its logs …
DELIVER
Public
19 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
ATDD Cycle using robotframework
DISCUSS
DEVELOP
DELIVER
TDD
Cycle
Co
d
e
Automated Acceptance
Test cases (e.g. Robot)
Public
20 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Lessons Learned - Success Factors
• Collaboration
• Consider and integrate effort into whole development cycle
• Reliable and robust tests
• Frequent execution
Public
21 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Lessons Learned - Shared Vocabulary
• Discussing, designing and creating keywords for testing, build a domain-specific language that describes the system under test.
• The terms are ubiquitous, which creates a shared vocabulary that everyone on the team has the same understanding of the words
• On the way, misunderstandings are uncovered and discussed, different opinions are respected and considered.
Public
22 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Environment
Must
• python 2.7
• robotframework 2.5.1
• jre-6u16-windows-i586-s.exe
• robotframework-seleniumlibrary-2.4.win32.exe
Should
• robotide-0.26.1.win32.exe
• wxPython2.8-win32-unicode-2.8.11.0-py27.exe
Could
• rfdoc-0.2.tar.gz
# robotframework website : http://robotframework.org
Public
23 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Retrospective
DISCUSS
DEVELOP
DELIVER
TDD
Cycle
Co
de
Automated Acceptance
Test cases (e.g. Robot)
Talk With Your Pair
• MY FAVOURITE …
• MY QUESTION …
• MY SUGGESTION …
Public
24 © Nokia Siemens Networks
R 255
G 211
B 8
R 255
G 175
B 0
R 127
G 16
B 162
R 163
G 166
B 173
R 137
G 146
B 155
R 175
G 0
B 51
R 52
G 195
B 51
R 0
G 0
B 0
R 255
G 255
B 255
Primary colours: Supporting colours:
Thanks!
Xu Yi
(徐毅)
twitter : kaverjody
t.sina.cn : kaverjody
t.qq.com : kaverjody
mailto:[email protected]
http://blog.sina.com.cn/kaverjody
http://www.linkedin.com/in/kaveri
“Consultant, Agile Development” @ Nokia Siemens Networks
Scrum / Agile Coaching, Testing & Test Automation
© Copyright 2010 Hewlett-Packard Development Company, L.P. 2
关于我
曾任职诺基亚西门子网络公司全球精益及敏捷转型部门担任精益及敏捷顾问。
专长于大型组织(>500人)的敏
捷迁徙转变。精通各种风格、类型的黑盒测试,包括验收性测试驱动开发、探索性测试、测试自动化等等。在辅助一个400人的大型组织
搭建、规范化测试自动化系统及实践之后,选择传授敏捷/Scrum以及
精益的要义,辅导其他组织进行转变。兴趣广泛,包括但不限于各种类型测试、敏捷/Scrum及精益。
国内敏捷会议的常客,近期的有敏捷中国2010,Scrum Gathering Shanghai 2010,以及2009、2010年的敏捷全球之旅中国站活动。
更多信息请看LinkedIn主页:http://cn.linkedin.com/in/kaveri
© Copyright 2010 Hewlett-Packard Development Company, L.P. 20
联系方式
惠普邮箱:mailto:[email protected]
mailto:[email protected] mailto:[email protected]
Skype : KAVERJODY 新浪微博: 徐毅-Kaveri 腾讯QQ : 17376122
http://blog.sina.com.cn/kaverjody
http://kaverjody.wordpress.com http://cn.linkedin.com/in/kaveri