Transcript
Page 1: Automation Culture: Essential to Agile Success

W16 Agile Testing

5/1/2013 3:00:00 PM

Automation Culture: Essential to

Agile Success

Presented by:

Geoff Meyer

Dell, Inc.

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073

888-268-8770 ∙ 904-278-0524 ∙ [email protected] ∙ www.sqe.com

Page 2: Automation Culture: Essential to Agile Success

Geoff Meyer

A test architect in the Dell Enterprise Solutions Group, Geoff Meyer has more than twenty-seven years of experience as a software developer, manager, test architect, and business analyst. Geoff co-chairs the Agile Steering committee within Dell Enterprise Solutions Group which guides the software development practices of more than 600 development, test, and UX engineers across three Global Design Centers. He is an active member of the Agile Austin community.

Page 3: Automation Culture: Essential to Agile Success

4/16/2013

1

Automation Culture:Essential to Agile SuccessSTAR East 2012

Geoff Meyer, [email protected]

24 April 2013Last updated: February 28, 2013

Session Objectives• Challenges to expect when adopting Test

automation during your transition to Agile

• Practical Solutions to What, When and What Not

to Automate

• Real-world examples − from a large organization

perspective

• Challenges automating in a HW-dependent

environment

• For Organizational Leaders driving Strategy

• A Tools Discussion

• Focused on how to develop Test Automation

IS

IS

NOT

Page 4: Automation Culture: Essential to Agile Success

4/16/2013

2

Introductions

3

Geoff Meyer

• Dell Inc, 1998 – present

– Test Architect

› Agile Test & Automation Strategy

– Agile Steering Committee Co-Chair

– Global Projects

› 15 Scrum teams

› 9 scrum teams

› 7 Scrum teams

• NCR Corp. 1984 – 1998

– SW developer, Project Lead, SW Manager

• B.S. Computer Science, San Diego State University

• Masters Engineering Management - NTU

4

Page 5: Automation Culture: Essential to Agile Success

4/16/2013

3

5

Agenda

• Why Automation is essential to Agile

• The Dell Landscape and Agile @ Dell

– Organizational Context Matters

• Challenges and Common Pitfalls

• The Automation Landscape

• Foundations of an Automation Culture

• Care and Feeding of the Automation Culture

The Need,

The Challenge,

The Pitfalls

6

Page 6: Automation Culture: Essential to Agile Success

4/16/2013

4

Why is Automation So Important in Agile?

• Near-term

– Ensures that you don’t break what you just built

– Provides safety net for developers & rapid feedback to new changes

– Continuous Integration and use of Build Verification Test (BVT)

• Long-term

– Maximizes velocity of Scrum team

– Creates capacity for Exploratory and ad-hoc Testing

– Enables activities that can’t be done cost-effectively by humans

And if you don’t…

Projects rapidly build up an unmanageable regression suite

Differences with Automation in Waterfall?

In Waterfall…

• Automated tests are derived from the backlog of completed features

– In Agile, Automation can be incorporated in the requirement

• Testing and automation is performed after Development is complete

• Focus is on first-time discovery of defects and optimizing your test coverage

vs. Agile… where automation provides immediatefeedback to defect introduction

8

Page 7: Automation Culture: Essential to Agile Success

4/16/2013

5

The Challenge

Adopting Agile…

…In an organization that doesn’t have an Automation Culture

“Apply Test Automation in the

context of your organizational

automation needs”

--- Bob Galen, iControl

10

The Context @ Dell

http://amazngwallpapers.blogspot.com

Page 8: Automation Culture: Essential to Agile Success

4/16/2013

6

Dell Enterprise Solutions GroupGlobal Design and Development using Agile Scrum

11

Noida Design

Center

Bangalore

Design Center

Austin

Design Center

Silicon Valley

Design Center

Dell Enterprise SolutionsSoftware Products

• Server Systems Management

• Converged Infrastructure Systems Management

• Private Cloud Server Management

• Console Plug-ins (i.e. for SCCM, vCenter…)

12

Common Product Characteristics:

• Large hardware support test matrix

• Software is installed the Data Center

• Enterprise update cycles ~6 months

• Products must function even as underlying FW, BIOS,

and Drivers are upgraded - SUSTAINING

Page 9: Automation Culture: Essential to Agile Success

4/16/2013

7

Agile @ Dell Roles/Responsibilities

13

Product

Owner

Product Owner Proxy1 per Scrum

Scrum Master1 per Scrum

Development4-5 per Scrum

Test2:1

InfoDev1 per 3 scrum team

UI1 per Scrum

Architecture, Design, Development, Unit Test

Test Design, Automation Development

UI Design, Development, Unit Test

User-facing text, error messages, online help

Facilitate, Remove Scrum impediments

Scrum teams

User Story Development

Customer rep. for Scrum team

Story Acceptance

Product Management

Epic Prioritization & Business Value

Represents Customer - Profiles/Roles

Requirement Acceptance

Agile @ Dell with Adaptations

14

Hardening

1 2 3 N-1 N

1 2 3 N-1 N

1 2 3 N-1 N

Release Exit

FeatureComplete

Code FreezeSprints

Release Plan

Define Plan Develop Launch

PRP

Software System Test

Extended Sprint Test

Stability

Page 10: Automation Culture: Essential to Agile Success

4/16/2013

8

Pitfalls encountered at

• Development didn’t historically automate unit tests

• Build teams were staffed with non-Build practitioners

• Minimal guidance beyond “Go forth and automate”

15

• Architecture(s) not optimized for Automatability

• Automation was interpreted by many as “Automate the UI”

• Insufficient SW engineering background across Test teams

Which Resulted In…

• Automation not keeping up within the sprint

• Feature Devotion

• Multiple automation tools & licenses

• Test scripts not designed for re-use

16

Page 11: Automation Culture: Essential to Agile Success

4/16/2013

9

17

The Automation Landscape

http://amazngwallpapers.blogspot.com

Opportunities for Automation

• It’s not just about Test cases

• Can provide efficiencies to:

–Test Preparation, Setup and Configuration

–Test Content Development and Execution

› Continuous Integration & Automated BVT

› Acceptance Testing

› Test Matrix coverage

–Non-Functional Testing

› Longevity, Scale and Performance Characterization

18

Page 12: Automation Culture: Essential to Agile Success

4/16/2013

10

Test Preparation

• Setup & Configuration

– OS Provisioning and Configuration

• Deployment

• Test case staging

• Environment Cleanup/Baseline

• Virtualization-based test environments

19

Test Content DevelopmentWhole team ownership of QA & Automation

• UI automation on Customer Usage workflows

20

CAUTION: Application Architecture can be an enabler or inhibitor

• Unit Test Automation

• Automated CI (UT, Build, BVT)

• Web-services (or CLI) Test Automation for Functional Testing

• In-Sprint, Automated Acceptance Tests

1 - Agile Testing: A Practical Guide for Testers and Agile teams

1

Page 13: Automation Culture: Essential to Agile Success

4/16/2013

11

Application Architecture Matters

• Does it facilitate testing at the API/Services level?

• Does the Business/Error Logic reside below the services level?

• Does the UI architecture support test automation other than record-playback?

For Large organizations:– Standardize UI architectures across the product portfolio

› HTML5, Flex, Silverlight…

– Standardize Service architectures across the product portfolio

› SOAP, REST, CLI, API

21

Prioritize and Identify what NOT to Automate

What NOT to Automate

• Everything

• GUI – Except for High-value customer usage flows once the UI is stable

• Tests that would only find low severity bugs

22

Prioritize High ROI

1. BVT Candidate Acceptance Test

– Test of core functionality that executes in a short duration

2. Core Functionality to be run in Nightly Regression

3. Sustaining Test Candidate Test

– Functional test that verifies the application can withstand subsystem changes

Page 14: Automation Culture: Essential to Agile Success

4/16/2013

12

Non-Functional Testing

• Performance Characterization

• Longevity

• Stress

• Scale

• Concurrency

23

Often times analysis of these areas are simply too cost-prohibitive to be done manually

2 - http://lisacrispin.com/wordpress/2011/11/08/using-the-agile-testing-quadrants/

2

24

Foundations of an Automation Culture

Images.yahoo.com

Page 15: Automation Culture: Essential to Agile Success

4/16/2013

13

Keys To A Culture Transition

• Development vs. Test

• A different “School” of Test3

• Evolve from Functional Responsibility

…to Whole Product Ownership

253 – Scott Barber “Approaches to Software Testing: An Introduction “

Establishing an Automation Culture

• Identify

• Near and long-term automation focus areas

• Inventory the culture and skillset of organization

• Establish

– Tooling and Infrastructure Standardization

– Develop your ‘community’

• Develop

– Workforce transition plan

• Organize

– Embedded vs. Specialized Automation team

– Re-align project staffing

• Operationalize

26

Page 16: Automation Culture: Essential to Agile Success

4/16/2013

14

IdentifyFocus Areas for Automation

27

4 - http://lisacrispin.com/wordpress/2011/11/08/using-the-agile-testing-quadrants/

4

Establish

• Tooling and Infrastructure

–Tooling Standards and Frameworks

–Team to develop/manage home-grown tools

–Lead tool evaluations to meet new architectures & technologies

• Community: Internal and External

28

Multiple automation Tools/FW’s may be needed to automate at layers of testing:

• Unit level• Middle tier• UI-driven

Page 17: Automation Culture: Essential to Agile Success

4/16/2013

15

Develop & Organize

• Adjust Hiring Practices

• Re-align Project staffing

• Embedded Automation vs. Specialized

Automation team

• Training

–New-hire and ongoing

Confidential29

Operationalize

• Whole team commitment in words and actions

• Include Test Automation in Acceptance Criteria

–Unit

–Acceptance

• Continuous Integration and BVT

• Establish Metrics and Governance

30

Page 18: Automation Culture: Essential to Agile Success

4/16/2013

16

Care and Feeding of the Automation Culture

31

Maintaining the Automation Culture

• Operationalize Automation

– Include Test Automation in the Acceptance Criteria

• Encourage Community Practice and Participation

– External - Industry User groups & Conferences

– Internal - Brown-bag sessions, Showcases, Mini-conference

• For Large organizations:

– Overcome Skillset deficiencies by adjusting staffing strategy

– Automation Leadership team, Automation Architect(s)

– Continually monitor the alignment of Arch, Dev and Test

– Develop reward systems

32

Page 19: Automation Culture: Essential to Agile Success

4/16/2013

17

Recognizing a Successful Automation Culture

• Automation is a shared responsibility

• Automatability is a key architectural

consideration

• Continuous Integration & BVT

• Teams are staffed to include an

automation skillset

• Automation is operationalized

Resources

• Agile Manifesto

• Articles:

– http://support.smartbear.com/articles/testcomplete/automated-testing-agile-environment/ - SmartBear

– http://lisacrispin.com/wordpress/2011/11/08/using-the-agile-testing-quadrants/ -Lisa Crispin

– http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=17793&tth=DYN&tt=siteemail&iDyn=2 – Rajini Padmanaban

• Books:

– Scaling Software Agility: Best Practices for Large Enterprises – Dean Leffingwell

– How Google Tests Software – James Whittaker, Jason Arbon, Jeff Carollo

– Agile Testing: A Practical Guide for Testers and Agile teams – Lisa Crispin, Janet Gregory

• Presentations:

– Approaches to Software Testing: An Introduction – Scott Barber

– Agile Testing: Challenges Beyond the Easy Contexts – Bob Galen34

Page 20: Automation Culture: Essential to Agile Success

4/16/2013

18

Questions?

35

Backup

36


Recommended