atdd in practice (agile tour 2010 qingdao)

26
Public 1 © Nokia Siemens Networks ATDD In Practice A NSN Story

Upload: yi-xu

Post on 26-Jun-2015

395 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 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

Page 2: Atdd In Practice (Agile Tour 2010 Qingdao)

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.

Page 3: Atdd In Practice (Agile Tour 2010 Qingdao)

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.

Page 4: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 5: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 6: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 7: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 8: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 9: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 10: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 11: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 12: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 13: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 14: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 15: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 16: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 17: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 18: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 19: Atdd In Practice (Agile Tour 2010 Qingdao)

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)

Page 20: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 21: Atdd In Practice (Agile Tour 2010 Qingdao)

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.

Page 22: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 23: Atdd In Practice (Agile Tour 2010 Qingdao)

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 …

Page 24: Atdd In Practice (Agile Tour 2010 Qingdao)

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

Page 25: Atdd In Practice (Agile Tour 2010 Qingdao)

© 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

Page 26: Atdd In Practice (Agile Tour 2010 Qingdao)

© 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