SlideShare una empresa de Scribd logo
1 de 22
SQS Group Limited
Mike Scott - @MikeAScott
Tom Roden - @TomMRoden
November 2012
Building a lean, mean, BDD
automation machine
Caption Competition
2
Caption Competition
A story about building an executable documentation system
• Large hedge fund COTS
implementation
• Crippling regression test burden
Born out of
necessity
• 6-8 month cycle  daily release
• 80 times defect reductionResults:
• and again
• Same patterns automation
platform
Then did it
again…
Safia– Archetypes and Templates, a voyage in automating acceptance
3
The problem quantified
Real data from the field
40
67.5
100
78
23
15
12
5 3
0
28
64
151
217
311
371
393
479
545
601
0 0
25
106
284
371
393
479
545
601
0
100
200
300
400
500
600
700
0
20
40
60
80
100
120
February April August November February April May June July August
#TestSuites
ManDaysEffort
Month
Time taken for Release Regression testing
Man Days Effort for Regression Test # Test Suites # Automated Suites
4
The confidence problem!
Where it came from
First Approach to Acceptance Testing:
UAT in a phase, after a period of development
5
6
What it felt like…
7
Becoming acceptance driven…
Building Integrity in
8
Develop
Ready User
Story
Customer
Verification
Specify tests
/ examples
Stakeholder(s) & BA
Testers
Developers
Backlog
Demo /
Showcase
Automate
acceptance
tests
Session
Based
Testing
The initial effect of automated acceptance testing
Real data from the field
40
67.5
100
78
23
15
12
5 3
0
28
64
151
217
311
371
393
479
545
601
0 0
25
106
284
371
393
479
545
601
0
100
200
300
400
500
600
700
0
20
40
60
80
100
120
February April August November February April May June July August
#TestSuites
ManDaysEffort
Month
Time taken for Release Regression testing
Man Days Effort for Regression Test # Test Suites # Automated Suites
9
Knowledge and experience to design a framework
• binding tests to investment apps
A set of design patterns
• from business specialists
Inject knowledge
• easy to customise
Vanilla acceptance tests
• tests as specifications
Living documentation
What we gained from this
10
Illogical Architecture Diagram
How Safia Works
House
Adaptor
System
Adaptor
Trading system
Maps SAFIA terminology to
system terminology
e.g.
Calypso, Beauchamps, Summi
t
SAFIA automates at the
server level via the API
Safia fixtures
API
Fitnesse fixtures
Maps investment house
terminology to SAFIA
terminology e.g.
Trade Capture = Trade Entry
11
e.g.
FX, Bond, Equities
IRS, FRA, CDS
e.g.
Run a P&L report
Update a legal entity
Amend SDI
Amend fees
Creating automated test cases using Safia
How Safia Works
Test Archetype
“Test Function”
Create a trade
Instrument
Template
IRS template
Test
Create a valid IRS trade
Apply Template &
Archetype
12
Let’s put it to the test
Demo
13
It brings benefits on different levels
Why use a framework like this
14
Benefits
Increased
collaboration
Accelerating
implementation
& learning
Anyone can
interact with it
Teaching &
coaching aid
Reduced Cost
of Ownership
It was easy, right?
In retrospect…
15
The path to faster release
Real data from the field
40
67.5
100
78
23
15
12
5 3
0
28
64
151
217
311
371
393
479
545
601
0 0
25
106
284
371
393
479
545
601
0
100
200
300
400
500
600
700
0
20
40
60
80
100
120
February April August November February April May June July August
#TestSuites
ManDaysEffort
Month
Time taken for Release Regression testing
Man Days Effort for Regression Test # Test Suites # Automated Suites
16
Tests as specs, the principles of test design
How we wrote the tests
17
What makes a
good acceptance
test?
Self-documenting
About business
intentions
Concise and
granularA specification
not a script
Anyone can
understand it
Based on testable
statements
~One third is system understanding
Reducing the Cost of Ownership
18
Points to consider when automating
19
Theory ‘aint practice
Start early & iterate frequently
Distil and simplify
Tests or Documentation?
DON’T PANIC !!!
“Brace yourself Daphne…”
20
Questions
Thank you for listening
21
Please evaluate our
presentation by using the
evaluation booklets
which you can find in
your conference bag.
Thank you!
SQS Group Limited
Mike Scott & Tom Roden
mike.scott@sqs.com
tom.roden@sqs.com
SQS Group Limited
7-11 Moorgate, London EC2R 6AF
Internet: www.sqs.com

Más contenido relacionado

Destacado

Importancia para realizar Mantenimiento del Software y Hardware
Importancia para realizar Mantenimiento del Software y HardwareImportancia para realizar Mantenimiento del Software y Hardware
Importancia para realizar Mantenimiento del Software y Hardware
randyalexander0404
 

Destacado (9)

Page layout and design task 2
Page layout and design task 2Page layout and design task 2
Page layout and design task 2
 
Marketing para prohibir la conservación
Marketing para prohibir la conservaciónMarketing para prohibir la conservación
Marketing para prohibir la conservación
 
Manatíes en parques y acuarios de México y su acercamiento con la estrategia ...
Manatíes en parques y acuarios de México y su acercamiento con la estrategia ...Manatíes en parques y acuarios de México y su acercamiento con la estrategia ...
Manatíes en parques y acuarios de México y su acercamiento con la estrategia ...
 
Razas de perros
Razas de perrosRazas de perros
Razas de perros
 
Task 4
Task 4Task 4
Task 4
 
Importancia para realizar Mantenimiento del Software y Hardware
Importancia para realizar Mantenimiento del Software y HardwareImportancia para realizar Mantenimiento del Software y Hardware
Importancia para realizar Mantenimiento del Software y Hardware
 
Pedagogical methods for teaching marketing subjects
Pedagogical methods for teaching marketing subjectsPedagogical methods for teaching marketing subjects
Pedagogical methods for teaching marketing subjects
 
Teoma Lista de Precios Perú
Teoma Lista de Precios Perú Teoma Lista de Precios Perú
Teoma Lista de Precios Perú
 
Halloween: culture, facts & business (Infographic)
Halloween: culture, facts & business (Infographic)Halloween: culture, facts & business (Infographic)
Halloween: culture, facts & business (Infographic)
 

Similar a 2012 lean mean bdd automation machine

Similar a 2012 lean mean bdd automation machine (20)

AWS Summit Auckland -Key steps for Setting up your AWS Journey For Success
AWS Summit Auckland -Key steps for Setting up your AWS Journey For SuccessAWS Summit Auckland -Key steps for Setting up your AWS Journey For Success
AWS Summit Auckland -Key steps for Setting up your AWS Journey For Success
 
遷移到雲端的成功秘訣
遷移到雲端的成功秘訣遷移到雲端的成功秘訣
遷移到雲端的成功秘訣
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event Presentations
 
“Machine Learning in Production + Case Studies” by Dmitrijs Lvovs from Epista...
“Machine Learning in Production + Case Studies” by Dmitrijs Lvovs from Epista...“Machine Learning in Production + Case Studies” by Dmitrijs Lvovs from Epista...
“Machine Learning in Production + Case Studies” by Dmitrijs Lvovs from Epista...
 
DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017
 
The Cloud - What's different
The Cloud - What's differentThe Cloud - What's different
The Cloud - What's different
 
Victor Chang: Cloud computing business framework
Victor Chang: Cloud computing business frameworkVictor Chang: Cloud computing business framework
Victor Chang: Cloud computing business framework
 
Accelerate Your Sap Testing with Bqurious
Accelerate Your Sap Testing with BquriousAccelerate Your Sap Testing with Bqurious
Accelerate Your Sap Testing with Bqurious
 
Crimson 3 - Final case presentation
Crimson 3 - Final case presentationCrimson 3 - Final case presentation
Crimson 3 - Final case presentation
 
Test Metrics in Agile: A Powerful Tool to Demonstrate Value
Test Metrics in Agile: A Powerful Tool to Demonstrate ValueTest Metrics in Agile: A Powerful Tool to Demonstrate Value
Test Metrics in Agile: A Powerful Tool to Demonstrate Value
 
Expert sizing & methods of sizing validation
Expert sizing & methods of sizing validationExpert sizing & methods of sizing validation
Expert sizing & methods of sizing validation
 
Building a Mass Migration Program Moving Through Vision to Experiment and Sca...
Building a Mass Migration Program Moving Through Vision to Experiment and Sca...Building a Mass Migration Program Moving Through Vision to Experiment and Sca...
Building a Mass Migration Program Moving Through Vision to Experiment and Sca...
 
AWS Cloud Adoption Framework and Workshops
AWS Cloud Adoption Framework and WorkshopsAWS Cloud Adoption Framework and Workshops
AWS Cloud Adoption Framework and Workshops
 
AWS re:Invent 2016: Fueling Migration: Shortcutting your Application Portfoli...
AWS re:Invent 2016: Fueling Migration: Shortcutting your Application Portfoli...AWS re:Invent 2016: Fueling Migration: Shortcutting your Application Portfoli...
AWS re:Invent 2016: Fueling Migration: Shortcutting your Application Portfoli...
 
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
 
Atagg2015 Where testing is moving in agile cloud world!
Atagg2015 Where testing is moving in agile cloud world!Atagg2015 Where testing is moving in agile cloud world!
Atagg2015 Where testing is moving in agile cloud world!
 
Tech Mastermind - Test Suite 20.10.pdf
Tech Mastermind - Test Suite 20.10.pdfTech Mastermind - Test Suite 20.10.pdf
Tech Mastermind - Test Suite 20.10.pdf
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
 
Automation Hub Best practices - using right KPIs to build a strong business c...
Automation Hub Best practices - using right KPIs to build a strong business c...Automation Hub Best practices - using right KPIs to build a strong business c...
Automation Hub Best practices - using right KPIs to build a strong business c...
 
What's so great about web driver?
What's so great about web driver?What's so great about web driver?
What's so great about web driver?
 

2012 lean mean bdd automation machine

  • 1. SQS Group Limited Mike Scott - @MikeAScott Tom Roden - @TomMRoden November 2012 Building a lean, mean, BDD automation machine
  • 3. A story about building an executable documentation system • Large hedge fund COTS implementation • Crippling regression test burden Born out of necessity • 6-8 month cycle  daily release • 80 times defect reductionResults: • and again • Same patterns automation platform Then did it again… Safia– Archetypes and Templates, a voyage in automating acceptance 3
  • 4. The problem quantified Real data from the field 40 67.5 100 78 23 15 12 5 3 0 28 64 151 217 311 371 393 479 545 601 0 0 25 106 284 371 393 479 545 601 0 100 200 300 400 500 600 700 0 20 40 60 80 100 120 February April August November February April May June July August #TestSuites ManDaysEffort Month Time taken for Release Regression testing Man Days Effort for Regression Test # Test Suites # Automated Suites 4
  • 5. The confidence problem! Where it came from First Approach to Acceptance Testing: UAT in a phase, after a period of development 5
  • 6. 6
  • 7. What it felt like… 7
  • 8. Becoming acceptance driven… Building Integrity in 8 Develop Ready User Story Customer Verification Specify tests / examples Stakeholder(s) & BA Testers Developers Backlog Demo / Showcase Automate acceptance tests Session Based Testing
  • 9. The initial effect of automated acceptance testing Real data from the field 40 67.5 100 78 23 15 12 5 3 0 28 64 151 217 311 371 393 479 545 601 0 0 25 106 284 371 393 479 545 601 0 100 200 300 400 500 600 700 0 20 40 60 80 100 120 February April August November February April May June July August #TestSuites ManDaysEffort Month Time taken for Release Regression testing Man Days Effort for Regression Test # Test Suites # Automated Suites 9
  • 10. Knowledge and experience to design a framework • binding tests to investment apps A set of design patterns • from business specialists Inject knowledge • easy to customise Vanilla acceptance tests • tests as specifications Living documentation What we gained from this 10
  • 11. Illogical Architecture Diagram How Safia Works House Adaptor System Adaptor Trading system Maps SAFIA terminology to system terminology e.g. Calypso, Beauchamps, Summi t SAFIA automates at the server level via the API Safia fixtures API Fitnesse fixtures Maps investment house terminology to SAFIA terminology e.g. Trade Capture = Trade Entry 11
  • 12. e.g. FX, Bond, Equities IRS, FRA, CDS e.g. Run a P&L report Update a legal entity Amend SDI Amend fees Creating automated test cases using Safia How Safia Works Test Archetype “Test Function” Create a trade Instrument Template IRS template Test Create a valid IRS trade Apply Template & Archetype 12
  • 13. Let’s put it to the test Demo 13
  • 14. It brings benefits on different levels Why use a framework like this 14 Benefits Increased collaboration Accelerating implementation & learning Anyone can interact with it Teaching & coaching aid Reduced Cost of Ownership
  • 15. It was easy, right? In retrospect… 15
  • 16. The path to faster release Real data from the field 40 67.5 100 78 23 15 12 5 3 0 28 64 151 217 311 371 393 479 545 601 0 0 25 106 284 371 393 479 545 601 0 100 200 300 400 500 600 700 0 20 40 60 80 100 120 February April August November February April May June July August #TestSuites ManDaysEffort Month Time taken for Release Regression testing Man Days Effort for Regression Test # Test Suites # Automated Suites 16
  • 17. Tests as specs, the principles of test design How we wrote the tests 17 What makes a good acceptance test? Self-documenting About business intentions Concise and granularA specification not a script Anyone can understand it Based on testable statements
  • 18. ~One third is system understanding Reducing the Cost of Ownership 18
  • 19. Points to consider when automating 19 Theory ‘aint practice Start early & iterate frequently Distil and simplify Tests or Documentation? DON’T PANIC !!!
  • 21. Questions Thank you for listening 21 Please evaluate our presentation by using the evaluation booklets which you can find in your conference bag. Thank you!
  • 22. SQS Group Limited Mike Scott & Tom Roden mike.scott@sqs.com tom.roden@sqs.com SQS Group Limited 7-11 Moorgate, London EC2R 6AF Internet: www.sqs.com

Notas del editor

  1. Borne out of necessity, not dreamed up in a lab
  2. Story of building an automation solution – out of necessity in real world project, struggling with quality and agilityShow framework, but talk thru story of interesting points and learnings derived along the wayevolved thru rapid iteration as it was built, then gradually refined and re-used on similar systems, distilled and simplifying it to something useful, agnostic products and technologiesIt is centred on investment / trading platforms, but the principles and experiences are much more universal
  3. Problem – R reached 100 man days– growing and would mean not running it allIntroduced automation, teaching ATDDThen agreed to do full at source automationRapid ROI – story goes on but first walkthrough the changes made
  4. Problem faced by many agile teams – not quite solving acceptance testingFirst – separate business UAT team, defects slow all other work to a stand-stillTesting, particularly in this way is like shining a torch onto the product – narrow beam = focus depth in detail, wide beam = less depth on one thing but more wider coverageSo the business were sent into a room with their torch to find the product…..waiting…..
  5. An amount of time, gore and screaming later, the product was in a roughly suitable state to go live (or rather the business were too battle weary by then)Not a production quality, shippable product until the very end (and then not really clear – wide beam dispersion on our testing torch)Long UAT phase, delayed release – worse still poor quality in live
  6. The product come rolling down the hill into test (withdev’s and others running after it) – asked to push it back upAll you can do to stop the boulder from rolling down into the gutterTesting at the end always used to make me feel this way.
  7. Main changes:Implementing Specification by Example c.f. GojkoSpecification workshopsAutomation at source (alongside dev) w/ ETDemo’s
  8. Problem – R reached 100 man days – growing and would mean not running it allIntroduced automation, teaching ATDDThen agreed to do full at source automationRapid ROI – story goes on but first walkthrough the changes made
  9. From better tests to templatesTemplatesArchetypesUsage examples
  10. Agile acceptance testing = BDD automation (at source)Increased collab = building the right product (build integrity in), involving the whole team and BUSINESSTools cover a range of technologies, and are open sourceAdvantageous Versus traditional automation for numerous reasons (More robust, Quicker, Easier to maintain,Reliable source of system documentationGreat accelerator for automationUseful by-product ofSafia is as a teaching and coaching aid, showing people how to write fixtures and tests cleanly and to BDD principlesEasily accessible to anyone in an organisation, business or IT
  11. The tests were completely robust right from the startNever duplicated anything, broke a load of tests nor had to refactor a bunch of stuffFirst design was perfect, never needed to revise itSomething rather than nothing – It can be daunting. Start with something, and then make it better. A simple incomplete test suite is far better than none at all.Iterate – First version will be imperfect and incomplete. Improve quality and completeness iterativelySooner rather than later – A simple test suite soon is more useful, to a more complex, more fully featured test suite 6 months or more from now.Lean start-up patterns – build-measure—refactor-learn-repeatChallengesTrusting the tests (when not reliable)Utilities (to manage dependencies and data, particularly for asynchronous systems)Example usage so not duplicatingWhat is isn’t:A silver bulletAbout toolsThe only way to do it
  12. Was asked to get regression down to 0 people for 0 days i.e. full lights out automation.Was harder than imagined due to the challenges mentionedBuilding a continuous delivery pipeline means taking full control of dependencies including integration with other systemsIf you don’t design it into applications (as was the case here) it can be hard to make apps testable once they are built (this was a COTS implementation) – lesson work out what you need to measure in live and what you need to do to test an app as you build it, that will save time in the long run in testing, extension and maintenance
  13. describe the behaviour being checked and test what it purports to Sometimes notbe about business rules and process, not implementation jargon, test namesbe focused on the specific thing being testedfail due to the assertion being testedNot cover too much at once to affect ease of reading but group similar tests P&L Test exampleBe a specification of business logic, not be a list of instructions login, go to screenof use to everyone who needs to use them– collective test ownershipClear, explicit expectation they are documentation
  14. Metric to support our claim (rather than refute it – though we searched objectively).This illustrates the case (one of the best supporting evidence) for living documentation, writing tests as specs so all can use them – in the long term support of a product you need tests for various stakeholders that can eliminate a good chunk of this system understanding time and cost.
  15. Borne out of necessity, not dreamed up in a lab