SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
 
 
 
 
 

AW12
Concurrent Session 
11/7/2012 3:45 PM 
 
 
 
 
 
 
 

"Test Automation on Large Agile
Projects: It?s Not a Cakewalk"
 
 
 

Presented by:
Scott Schnier
Agilex Technologies
 
 
 
 
 
 
 
 

Brought to you by: 
 

 
 
340 Corporate Way, Suite 300, Orange Park, FL 32073 
888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Scott Schnier
Agilex Technologies
Scott Schnier is currently a senior agile practice manager at Agilex Technologies
working with other courageous and passionate people to bring agile development
practices to the Federal Government. He has held positions of software engineer,
director of development, mentor, architect, director of quality assurance, project
manager, program manager, agile coach, ScrumMaster, and proxy product owner.
Scott’s varied work experience has found him in small startups, Fortune 500 firms, and
as a government contractor. A founding member of the Cincinnati chapter of ALN, Scott
is currently active in the Washington DC chapter. Scott takes special pleasure in and
has a passion for helping people work better together.
.

 
9/3/2012

Test Automation on Large Agile Projects,

It’s not a Cakewalk

Scott Schnier
Agilex Technologies
Scott.Schnier@Agilex.com
1

The Story


Test Automation
◦ Growth and division of work and
responsibility
◦ Support of Agile Values
◦ Lessons learned and victories



There are no “best practices”

2

1
9/3/2012

It’s not a cakewalk

3

The Setting
Core group of Agile/Scrum practioners
 Many staff new to Agile/Scrum
 Customer willing to try something new,
frustrated with past failures.
 Government contract, multiple vendors.
 Driven by Legislation


4

2
9/3/2012

Geography

5

Scrum Team Evolution
1

3
5
2

4

6
9
7

8

D

11
10

R

S

13
12

After 2 ½ years
6

3
9/3/2012

Test Automation - Why ?

7

Keep Development on Track

8

4
9/3/2012

Capture Knowledge

9

Automate repetitive work

10

5
9/3/2012

“Working software over
comprehensive documentation”
How do 
you 
know it 
still 
works 
today?

11

Why Automate Tests?
Move discovery of defects to the left (
earlier)
 Respond to emergent requirements
 Capture Intellectual property (test skill)
 Enable test engineers to focus on creative
work not repetitive testing tasks.
 Make specifications executable and a
trusted way to understand the impact of
change.


12

6
9/3/2012

Test Vision
The scrum team is the value creation
engine
 Tests are best created in the Scrum team
 Test is a skill not a role
 Need to support test while making the
scrum team primary


13

Issues on the Journey


Test debt accumulation



Specialized testing tools
contribute to
segmentation of
responsibility



People who do functional
testing straddling more
than one team

14

7
9/3/2012

Managing Test Debt
Organization
 Definition of “Done”


15

How do we get test debt
How many 
points is 
that story?

Oh… 8 points 
plus testing

16

8
9/3/2012

Test Debt avoidance


Size of a story is more accurate with an
integrated discussion regarding all of the
test and product work.

17

Regression test debt


The story is complete but 30% of the
regression tests are broken.

18

9
9/3/2012

Definition of “Done”
To be complete - tests
must be done and
running green on the
Continuous Integration
pipeline.
 If we make an exception then “test fixing” stories
should be estimated and
in the backlog so PO’s
can agree to the
exception.


19

Testing work straddling teams

20

10
9/3/2012

Traditional SDLC Workstreams

21

A more Agile Organization

22

11
9/3/2012

Where is testing done?
In the scrum team
 Recall definition of done
 What happens to the regression tests
that accumulate?


23

Organization for Test Management
9 Scrum
1

7



Partitioned rotating triage/
leadership

2

6
5

3
4

End of sprint handoff







Completely partitioned
Autonomous teams

9 Scrum 
1

7

2
6

Scrum teams Plus System Test
Integration
Dedicated Maintenance Team

5

3
4

STI

Maint’

24

12
9/3/2012

Lessons
Organize test sets to support scrum team
affinity.
 With more than ~5 scrum teams an
integration or “DevOps” team is
necessary and good.
 Listen for and stamp out opportunities
for debt to accumulate.
 Test Community of Practice is valuable
and takes work to be effective


25

Key challenge


Design organization/responsibility so
that test debt does not accumulate.

26

13
9/3/2012

Shared responsibility


Functional scrum
team
◦ Develops tests
◦ Executes acceptance
tests
◦ Promotes to regression
◦ Monitors selective
regression projects
◦ Performs impact analysis
of new functions/fixes
regression



System Test
integration
◦ Maintains test
framework/standards
◦ Executes regression
tests – All
◦ Creates and maintains
reusable test
components.
◦ Helps functional scrum
teams with massive
breakages.
27

Development workflow
1.Update personal workspace
2.Implement change (Story/task, defect, test)
3.Test locally, unit, integration, smoke
4.Update personal workspace
5.Resolve conflicts
6.Commit change to repository & test pipe line
7.Monitor key test projects
8.Revert or fix any problems
28

14
9/3/2012

A slice of life
Skype Chat snippet 
[7/2/2012 12:23:28 PM] Dan : Trunk‐Dev is broken
[7/2/2012 12:23:45 PM] Dan : anyone working for a fix?
[7/2/2012 12:24:11 PM] Dan : …. ERROR :….
….
[7/2/2012 12:27:39 PM] Steve : I'm working with Mike on resolving it
[7/2/2012 12:30:10 PM] Dan : Thanks

29

Continuous Integration status

30

15
9/3/2012

Continuous Integration









Release Build - Integration and Unit tests
(1000’s)(commit package)
Rapid Smoke Test and Regression Lite (20 min)
(commit package)
Smoke on each functional test server(>= daily)
Regression Lite on other Browsers(>= daily)
Regression Heavy (2 hours) (>=daily)
All other automated regression tests 1000’s(daily)
Semi- automated (100’s) & Manual tests
(10’s)(delivery at least)
Ad-Hoc testing 10’s of hours( each delivery)
◦ Human intuition, UI (CSS & other risks)

31

Ongoing challenge
•

•
•
•

As system gets larger individuals are
less likely to feel responsible or
capable of fixing broken tests.
• Start with one, two then three
functional scrum teams.
• Months latter a team forms that
specializes on a particular
component of the system.
• A few more months another
component team arises….
Becomes harder to maintain the
social norms of “Stop and Fix “
The technical challenges also increase
when the system complexity grows.
The need and the risk of integration
problems also grow at the same time.

32

16
9/3/2012

Challenges of Scale
People are socially more distant
 Technical skills become more focused
 Accountability becomes more elusive
 One mistake can impact more people,
makes actions more conservative, slows
velocity


33

Wisdom








When number of teams exceeds 7 +/-2 need a
system level team focused on test
assets/regression
Test Community of Practice is essential
Organize test sets with an affinity for teams or
system components.
As the program gets larger needs to have a team
with gentle authority to ensure consistently
Ultimately with > 10 teams will need to consider
multilevel integration.
Performance/stress test is a separate team.
34

17
9/3/2012

Managing – Tool Specialists
Common tool
platform for test
developers and
product developers
 Increase the pool of
people who can
create or fix a test.


35

Why a “new” framework


Conejo Test Framework motivators
◦ Eliminate barriers to “every one is a tester”
◦ Enable data driving for more resilient tests
◦ Integrate multi modal testing into one
coherent framework Web UI, component,
web services, manual.
◦ Support the workflow from acceptance test
development to regression testing to
obsolesce
◦ Integrate all test assets
36

18
9/3/2012

Test design Goals
Minimize collateral code, focus on test
target.
 Enable tests to quickly respond to
changes in Application Under Test
 Easy to understand when it breaks (reuse
common patterns, canonical test classes)


37

Test types

Unit

Integration

Functional

Scope

Class

Component(s)

System

Persistence

No

Maybe

Yes

Author

Self

Anyone

Not the Author

Tests system interface

No

No

Yes

Traceable to epic, story
or defect

No

Maybe

Yes

Execution

Pre release
build

Pre release build

Post release build*
38

19
9/3/2012

Test Architecture
Tests

Utility Classes
Interface Classes

Se

Test Framework

JUnit

Application Under Test

39

Test Execution
@Test
@TestHeaderInfo(description = "Test Buyer Sequence",
…
functionalArea = {"Buyer" , "Order" } )
public void testBuyerSequence() {
//Test code goes here....
}
@Test
@TestHeaderInfo(description = "Test Seller Sequence",
…
functionalArea = {"Seller" } )
public void testSellerSequence() {
//Test code goes here....
}
mvn test ‐Dconejo.filter.functionalAreas="Seller"
40

20
9/3/2012

Product and “Anti-Product”
Product
DBA
Operations
Architecture

Architecture
Operations
DBA

Test
41

It’s not a cakewalk

42

21
9/3/2012

Wrap Up
Multiple Motivations
 Test is the Product anti-matter
 Needs to be approached as first class
component of the solution.
 Complex organizational and technical
concerns
 Part of the secret sauce of a successful
Agile effort.


43

Questions? – Ideas!

44

22

Contenu connexe

Tendances

The Testing Planet Issue 10
The Testing Planet Issue 10The Testing Planet Issue 10
The Testing Planet Issue 10
Rosie Sherry
 
Agile in a Legacy World - Sonik Chopra
Agile in a Legacy World - Sonik ChopraAgile in a Legacy World - Sonik Chopra
Agile in a Legacy World - Sonik Chopra
AgileNCR2014
 

Tendances (20)

Agile is easy! It's making it work with your business that is hard
Agile is easy! It's making it work with your business that is hardAgile is easy! It's making it work with your business that is hard
Agile is easy! It's making it work with your business that is hard
 
Deploy or Adopt - Success or Failure for Technology Insertion
Deploy or Adopt - Success or Failure for Technology InsertionDeploy or Adopt - Success or Failure for Technology Insertion
Deploy or Adopt - Success or Failure for Technology Insertion
 
Reduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven DevelopmentReduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven Development
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 
Tutorial test driven development with Visual Studio 2012
Tutorial test driven development with Visual Studio 2012Tutorial test driven development with Visual Studio 2012
Tutorial test driven development with Visual Studio 2012
 
Holistic testing in DevOps
Holistic testing in DevOpsHolistic testing in DevOps
Holistic testing in DevOps
 
How to test when robots become part of your process? Workshop robotesting agi...
How to test when robots become part of your process? Workshop robotesting agi...How to test when robots become part of your process? Workshop robotesting agi...
How to test when robots become part of your process? Workshop robotesting agi...
 
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
 
Vasco duarte - agile R&D - scrum gathering lisbon 2011
Vasco duarte - agile R&D - scrum gathering lisbon 2011Vasco duarte - agile R&D - scrum gathering lisbon 2011
Vasco duarte - agile R&D - scrum gathering lisbon 2011
 
Let's focus more on Quality and less on Testing by Joel Montvelisky
Let's focus more on Quality and less on Testing by Joel MontveliskyLet's focus more on Quality and less on Testing by Joel Montvelisky
Let's focus more on Quality and less on Testing by Joel Montvelisky
 
How to be Innovative
How to be InnovativeHow to be Innovative
How to be Innovative
 
Challenges with agile testing process and how to debug and troubleshoot these...
Challenges with agile testing process and how to debug and troubleshoot these...Challenges with agile testing process and how to debug and troubleshoot these...
Challenges with agile testing process and how to debug and troubleshoot these...
 
Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010
 
Getting Started with Risk-based Testing
Getting Started with Risk-based TestingGetting Started with Risk-based Testing
Getting Started with Risk-based Testing
 
Business Agility - taking advantage of an agile R&D
Business Agility - taking advantage of an agile R&DBusiness Agility - taking advantage of an agile R&D
Business Agility - taking advantage of an agile R&D
 
The Testing Planet Issue 10
The Testing Planet Issue 10The Testing Planet Issue 10
The Testing Planet Issue 10
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile in a Legacy World - Sonik Chopra
Agile in a Legacy World - Sonik ChopraAgile in a Legacy World - Sonik Chopra
Agile in a Legacy World - Sonik Chopra
 
Simona Hera - A Practical Guide for Testers in Agile Teams
Simona Hera - A Practical Guide for Testers in Agile TeamsSimona Hera - A Practical Guide for Testers in Agile Teams
Simona Hera - A Practical Guide for Testers in Agile Teams
 
Ensuring accessibility by Kenny Gilles
Ensuring accessibility by Kenny GillesEnsuring accessibility by Kenny Gilles
Ensuring accessibility by Kenny Gilles
 

En vedette

Patters for Team Collaboration: Toward Whole Team Quality
Patters for Team Collaboration: Toward Whole Team QualityPatters for Team Collaboration: Toward Whole Team Quality
Patters for Team Collaboration: Toward Whole Team Quality
TechWell
 

En vedette (16)

How to Survive the Coming Test Automation Zombie Apocalypse
How to Survive the Coming Test Automation Zombie ApocalypseHow to Survive the Coming Test Automation Zombie Apocalypse
How to Survive the Coming Test Automation Zombie Apocalypse
 
Introducing Keyword-Driven Test Automation
Introducing Keyword-Driven Test AutomationIntroducing Keyword-Driven Test Automation
Introducing Keyword-Driven Test Automation
 
Leveraging Core Values for Healthier, More Productive Teams
Leveraging Core Values for Healthier, More Productive TeamsLeveraging Core Values for Healthier, More Productive Teams
Leveraging Core Values for Healthier, More Productive Teams
 
Lean Management: Lessons from the Field
Lean Management: Lessons from the FieldLean Management: Lessons from the Field
Lean Management: Lessons from the Field
 
Become a Big Data Quality Hero
Become a Big Data Quality HeroBecome a Big Data Quality Hero
Become a Big Data Quality Hero
 
ADC-BSC EAST 2013 Keynote: Worse Is Better—For Better or for Worse
ADC-BSC EAST 2013 Keynote: Worse Is Better—For Better or for WorseADC-BSC EAST 2013 Keynote: Worse Is Better—For Better or for Worse
ADC-BSC EAST 2013 Keynote: Worse Is Better—For Better or for Worse
 
Yin and Yang: Metrics within Agile and Traditional Lifecycles
Yin and Yang: Metrics within Agile and Traditional LifecyclesYin and Yang: Metrics within Agile and Traditional Lifecycles
Yin and Yang: Metrics within Agile and Traditional Lifecycles
 
Testing Challenges within Agile Teams
Testing Challenges within Agile TeamsTesting Challenges within Agile Teams
Testing Challenges within Agile Teams
 
Patters for Team Collaboration: Toward Whole Team Quality
Patters for Team Collaboration: Toward Whole Team QualityPatters for Team Collaboration: Toward Whole Team Quality
Patters for Team Collaboration: Toward Whole Team Quality
 
Keynote: Surviving or Thriving: Top Ten Lessons for the Professional Tester
Keynote: Surviving or Thriving: Top Ten Lessons for the Professional TesterKeynote: Surviving or Thriving: Top Ten Lessons for the Professional Tester
Keynote: Surviving or Thriving: Top Ten Lessons for the Professional Tester
 
Test Estimation for Managers
Test Estimation for Managers Test Estimation for Managers
Test Estimation for Managers
 
The Mindset Change for the Agile Tester
The Mindset Change for the Agile TesterThe Mindset Change for the Agile Tester
The Mindset Change for the Agile Tester
 
Measurement and Metrics for Test Managers
Measurement and Metrics for Test ManagersMeasurement and Metrics for Test Managers
Measurement and Metrics for Test Managers
 
An Introduction to SAFe: The Scaled Agile Framework
An Introduction to SAFe: The Scaled Agile FrameworkAn Introduction to SAFe: The Scaled Agile Framework
An Introduction to SAFe: The Scaled Agile Framework
 
Agile Development in a Regulated Environment
Agile Development in a Regulated EnvironmentAgile Development in a Regulated Environment
Agile Development in a Regulated Environment
 
Testing After You’ve Finished Testing
Testing After You’ve Finished TestingTesting After You’ve Finished Testing
Testing After You’ve Finished Testing
 

Similaire à Test Automation on Large Agile Projects: It's Not a Cakewalk

Achal_Resume_7.11
Achal_Resume_7.11Achal_Resume_7.11
Achal_Resume_7.11
Achal Dalvi
 

Similaire à Test Automation on Large Agile Projects: It's Not a Cakewalk (20)

Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile EnvironmentManoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile Environment
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User Advocacy
 
Agile Cafe Boulder - Panelist and keynote slides
Agile Cafe Boulder - Panelist and keynote slidesAgile Cafe Boulder - Panelist and keynote slides
Agile Cafe Boulder - Panelist and keynote slides
 
Agile testing guide_2021
Agile testing guide_2021Agile testing guide_2021
Agile testing guide_2021
 
Agile Testing
Agile Testing Agile Testing
Agile Testing
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
 
Agile testing
Agile testingAgile testing
Agile testing
 
Seven Keys to Navigating Your Agile Testing Transition
Seven Keys to Navigating Your Agile Testing TransitionSeven Keys to Navigating Your Agile Testing Transition
Seven Keys to Navigating Your Agile Testing Transition
 
Achal_Resume_7.11
Achal_Resume_7.11Achal_Resume_7.11
Achal_Resume_7.11
 
The Tester's Role in Agile Planning
The Tester's Role in Agile PlanningThe Tester's Role in Agile Planning
The Tester's Role in Agile Planning
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile Environment
 
Training - Agile Testing
Training - Agile TestingTraining - Agile Testing
Training - Agile Testing
 
Nataraj Krishnaswamy Profile
Nataraj Krishnaswamy ProfileNataraj Krishnaswamy Profile
Nataraj Krishnaswamy Profile
 
Resume_Pratheeshkumar
Resume_PratheeshkumarResume_Pratheeshkumar
Resume_Pratheeshkumar
 
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
 
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
 
Test management
Test managementTest management
Test management
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
 
Agile Pmi 102108 Final
Agile Pmi 102108 FinalAgile Pmi 102108 Final
Agile Pmi 102108 Final
 

Plus de TechWell

Plus de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Test Automation on Large Agile Projects: It's Not a Cakewalk

  • 1.           AW12 Concurrent Session  11/7/2012 3:45 PM                "Test Automation on Large Agile Projects: It?s Not a Cakewalk"       Presented by: Scott Schnier Agilex Technologies                 Brought to you by:        340 Corporate Way, Suite 300, Orange Park, FL 32073  888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Scott Schnier Agilex Technologies Scott Schnier is currently a senior agile practice manager at Agilex Technologies working with other courageous and passionate people to bring agile development practices to the Federal Government. He has held positions of software engineer, director of development, mentor, architect, director of quality assurance, project manager, program manager, agile coach, ScrumMaster, and proxy product owner. Scott’s varied work experience has found him in small startups, Fortune 500 firms, and as a government contractor. A founding member of the Cincinnati chapter of ALN, Scott is currently active in the Washington DC chapter. Scott takes special pleasure in and has a passion for helping people work better together. .  
  • 3. 9/3/2012 Test Automation on Large Agile Projects, It’s not a Cakewalk Scott Schnier Agilex Technologies Scott.Schnier@Agilex.com 1 The Story  Test Automation ◦ Growth and division of work and responsibility ◦ Support of Agile Values ◦ Lessons learned and victories  There are no “best practices” 2 1
  • 4. 9/3/2012 It’s not a cakewalk 3 The Setting Core group of Agile/Scrum practioners  Many staff new to Agile/Scrum  Customer willing to try something new, frustrated with past failures.  Government contract, multiple vendors.  Driven by Legislation  4 2
  • 6. 9/3/2012 Test Automation - Why ? 7 Keep Development on Track 8 4
  • 8. 9/3/2012 “Working software over comprehensive documentation” How do  you  know it  still  works  today? 11 Why Automate Tests? Move discovery of defects to the left ( earlier)  Respond to emergent requirements  Capture Intellectual property (test skill)  Enable test engineers to focus on creative work not repetitive testing tasks.  Make specifications executable and a trusted way to understand the impact of change.  12 6
  • 9. 9/3/2012 Test Vision The scrum team is the value creation engine  Tests are best created in the Scrum team  Test is a skill not a role  Need to support test while making the scrum team primary  13 Issues on the Journey  Test debt accumulation  Specialized testing tools contribute to segmentation of responsibility  People who do functional testing straddling more than one team 14 7
  • 10. 9/3/2012 Managing Test Debt Organization  Definition of “Done”  15 How do we get test debt How many  points is  that story? Oh… 8 points  plus testing 16 8
  • 11. 9/3/2012 Test Debt avoidance  Size of a story is more accurate with an integrated discussion regarding all of the test and product work. 17 Regression test debt  The story is complete but 30% of the regression tests are broken. 18 9
  • 12. 9/3/2012 Definition of “Done” To be complete - tests must be done and running green on the Continuous Integration pipeline.  If we make an exception then “test fixing” stories should be estimated and in the backlog so PO’s can agree to the exception.  19 Testing work straddling teams 20 10
  • 13. 9/3/2012 Traditional SDLC Workstreams 21 A more Agile Organization 22 11
  • 14. 9/3/2012 Where is testing done? In the scrum team  Recall definition of done  What happens to the regression tests that accumulate?  23 Organization for Test Management 9 Scrum 1 7  Partitioned rotating triage/ leadership 2 6 5 3 4 End of sprint handoff    Completely partitioned Autonomous teams 9 Scrum  1 7 2 6 Scrum teams Plus System Test Integration Dedicated Maintenance Team 5 3 4 STI Maint’ 24 12
  • 15. 9/3/2012 Lessons Organize test sets to support scrum team affinity.  With more than ~5 scrum teams an integration or “DevOps” team is necessary and good.  Listen for and stamp out opportunities for debt to accumulate.  Test Community of Practice is valuable and takes work to be effective  25 Key challenge  Design organization/responsibility so that test debt does not accumulate. 26 13
  • 16. 9/3/2012 Shared responsibility  Functional scrum team ◦ Develops tests ◦ Executes acceptance tests ◦ Promotes to regression ◦ Monitors selective regression projects ◦ Performs impact analysis of new functions/fixes regression  System Test integration ◦ Maintains test framework/standards ◦ Executes regression tests – All ◦ Creates and maintains reusable test components. ◦ Helps functional scrum teams with massive breakages. 27 Development workflow 1.Update personal workspace 2.Implement change (Story/task, defect, test) 3.Test locally, unit, integration, smoke 4.Update personal workspace 5.Resolve conflicts 6.Commit change to repository & test pipe line 7.Monitor key test projects 8.Revert or fix any problems 28 14
  • 17. 9/3/2012 A slice of life Skype Chat snippet  [7/2/2012 12:23:28 PM] Dan : Trunk‐Dev is broken [7/2/2012 12:23:45 PM] Dan : anyone working for a fix? [7/2/2012 12:24:11 PM] Dan : …. ERROR :…. …. [7/2/2012 12:27:39 PM] Steve : I'm working with Mike on resolving it [7/2/2012 12:30:10 PM] Dan : Thanks 29 Continuous Integration status 30 15
  • 18. 9/3/2012 Continuous Integration         Release Build - Integration and Unit tests (1000’s)(commit package) Rapid Smoke Test and Regression Lite (20 min) (commit package) Smoke on each functional test server(>= daily) Regression Lite on other Browsers(>= daily) Regression Heavy (2 hours) (>=daily) All other automated regression tests 1000’s(daily) Semi- automated (100’s) & Manual tests (10’s)(delivery at least) Ad-Hoc testing 10’s of hours( each delivery) ◦ Human intuition, UI (CSS & other risks) 31 Ongoing challenge • • • • As system gets larger individuals are less likely to feel responsible or capable of fixing broken tests. • Start with one, two then three functional scrum teams. • Months latter a team forms that specializes on a particular component of the system. • A few more months another component team arises…. Becomes harder to maintain the social norms of “Stop and Fix “ The technical challenges also increase when the system complexity grows. The need and the risk of integration problems also grow at the same time. 32 16
  • 19. 9/3/2012 Challenges of Scale People are socially more distant  Technical skills become more focused  Accountability becomes more elusive  One mistake can impact more people, makes actions more conservative, slows velocity  33 Wisdom       When number of teams exceeds 7 +/-2 need a system level team focused on test assets/regression Test Community of Practice is essential Organize test sets with an affinity for teams or system components. As the program gets larger needs to have a team with gentle authority to ensure consistently Ultimately with > 10 teams will need to consider multilevel integration. Performance/stress test is a separate team. 34 17
  • 20. 9/3/2012 Managing – Tool Specialists Common tool platform for test developers and product developers  Increase the pool of people who can create or fix a test.  35 Why a “new” framework  Conejo Test Framework motivators ◦ Eliminate barriers to “every one is a tester” ◦ Enable data driving for more resilient tests ◦ Integrate multi modal testing into one coherent framework Web UI, component, web services, manual. ◦ Support the workflow from acceptance test development to regression testing to obsolesce ◦ Integrate all test assets 36 18
  • 21. 9/3/2012 Test design Goals Minimize collateral code, focus on test target.  Enable tests to quickly respond to changes in Application Under Test  Easy to understand when it breaks (reuse common patterns, canonical test classes)  37 Test types Unit Integration Functional Scope Class Component(s) System Persistence No Maybe Yes Author Self Anyone Not the Author Tests system interface No No Yes Traceable to epic, story or defect No Maybe Yes Execution Pre release build Pre release build Post release build* 38 19
  • 24. 9/3/2012 Wrap Up Multiple Motivations  Test is the Product anti-matter  Needs to be approached as first class component of the solution.  Complex organizational and technical concerns  Part of the secret sauce of a successful Agile effort.  43 Questions? – Ideas! 44 22