SlideShare a Scribd company logo
SPECIFICATIONS – TEST
AUTOMATION PYRAMID

             By

    Sathyan Sethumadhavan
   satnair@thoughtworks.com
Pre-Requisite:

http://www.slideshare.net/satnair/final
         -version-for-public
Agenda
 Why specifications

 Approach to specifications

 Specifications pyramid

 Learning's

 Q&A
Keywords
  Specification – More than test – Feature/Requirement

  Cucumber – Software behavior in plain text

  Capybara – Tests application by simulating a real user

  Spinach - Encapsulation and modularity of your step definitions

  Headless webkit - A capybara driver - WebKit via QtWebKit.

  R-Spec - Test-Driven Development
Let’s talk about
   Why specifications
  Approach to specifications

  Specifications pyramid

  Learning's

  Q&A
Trying to solve these challenges?
                       Defects leakage - missing
                       Requirements

                                                   Tests and requirements
  Frequent changes -
                                                   documents becomes stale
  breaks existing
  functionalities


  Long Regression                                  Spends more time on defect
  Cycles                                           management and triage


                       Less confidence -
                       Existing test coverage
Trying to solve these challenges?
              Defects leakage - missing
              Requirements




              Less confidence -
              Existing test coverage
Let’s talk about
  Why specifications



   Approach to specifications
  Specifications pyramid

  Learning's

  Q&A
Specifications


                                                                    Maintaining
                                                                    Specifications
                                                   Executing
                                                   Specifications
                                  Implementing
                                  Specifications
                 Evolving
                 Specifications
Evolving            Implementing          Executing          Maintaining




                                       Story
• Intial Cukes creation             Development             • Manual testing for
• Inputs from Business,                                       each Story
  Technical and Testing       • For TDD, writing            • Evolved as part of
• Tests from Unit to            RSpec                         exploratory testing
  End-to-End                  • Checklist for story
                                completion
                              • Referred during dev-
          Story                 box
                                                                       Testing
         Creation
Evolving            Implementing          Executing          Maintaining




                                       Story
• Intial Cukes creation             Development             • Manual testing for
• Inputs from Business,                                       each Story
  Technical and Testing       • For TDD, writing            • Evolved as part of
• Tests from Unit to            RSpec                         exploratory testing
  End-to-End                  • Checklist for story
                                completion
                              • Referred during dev-
          Story                 box
                                                                       Testing
         Creation
Evolving           Implementing          Executing          Maintaining




                                       Story
• Intial Cukes creation             Development             • Manual testing for
• Inputs from                                                 each Story
  Business, Technical         • For TDD, writing            • Evolved as part of
  and Testing                   RSpec                         exploratory testing
• Tests from Unit to          • Checklist for story
  End-to-End                    completion
                              • Referred during dev-
          Story                 box
                                                                       Testing
         Creation
Let’s talk about
  Why specifications

  Approach to specifications



   Specifications pyramid
  Learning’s

  Q&A
Evolving   Implementing   Executing      Maintaining




                                   Cucumber +
                                Capybara Webdriver
Specification
Pyramid                         Spinach + Headless
                                      Webkit


                                   RSpec + API
Evolving       Implementing      Executing        Maintaining



                              Algorithms / business logic
                              validation

                              API methods validation

                              Non-UI

           RSpec + API        Created as part of story
                              development
Evolving       Implementing      Executing        Maintaining



                              Algorithms / business logic
                              validation

                              API methods validation

                              Non-UI

           RSpec + API        Created as part of story
                              development
Evolving         Implementing      Executing        Maintaining



                                Presentation layer validations

                                Story level validations

             Spinach +          Jobs related functionalities
           Headless Webkit

                                Created after story development
            RSpec + API         complete (QA’s / Dev’s)
Evolving         Implementing      Executing        Maintaining



                                Presentation layer validations

                                Story level validations

             Spinach +          Jobs related functionalities
           Headless Webkit

                                Created after story development
            RSpec + API         complete (QA’s / Dev’s)
Evolving          Implementing      Executing        Maintaining



                                 End user entry and exit scenarios
              Cucumber +
               Capybara
               Webdriver         Story level UI validations

           Spinach + Headless    End-To-End business scenarios
                 Webkit


                                 Created after story development
              RSpec + API        complete (QA’s / Dev’s)
Evolving          Implementing      Executing        Maintaining



                                 End user entry and exit scenarios
              Cucumber +
               Capybara
               Webdriver         Story level UI validations

           Spinach + Headless    End-To-End business scenarios
                 Webkit


                                 Created after story development
              RSpec + API        complete (QA’s / Dev’s)
Evolving       Implementing              Executing             Maintaining




              Cucumber +        Developer/Tester
                                Laptop
                                                              CI pipeline
               Capybara
                                     • Smoke Tests                 • Smoke and E2E tests
               Webdriver                                           • Less mocks



           Spinach + Headless
                 Webkit
                                Developer/Tester              CI pipeline
                                Laptop

                                     • Respective modules           • After check-in
                                     • Before each check-in         • Before smoke and
              RSpec + API            • Mocks and Cassettes            end-to-end
Evolving         Implementing   Executing        Maintaining




Change requests                    Identify specification layer

New requirements                   Modify existing
                                   specifications/if exists
Regression/User acceptance
defects                            Create/Update/Delete as
                                   requirement evolves
Let’s talk about
  Why specifications

  Approach to specifications

  Specifications pyramid



   Learning's
  Q&A
Key learning's
   Specifications - Before development
   Fail fast – 95% of functionalities gets validated before check-in
   Specifications verified during dev-box (including multiple
   browsers)
   Categorize specifications - Appropriate layer
   Parallelize test runs
   Keep test code equivalent to developer’s code
   Executable specifications
   Defects backlog not beyond a threshold (for example 20 defects)
   Defects root-cause - Feedback to the team
Let’s Recap
                                   Defects leakage - missing
                                   Requirements

                                                               Tests and requirements
Frequent changes -
                                                               documents becomes stale
breaks existing functionalities



   Long Regression                                             Spends more time on defect
   Cycles                                                      management and triage


                                  Less confidence -
                                  Existing test coverage
Tools Available

              • Jbehave, Cucumber, Cuke4Duke with
  Java          different drivers (Selenium,Sahi)
              • Twist (Thoughtworks Studios)




              • Specflow, Cucumber, Cuke4Nuke,
  .NET          Coypu with drivers like Selenium, White,
                WatiN
Q&A
How can we help?
    ThoughtWorks is a global custom software solutions consultancy trusted by
    many of the world’s leading businesses with their most complex and critical
    systems. We deliver consulting grounded in delivery expertise, build custom
      applications and help organisations across all market sectors to drive IT
               efficiency – working to an exceptionally high standard.




                                        Contact us
                              satnair@thoughtworks.com




Private and Confidential. © 2012 ThoughtWorks. All rights reserved.

More Related Content

What's hot

Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
Rob Spieldenner
 
Scaling Scrum with UX
Scaling Scrum with UXScaling Scrum with UX
Scaling Scrum with UX
Caleb Jenkins
 
2012 regina TC - 103 quality driven
2012 regina TC - 103 quality driven2012 regina TC - 103 quality driven
2012 regina TC - 103 quality driven
Amir Barylko
 
The state of containers for your DevOps journey
The state of containers for your DevOps journeyThe state of containers for your DevOps journey
The state of containers for your DevOps journey
Agile Montréal
 
[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com
Mitch Okamoto
 
Dev ops self service approach-1.3
Dev ops  self service approach-1.3Dev ops  self service approach-1.3
Dev ops self service approach-1.3Alex Tregubov
 
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Atlassian
 
Dev Tools State Of Union
Dev Tools State Of UnionDev Tools State Of Union
Dev Tools State Of Union
Atlassian
 
TDD anche su iOS
TDD anche su iOSTDD anche su iOS
TDD anche su iOS
Andrea Francia
 
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Atlassian
 
Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015
Atlassian 대한민국
 
Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...SlideTeam.net
 
Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...SlideTeam.net
 
Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...SlideTeam.net
 
Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...SlideTeam.net
 
Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...SlideTeam.net
 
Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...SlideTeam.net
 
Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...SlideTeam.net
 

What's hot (20)

Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Scaling Scrum with UX
Scaling Scrum with UXScaling Scrum with UX
Scaling Scrum with UX
 
2012 regina TC - 103 quality driven
2012 regina TC - 103 quality driven2012 regina TC - 103 quality driven
2012 regina TC - 103 quality driven
 
TMA Brochure IPv6
TMA Brochure  IPv6TMA Brochure  IPv6
TMA Brochure IPv6
 
The state of containers for your DevOps journey
The state of containers for your DevOps journeyThe state of containers for your DevOps journey
The state of containers for your DevOps journey
 
Scrum and Lean - Om Band
Scrum and Lean - Om BandScrum and Lean - Om Band
Scrum and Lean - Om Band
 
[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com
 
Dev ops self service approach-1.3
Dev ops  self service approach-1.3Dev ops  self service approach-1.3
Dev ops self service approach-1.3
 
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
 
Dev Tools State Of Union
Dev Tools State Of UnionDev Tools State Of Union
Dev Tools State Of Union
 
TDD anche su iOS
TDD anche su iOSTDD anche su iOS
TDD anche su iOS
 
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
 
Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015
 
Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...
 
Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...
 
Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...
 
Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...
 
Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...Stage gate innovation decision making new product development strategy screen...
Stage gate innovation decision making new product development strategy screen...
 
Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...
 
Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...Stage gate innovation decision making new product development process screen ...
Stage gate innovation decision making new product development process screen ...
 

Viewers also liked

Test Automation
Test AutomationTest Automation
Test Automation
rockoder
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testing
Vikrant Chauhan
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNet
Hai Tran Son
 
ICT for Automotive Industry
ICT for Automotive IndustryICT for Automotive Industry
ICT for Automotive IndustryInterlatin
 
Automation Frame works Instruction Sheet
Automation Frame works Instruction SheetAutomation Frame works Instruction Sheet
Automation Frame works Instruction Sheet
vodQA
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
Directi Group
 
Say NO To (More) Selenium Tests
Say NO To (More) Selenium TestsSay NO To (More) Selenium Tests
Say NO To (More) Selenium Tests
Anand Bagmar
 
Arjuna - Reinventing the Test Automation Wheels
Arjuna - Reinventing the Test Automation WheelsArjuna - Reinventing the Test Automation Wheels
Arjuna - Reinventing the Test Automation Wheels
Rahul Verma
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
Archana Krushnan
 
13 Test Automation Practices You Should be Afraid Of
13 Test Automation Practices You Should be Afraid Of13 Test Automation Practices You Should be Afraid Of
13 Test Automation Practices You Should be Afraid Of
Joe Colantonio
 
Test automation
Test automationTest automation
Test automation
Xavier Yin
 
Create the Future - Innovations in Testing
Create the Future - Innovations in TestingCreate the Future - Innovations in Testing
Create the Future - Innovations in Testing
Anand Bagmar
 
Introduction to Gauge
Introduction to GaugeIntroduction to Gauge
Introduction to Gauge
vodqancr
 
Need for automation testing
Need for automation testingNeed for automation testing
Need for automation testing
99tests
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
Pekka Klärck
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
Anand Bagmar
 
How to be an awesome test automation professional
How to be an awesome test automation professionalHow to be an awesome test automation professional
How to be an awesome test automation professional
Kushan Shalindra Amarasiri - Technical QE Specialist
 

Viewers also liked (18)

Test Automation
Test AutomationTest Automation
Test Automation
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testing
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNet
 
ICT for Automotive Industry
ICT for Automotive IndustryICT for Automotive Industry
ICT for Automotive Industry
 
Automation Frame works Instruction Sheet
Automation Frame works Instruction SheetAutomation Frame works Instruction Sheet
Automation Frame works Instruction Sheet
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
 
Say NO To (More) Selenium Tests
Say NO To (More) Selenium TestsSay NO To (More) Selenium Tests
Say NO To (More) Selenium Tests
 
Arjuna - Reinventing the Test Automation Wheels
Arjuna - Reinventing the Test Automation WheelsArjuna - Reinventing the Test Automation Wheels
Arjuna - Reinventing the Test Automation Wheels
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
13 Test Automation Practices You Should be Afraid Of
13 Test Automation Practices You Should be Afraid Of13 Test Automation Practices You Should be Afraid Of
13 Test Automation Practices You Should be Afraid Of
 
Test automation
Test automationTest automation
Test automation
 
Tw specifications for-testing1
Tw specifications for-testing1Tw specifications for-testing1
Tw specifications for-testing1
 
Create the Future - Innovations in Testing
Create the Future - Innovations in TestingCreate the Future - Innovations in Testing
Create the Future - Innovations in Testing
 
Introduction to Gauge
Introduction to GaugeIntroduction to Gauge
Introduction to Gauge
 
Need for automation testing
Need for automation testingNeed for automation testing
Need for automation testing
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
 
How to be an awesome test automation professional
How to be an awesome test automation professionalHow to be an awesome test automation professional
How to be an awesome test automation professional
 

Similar to Specifications test automation pyramid public

Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
SQALab
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
Sanjeev Sharma
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
Sanjeev Sharma
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
Will Iverson
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Packjucaab
 
Eswaranand Attuluri CV
Eswaranand Attuluri CVEswaranand Attuluri CV
Eswaranand Attuluri CV
Eswaranand Attuluri
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMDebora Di Piano
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitXebiaLabs
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overviewslides_teltools
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost WSO2
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview
Ayman El-Hattab
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectra
 
Continuous delivery chernivcy
Continuous delivery chernivcyContinuous delivery chernivcy
Continuous delivery chernivcy
Volodymyr Yelchev
 
Was liberty
Was libertyWas liberty
Was liberty
Ian Robinson
 
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...manssandstrom
 
Why I Love Ruby On Rails
Why I Love Ruby On RailsWhy I Love Ruby On Rails
Why I Love Ruby On Rails
Raimonds Simanovskis
 
Pivotal Tracker for Mozat
Pivotal Tracker for MozatPivotal Tracker for Mozat
Pivotal Tracker for MozatAen Tan
 
Ashwini - Effective use of CI by QA
Ashwini - Effective use of CI by QAAshwini - Effective use of CI by QA
Ashwini - Effective use of CI by QA
vodQA
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs
 

Similar to Specifications test automation pyramid public (20)

Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Pack
 
Eswaranand Attuluri CV
Eswaranand Attuluri CVEswaranand Attuluri CV
Eswaranand Attuluri CV
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
 
Continuous delivery chernivcy
Continuous delivery chernivcyContinuous delivery chernivcy
Continuous delivery chernivcy
 
Was liberty
Was libertyWas liberty
Was liberty
 
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
 
Why I Love Ruby On Rails
Why I Love Ruby On RailsWhy I Love Ruby On Rails
Why I Love Ruby On Rails
 
Workflow Management, SaaS, Cloud Computing
Workflow Management, SaaS, Cloud ComputingWorkflow Management, SaaS, Cloud Computing
Workflow Management, SaaS, Cloud Computing
 
Pivotal Tracker for Mozat
Pivotal Tracker for MozatPivotal Tracker for Mozat
Pivotal Tracker for Mozat
 
Ashwini - Effective use of CI by QA
Ashwini - Effective use of CI by QAAshwini - Effective use of CI by QA
Ashwini - Effective use of CI by QA
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
 

More from Sathyan Sethumadhavan

Geofencing BLE beacons - IOT based enterprise asset tracking
Geofencing BLE beacons - IOT based enterprise asset trackingGeofencing BLE beacons - IOT based enterprise asset tracking
Geofencing BLE beacons - IOT based enterprise asset tracking
Sathyan Sethumadhavan
 
BDT for continuous delivery
BDT for continuous deliveryBDT for continuous delivery
BDT for continuous delivery
Sathyan Sethumadhavan
 
Specifications For Enterprise Testing
Specifications For Enterprise TestingSpecifications For Enterprise Testing
Specifications For Enterprise Testing
Sathyan Sethumadhavan
 
Gestures - Discovery Driven Approach
Gestures - Discovery Driven ApproachGestures - Discovery Driven Approach
Gestures - Discovery Driven ApproachSathyan Sethumadhavan
 
Agile china 2010 - Distributed agile for enterprises
Agile china 2010 -  Distributed agile for enterprisesAgile china 2010 -  Distributed agile for enterprises
Agile china 2010 - Distributed agile for enterprises
Sathyan Sethumadhavan
 
Mobile testing
Mobile testingMobile testing
Mobile testing
Sathyan Sethumadhavan
 

More from Sathyan Sethumadhavan (6)

Geofencing BLE beacons - IOT based enterprise asset tracking
Geofencing BLE beacons - IOT based enterprise asset trackingGeofencing BLE beacons - IOT based enterprise asset tracking
Geofencing BLE beacons - IOT based enterprise asset tracking
 
BDT for continuous delivery
BDT for continuous deliveryBDT for continuous delivery
BDT for continuous delivery
 
Specifications For Enterprise Testing
Specifications For Enterprise TestingSpecifications For Enterprise Testing
Specifications For Enterprise Testing
 
Gestures - Discovery Driven Approach
Gestures - Discovery Driven ApproachGestures - Discovery Driven Approach
Gestures - Discovery Driven Approach
 
Agile china 2010 - Distributed agile for enterprises
Agile china 2010 -  Distributed agile for enterprisesAgile china 2010 -  Distributed agile for enterprises
Agile china 2010 - Distributed agile for enterprises
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

Specifications test automation pyramid public

  • 1. SPECIFICATIONS – TEST AUTOMATION PYRAMID By Sathyan Sethumadhavan satnair@thoughtworks.com
  • 3. Agenda Why specifications Approach to specifications Specifications pyramid Learning's Q&A
  • 4. Keywords Specification – More than test – Feature/Requirement Cucumber – Software behavior in plain text Capybara – Tests application by simulating a real user Spinach - Encapsulation and modularity of your step definitions Headless webkit - A capybara driver - WebKit via QtWebKit. R-Spec - Test-Driven Development
  • 5. Let’s talk about Why specifications Approach to specifications Specifications pyramid Learning's Q&A
  • 6. Trying to solve these challenges? Defects leakage - missing Requirements Tests and requirements Frequent changes - documents becomes stale breaks existing functionalities Long Regression Spends more time on defect Cycles management and triage Less confidence - Existing test coverage
  • 7. Trying to solve these challenges? Defects leakage - missing Requirements Less confidence - Existing test coverage
  • 8. Let’s talk about Why specifications Approach to specifications Specifications pyramid Learning's Q&A
  • 9. Specifications Maintaining Specifications Executing Specifications Implementing Specifications Evolving Specifications
  • 10. Evolving Implementing Executing Maintaining Story • Intial Cukes creation Development • Manual testing for • Inputs from Business, each Story Technical and Testing • For TDD, writing • Evolved as part of • Tests from Unit to RSpec exploratory testing End-to-End • Checklist for story completion • Referred during dev- Story box Testing Creation
  • 11. Evolving Implementing Executing Maintaining Story • Intial Cukes creation Development • Manual testing for • Inputs from Business, each Story Technical and Testing • For TDD, writing • Evolved as part of • Tests from Unit to RSpec exploratory testing End-to-End • Checklist for story completion • Referred during dev- Story box Testing Creation
  • 12. Evolving Implementing Executing Maintaining Story • Intial Cukes creation Development • Manual testing for • Inputs from each Story Business, Technical • For TDD, writing • Evolved as part of and Testing RSpec exploratory testing • Tests from Unit to • Checklist for story End-to-End completion • Referred during dev- Story box Testing Creation
  • 13. Let’s talk about Why specifications Approach to specifications Specifications pyramid Learning’s Q&A
  • 14. Evolving Implementing Executing Maintaining Cucumber + Capybara Webdriver Specification Pyramid Spinach + Headless Webkit RSpec + API
  • 15. Evolving Implementing Executing Maintaining Algorithms / business logic validation API methods validation Non-UI RSpec + API Created as part of story development
  • 16. Evolving Implementing Executing Maintaining Algorithms / business logic validation API methods validation Non-UI RSpec + API Created as part of story development
  • 17. Evolving Implementing Executing Maintaining Presentation layer validations Story level validations Spinach + Jobs related functionalities Headless Webkit Created after story development RSpec + API complete (QA’s / Dev’s)
  • 18. Evolving Implementing Executing Maintaining Presentation layer validations Story level validations Spinach + Jobs related functionalities Headless Webkit Created after story development RSpec + API complete (QA’s / Dev’s)
  • 19. Evolving Implementing Executing Maintaining End user entry and exit scenarios Cucumber + Capybara Webdriver Story level UI validations Spinach + Headless End-To-End business scenarios Webkit Created after story development RSpec + API complete (QA’s / Dev’s)
  • 20. Evolving Implementing Executing Maintaining End user entry and exit scenarios Cucumber + Capybara Webdriver Story level UI validations Spinach + Headless End-To-End business scenarios Webkit Created after story development RSpec + API complete (QA’s / Dev’s)
  • 21. Evolving Implementing Executing Maintaining Cucumber + Developer/Tester Laptop CI pipeline Capybara • Smoke Tests • Smoke and E2E tests Webdriver • Less mocks Spinach + Headless Webkit Developer/Tester CI pipeline Laptop • Respective modules • After check-in • Before each check-in • Before smoke and RSpec + API • Mocks and Cassettes end-to-end
  • 22. Evolving Implementing Executing Maintaining Change requests Identify specification layer New requirements Modify existing specifications/if exists Regression/User acceptance defects Create/Update/Delete as requirement evolves
  • 23. Let’s talk about Why specifications Approach to specifications Specifications pyramid Learning's Q&A
  • 24. Key learning's Specifications - Before development Fail fast – 95% of functionalities gets validated before check-in Specifications verified during dev-box (including multiple browsers) Categorize specifications - Appropriate layer Parallelize test runs Keep test code equivalent to developer’s code Executable specifications Defects backlog not beyond a threshold (for example 20 defects) Defects root-cause - Feedback to the team
  • 25. Let’s Recap Defects leakage - missing Requirements Tests and requirements Frequent changes - documents becomes stale breaks existing functionalities Long Regression Spends more time on defect Cycles management and triage Less confidence - Existing test coverage
  • 26. Tools Available • Jbehave, Cucumber, Cuke4Duke with Java different drivers (Selenium,Sahi) • Twist (Thoughtworks Studios) • Specflow, Cucumber, Cuke4Nuke, .NET Coypu with drivers like Selenium, White, WatiN
  • 27. Q&A
  • 28. How can we help? ThoughtWorks is a global custom software solutions consultancy trusted by many of the world’s leading businesses with their most complex and critical systems. We deliver consulting grounded in delivery expertise, build custom applications and help organisations across all market sectors to drive IT efficiency – working to an exceptionally high standard. Contact us satnair@thoughtworks.com Private and Confidential. © 2012 ThoughtWorks. All rights reserved.