SlideShare ist ein Scribd-Unternehmen logo
1 von 28
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Scaling Scrum with UX
Scaling Scrum with UXScaling Scrum with UX
Scaling Scrum with UXCaleb Jenkins
 
2012 regina TC - 103 quality driven
2012 regina TC - 103 quality driven2012 regina TC - 103 quality driven
2012 regina TC - 103 quality drivenAmir 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 journeyAgile 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.comMitch 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 2010Atlassian
 
Dev Tools State Of Union
Dev Tools State Of UnionDev Tools State Of Union
Dev Tools State Of UnionAtlassian
 
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 2010Atlassian
 
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
 

Was ist angesagt? (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 ...
 

Andere mochten auch

Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testingVikrant Chauhan
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNetHai 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 SheetvodQA
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual TestingDirecti Group
 
Say NO To (More) Selenium Tests
Say NO To (More) Selenium TestsSay NO To (More) Selenium Tests
Say NO To (More) Selenium TestsAnand Bagmar
 
Arjuna - Reinventing the Test Automation Wheels
Arjuna - Reinventing the Test Automation WheelsArjuna - Reinventing the Test Automation Wheels
Arjuna - Reinventing the Test Automation WheelsRahul Verma
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana 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 OfJoe Colantonio
 
Test automation
Test automationTest automation
Test automationXavier Yin
 
Create the Future - Innovations in Testing
Create the Future - Innovations in TestingCreate the Future - Innovations in Testing
Create the Future - Innovations in TestingAnand Bagmar
 
Introduction to Gauge
Introduction to GaugeIntroduction to Gauge
Introduction to Gaugevodqancr
 
Need for automation testing
Need for automation testingNeed for automation testing
Need for automation testing99tests
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test AutomationPekka Klärck
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and PracticesAnand Bagmar
 

Andere mochten auch (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
 

Ähnlich wie Specifications – Test Automation Pyramid

Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an IntroductionSanjeev Sharma
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewWill 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
 
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 chernivcyVolodymyr Yelchev
 
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
 
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 QAvodQA
 
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
 

Ähnlich wie Specifications – Test Automation Pyramid (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...
 

Mehr von 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 trackingSathyan Sethumadhavan
 
Specifications For Enterprise Testing
Specifications For Enterprise TestingSpecifications For Enterprise Testing
Specifications For Enterprise TestingSathyan 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 enterprisesSathyan Sethumadhavan
 

Mehr von 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
 

Kürzlich hochgeladen

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Kürzlich hochgeladen (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Specifications – Test Automation Pyramid

  • 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.