SlideShare a Scribd company logo
1 of 36
Download to read offline
Agile Testing – Principles and
                    Practices




Anil Karade
Talentica Software (I) Pvt. Ltd.
Agenda
 
     Overview of Traditional Processes
 
     Agile Methodology
 
     Scrum
 
     Agile Testing Principles
 
     Agile Testing Practices With Case Study
 
     Agile Management Tools Used
 
     Benefits
How Traditional Test Processes Work

    Traditional Planning :
     Analysis      Design + Dev      Testing

                                               Release

    Actual :
        Analysis           Design + Dev         Testing

                                                    Release
Traditional Testing Practices


    “Last Defender of Quality” Stance

    Detailed preparation and upfront planning

    Heavyweight documentation

    Strict entrance and exit criteria with signoffs

    Attempts at process enforcement
What is Agile ?

    Agile – A continuous stream of business values

    Agile methods in contrast to traditional ones produce
    completely developed and tested features at frequent
    intervals of 2-4 weeks.

    Iterative approaches mean we can trade features for time
    instead of sacrificing quality
       S1               S2                  S3               Sn

            Release          Release             Release          Release


                 Completed, potentially shippable Features
                      Designed, Coded and Tested
Waterfall Vs Agile




                     Feature Usage
Values Expressed in Agile Manifesto:

    Individuals and interactions over processes and
    tools

    Working software over comprehensive
    documentation.

    Customer collaboration over contract negotiation

    Responding to change over following a plan.
Scrum

    Scrum in game of Rugby





    Agile principles will not work without
    integrated team mindset
Scrum
Scrum

    Scrum - an Agile approach to software development

    Scrum projects make progress in a series of Sprints

    Sprint - Timeboxed Period (2 – 4 weeks)

    During Sprint, team does:
    −
        Analysis, Design, Code and Test

    Product is potentially shippable after every Sprint
Agile Testing - Principles

    Shifting QA Focus

    From Being last line of defense to providing information,
    feedback and visibility.

    The adverse relationship between testers and developers
    must be replaced with a spirit of collaboration.
Principles Contd…

    Quality Responsibility –
    •
        Traditional model – Responsibility of independent QA
        group
    •
        Agile Model - Quality is everyone’s (team) responsibility”.
        QA execute test cases, developers do too.


    Testing Phase-
    •
        Traditional model – Testing is a distinct phase that
        happens in the end
    •
        Agile model - QA teams test continuously to measure the
        quality and provide feedback.
    •
        Quality is not added later. It evolves gradually.
Principles Contd…

    Shortening Feedback Loops
Agile Testing Practices with Case Study

    Scrum Implementation
    •
        We follow 2 Weeks Sprint
    •
        Release sprint (1 week) before going to production
    •
        At the end of Release sprint final release to production is done
Agile Testing Practices with Case Study

    Challenges Faced
    •
        Change in mindset
    •
        Fear to lose identity
    •
        Collaboration with programmers and customers
    •
        Not Understanding Agile Concepts – ‘Scrummerfall’
Scrummerfall
Testing Practices

    QA Role in Release Planning
    
        In contrast to traditional processes testers are involved
        from day one of the project.
    
        Sizing Stories – QA gives estimate for testing effort for the
        upcoming stories. In some cases testing a piece of
        functionality might take longer than coding it.
    
        Prioritizing – Stories that have many unknown areas or
        have high business impact should be planned in an early
        iteration, so there is time to recover if story blows up.
    
        Infrastructure – Plan for CI setup, test environment, test
        data set up
Testing Practices Contd...
Clear Requirements = Half Done
Practice we followed -
Full Kit Teams -
  •
      Separate full kit team was formed that included BA, Dev, QA
      experts and Customer.
  •
      This team worked on getting the requirements clarified from
      everyone’s point of view.
  •
      This ensured that we are minimizing the risk of finding the
      defects that will challenge the requirements in the end stages.
Testing Practices Contd...

    QA Role at Iteration Kick -Off :
    •
      Learn stories in details
    Example Story


        Story – 1
        As a customer I want to know how much my order will cost to
        Ship based on the shipping speed I select so that I can
        choose a different shipping speed if I want to.
Testing Practices Contd...

    QA Role at Iteration Kick -Off :
    •
        Writing Task Cards –
           Dev tasks for Story -1
             •
               Coding for Shipping API
             •
               UI Design
             •
               UI coding
           Testing tasks for Story -1
             •
               Write high level test cases
             •
               Write detailed test cases
             •
               Acceptance testing for API
             •
               Detailed functional testing for API
             •
               Exploratory testing
             •
               Automation



    •
        Review high level test cases with developers
Testing Practices Contd...

    Coding and Testing :
    •
        QA works closely with programmers, customers and other team
        members to produce stories in small testing-coding-reviewing-
        testing increments.
    •
        Write detailed tests for a story as soon as coding begins. Follow
        conversational test case creation approach for writing test cases



                                                                  Contd…
Testing Practices Contd...

    Conversational Test Case Creation –




     •
         Create business facing test cases in conversation with BA.
         e.g. business flows overlooked by BA
     •
         Create technology facing test cases in conversation with
         Developers. e.g. browser dependencies, performance, etc
     •
         Creating test cases in isolation will not assure coverage.
Testing Practices Contd…

    Identify Risks / Prioritize Test Cases
    •
        With Agile testing QA not only needs to test sooner, but they
        need to uncover high risk areas faster.
    •
        Execute the test cases in order of the risk associated with it, so
        that at the end of iteration we do not end up in finding critical
        bugs where we don't have sufficient time to fix.
Testing Practices Contd...
Risk Analysis for Story -1

    #        Item                              Impact   Probability   Risk

    1        Incorrect cost displayed          4        2             8
    2        User can’t choose different       5        1             5
             shipping option
    3        Estimated cost doesn’t match      3        4             12
             actual cost at checkout
    4        Invalid postal code entered and   4        1             4
             not caught by validation
    5        User can’t change shipping        5        2             10
             address
    6        User changes shipping address,    5        4             20
             but cost doesn’t change
             accordingly
Testing Practices Contd…
Test Early (Behind GUI) –
  •
      Always ask programmers how a small set of coding effort can be
      tested earlier. One of the examples we followed is API testing.
  •
      With traditional approach QA used to test only in stable builds,
      whereas with agile we are uncovering the risks earlier by API
      testing, database testing
Testing Practices Contd…
Behind GUI (API) Testing –
  Testing for Shipping cost API
  Assumption – only valid destinations are considered as input
Start with simple happy path testing-
  Weight              Destination Postal   Cost ($)
                      Code
  5 lbs               80104                7.25
Testing Practices Contd…

    Coding and Testing Progress Together –

    Iterative back and forth in coding and testing.

    Try Canadian postal code. Result – It returns exception
Revised happy path test –

    Weight            Destination        Country Code    Cost
                      Postal code
    5 lbs             80104              US              7.25
    5 lbs             T2J 2M7            CA              9.40


    Any Clarification - Programmer + QA + Customer = Power of Three
Testing Practices Contd…
•
    Tests that critique the product –
    
        Be aware of all nice to have, enhancement requests.
    
        Don’t jeopardize other stories by spending too much of time adding
        things that doesn’t have a big ROI.

    Pair Testing

    Which bugs to Logs ?
Testing Practices Contd…

    Exploratory Testing
    •
        Exploratory testing is done when we get a working model of a
        functionality
    •
        Simultaneously develop and execute test cases while exploring
        functionality
Testing Practices Contd...

    Lightweight Documentation
    
        Instead of writing verbose, comprehensive test
        documentation focus on essence of test.
    
        Use collaborative tools – wiki, Review board etc..
    
        Centralize documents – e.g. centralize generic test cases
    
        Leverage documents for multiple purpose
Testing Practices Contd...

    Automation
    
        Automation is the key to agile.
    
        Automation helps QA in focusing on other important
        aspects of testing like functional, exploratory testing.
    
        Focus on automating business logic bypassing GUI when
        UI is changing continuously.
    
        Have customizable smoke tests
    
        Use lightweight automation tools for automating unit tests
    
        Tools used: JUnit, Selenium
Testing Practices Contd...

    Release Sprint Testing
    •
        Following testing activities need to occur during release
        sprint before finally shipping the product.
         •
             Final pass of end-to-end system integration test
         •
             Final performance/security test
         •
             Documentation touch ups
         •
             User Acceptance Test

    •
        Time required is greatly reduced (from initial 3 weeks to 1
        week, in our case ) as compared to traditional process and
        less likelihood of any surprises.
Testing Life Cycle
     Sprint 1 (2 Weeks)
        Test Analysis,
       Acceptance Test,
      Investigative Test,
  Automated Regression Test
                                   Investigative Test :
                                    - Exploratory Test
     Sprint 2 (2 Weeks)             - Scenario Test
        Test Analysis,              - System Test
      Acceptance Test,
      Investigative Test,
  Automated Regression Test



  Release Sprint (1 week)
    end-to-end system Test
Final Performance /Security Test
              UAT


          Production
Agile Tools

    We used VersionOne and JIRA for scrum management.

    Excel backlog sheets were also used.
    http://agilesoftwaredevelopment.com/scrum/simple-product-backlog
Agile Implementation Benefits

    Increased customer satisfaction

    On time deliveries without compromising quality

    Iteration wise testing makes QA more focused on
    specific functionality which results in effective
    testing.

    Due to stable builds test cases execution was fast

    Reduction in number of defects observed in testing
Thank You

More Related Content

What's hot

Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
Intetics
 

What's hot (20)

QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
ISTQB Agile Extension
ISTQB Agile ExtensionISTQB Agile Extension
ISTQB Agile Extension
 
Agile testing
Agile testingAgile testing
Agile testing
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
 
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Agile Metrics
Agile MetricsAgile Metrics
Agile Metrics
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
 
Agile 2013 - Lean Change for Enabling Agile Transformations
Agile 2013 - Lean Change for Enabling Agile TransformationsAgile 2013 - Lean Change for Enabling Agile Transformations
Agile 2013 - Lean Change for Enabling Agile Transformations
 
QA in Agile World
QA in Agile WorldQA in Agile World
QA in Agile World
 

Viewers also liked

What\'s new in LoadRunner and Performance Center 11
What\'s new in LoadRunner and Performance Center 11What\'s new in LoadRunner and Performance Center 11
What\'s new in LoadRunner and Performance Center 11
fsyed
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroids
Vipul Gupta
 

Viewers also liked (16)

The Purpose And Goals Of Risk Management
The Purpose And Goals Of Risk ManagementThe Purpose And Goals Of Risk Management
The Purpose And Goals Of Risk Management
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Agile Is the New Waterfall
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New Waterfall
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Introduction to Agile software testing
Introduction to Agile software testingIntroduction to Agile software testing
Introduction to Agile software testing
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
 
What\'s new in LoadRunner and Performance Center 11
What\'s new in LoadRunner and Performance Center 11What\'s new in LoadRunner and Performance Center 11
What\'s new in LoadRunner and Performance Center 11
 
Klaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using ScrumKlaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using Scrum
 
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroids
 
About Agile Testing Alliance (ATA)
About Agile Testing Alliance (ATA)About Agile Testing Alliance (ATA)
About Agile Testing Alliance (ATA)
 
Quality Assurance Vs Quality Control
Quality Assurance Vs Quality ControlQuality Assurance Vs Quality Control
Quality Assurance Vs Quality Control
 
QA and scrum
QA and scrumQA and scrum
QA and scrum
 
ProductSavvy - Scrum and QA
ProductSavvy - Scrum and QAProductSavvy - Scrum and QA
ProductSavvy - Scrum and QA
 
We did it!!? There is place for QAs in Agile!!?
We did it!!? There is place for QAs in Agile!!?We did it!!? There is place for QAs in Agile!!?
We did it!!? There is place for QAs in Agile!!?
 
Agile Test Case Management
Agile Test Case ManagementAgile Test Case Management
Agile Test Case Management
 

Similar to Agile testing principles and practices - Anil Karade

Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile Projects
Ravi Kumar
 
Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?
alind tiwari
 
Agile2013 sustainable change
Agile2013 sustainable changeAgile2013 sustainable change
Agile2013 sustainable change
Dennis Stevens
 

Similar to Agile testing principles and practices - Anil Karade (20)

Testing in agile
Testing in agileTesting in agile
Testing in agile
 
Agile San Diego: Testing as Exploration (Continuous Delivery w/o Automation)
Agile San Diego: Testing as Exploration (Continuous Delivery w/o Automation)Agile San Diego: Testing as Exploration (Continuous Delivery w/o Automation)
Agile San Diego: Testing as Exploration (Continuous Delivery w/o Automation)
 
Product QA - A test engineering perspective
Product QA - A test engineering perspectiveProduct QA - A test engineering perspective
Product QA - A test engineering perspective
 
Agile testing MyBTEC
Agile testing MyBTECAgile testing MyBTEC
Agile testing MyBTEC
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
ISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about CertificationISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about Certification
 
Process Guidelines V2
Process Guidelines V2Process Guidelines V2
Process Guidelines V2
 
Agile case studies
Agile case studiesAgile case studies
Agile case studies
 
Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile Projects
 
Tester Challenges in Agile ?
Tester Challenges in Agile ?Tester Challenges in Agile ?
Tester Challenges in Agile ?
 
Agile process
Agile processAgile process
Agile process
 
AgileTesting_Ver1.0
AgileTesting_Ver1.0AgileTesting_Ver1.0
AgileTesting_Ver1.0
 
Agile testing
Agile testingAgile testing
Agile testing
 
UNIT IV.ppt
UNIT IV.pptUNIT IV.ppt
UNIT IV.ppt
 
Weaning Legagy Platform From Offshore Qa
Weaning Legagy Platform From Offshore QaWeaning Legagy Platform From Offshore Qa
Weaning Legagy Platform From Offshore Qa
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
 
Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed w...
Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed w...Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed w...
Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed w...
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 
Agile2013 sustainable change
Agile2013 sustainable changeAgile2013 sustainable change
Agile2013 sustainable change
 
test
testtest
test
 

More from IndicThreads

Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
IndicThreads
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
IndicThreads
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
IndicThreads
 

More from IndicThreads (20)

Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs it
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
 
Go Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayGo Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang way
 
Building Resilient Microservices
Building Resilient Microservices Building Resilient Microservices
Building Resilient Microservices
 
App using golang indicthreads
App using golang  indicthreadsApp using golang  indicthreads
App using golang indicthreads
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreads
 
How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
 
Iot secure connected devices indicthreads
Iot secure connected devices indicthreadsIot secure connected devices indicthreads
Iot secure connected devices indicthreads
 
Real world IoT for enterprises
Real world IoT for enterprisesReal world IoT for enterprises
Real world IoT for enterprises
 
IoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreads
 
Functional Programming Past Present Future
Functional Programming Past Present FutureFunctional Programming Past Present Future
Functional Programming Past Present Future
 
Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fame
 
Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads Conference
 
Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java Carputer
 
Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 
Speed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackSpeed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedback
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
 
Digital Transformation of the Enterprise. What IT leaders need to know!
Digital Transformation of the Enterprise. What IT  leaders need to know!Digital Transformation of the Enterprise. What IT  leaders need to know!
Digital Transformation of the Enterprise. What IT leaders need to know!
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 

Agile testing principles and practices - Anil Karade

  • 1. Agile Testing – Principles and Practices Anil Karade Talentica Software (I) Pvt. Ltd.
  • 2. Agenda  Overview of Traditional Processes  Agile Methodology  Scrum  Agile Testing Principles  Agile Testing Practices With Case Study  Agile Management Tools Used  Benefits
  • 3. How Traditional Test Processes Work  Traditional Planning : Analysis Design + Dev Testing Release  Actual : Analysis Design + Dev Testing Release
  • 4. Traditional Testing Practices  “Last Defender of Quality” Stance  Detailed preparation and upfront planning  Heavyweight documentation  Strict entrance and exit criteria with signoffs  Attempts at process enforcement
  • 5. What is Agile ?  Agile – A continuous stream of business values  Agile methods in contrast to traditional ones produce completely developed and tested features at frequent intervals of 2-4 weeks.  Iterative approaches mean we can trade features for time instead of sacrificing quality S1 S2 S3 Sn Release Release Release Release Completed, potentially shippable Features Designed, Coded and Tested
  • 6. Waterfall Vs Agile Feature Usage
  • 7. Values Expressed in Agile Manifesto:  Individuals and interactions over processes and tools  Working software over comprehensive documentation.  Customer collaboration over contract negotiation  Responding to change over following a plan.
  • 8. Scrum  Scrum in game of Rugby  Agile principles will not work without integrated team mindset
  • 10. Scrum  Scrum - an Agile approach to software development  Scrum projects make progress in a series of Sprints  Sprint - Timeboxed Period (2 – 4 weeks)  During Sprint, team does: − Analysis, Design, Code and Test  Product is potentially shippable after every Sprint
  • 11. Agile Testing - Principles  Shifting QA Focus  From Being last line of defense to providing information, feedback and visibility.  The adverse relationship between testers and developers must be replaced with a spirit of collaboration.
  • 12. Principles Contd…  Quality Responsibility – • Traditional model – Responsibility of independent QA group • Agile Model - Quality is everyone’s (team) responsibility”. QA execute test cases, developers do too.  Testing Phase- • Traditional model – Testing is a distinct phase that happens in the end • Agile model - QA teams test continuously to measure the quality and provide feedback. • Quality is not added later. It evolves gradually.
  • 13. Principles Contd…  Shortening Feedback Loops
  • 14. Agile Testing Practices with Case Study  Scrum Implementation • We follow 2 Weeks Sprint • Release sprint (1 week) before going to production • At the end of Release sprint final release to production is done
  • 15. Agile Testing Practices with Case Study  Challenges Faced • Change in mindset • Fear to lose identity • Collaboration with programmers and customers • Not Understanding Agile Concepts – ‘Scrummerfall’
  • 17. Testing Practices  QA Role in Release Planning  In contrast to traditional processes testers are involved from day one of the project.  Sizing Stories – QA gives estimate for testing effort for the upcoming stories. In some cases testing a piece of functionality might take longer than coding it.  Prioritizing – Stories that have many unknown areas or have high business impact should be planned in an early iteration, so there is time to recover if story blows up.  Infrastructure – Plan for CI setup, test environment, test data set up
  • 18. Testing Practices Contd... Clear Requirements = Half Done Practice we followed - Full Kit Teams - • Separate full kit team was formed that included BA, Dev, QA experts and Customer. • This team worked on getting the requirements clarified from everyone’s point of view. • This ensured that we are minimizing the risk of finding the defects that will challenge the requirements in the end stages.
  • 19. Testing Practices Contd...  QA Role at Iteration Kick -Off : • Learn stories in details Example Story Story – 1 As a customer I want to know how much my order will cost to Ship based on the shipping speed I select so that I can choose a different shipping speed if I want to.
  • 20. Testing Practices Contd...  QA Role at Iteration Kick -Off : • Writing Task Cards – Dev tasks for Story -1 • Coding for Shipping API • UI Design • UI coding Testing tasks for Story -1 • Write high level test cases • Write detailed test cases • Acceptance testing for API • Detailed functional testing for API • Exploratory testing • Automation • Review high level test cases with developers
  • 21. Testing Practices Contd...  Coding and Testing : • QA works closely with programmers, customers and other team members to produce stories in small testing-coding-reviewing- testing increments. • Write detailed tests for a story as soon as coding begins. Follow conversational test case creation approach for writing test cases Contd…
  • 22. Testing Practices Contd...  Conversational Test Case Creation – • Create business facing test cases in conversation with BA. e.g. business flows overlooked by BA • Create technology facing test cases in conversation with Developers. e.g. browser dependencies, performance, etc • Creating test cases in isolation will not assure coverage.
  • 23. Testing Practices Contd…  Identify Risks / Prioritize Test Cases • With Agile testing QA not only needs to test sooner, but they need to uncover high risk areas faster. • Execute the test cases in order of the risk associated with it, so that at the end of iteration we do not end up in finding critical bugs where we don't have sufficient time to fix.
  • 24. Testing Practices Contd... Risk Analysis for Story -1 # Item Impact Probability Risk 1 Incorrect cost displayed 4 2 8 2 User can’t choose different 5 1 5 shipping option 3 Estimated cost doesn’t match 3 4 12 actual cost at checkout 4 Invalid postal code entered and 4 1 4 not caught by validation 5 User can’t change shipping 5 2 10 address 6 User changes shipping address, 5 4 20 but cost doesn’t change accordingly
  • 25. Testing Practices Contd… Test Early (Behind GUI) – • Always ask programmers how a small set of coding effort can be tested earlier. One of the examples we followed is API testing. • With traditional approach QA used to test only in stable builds, whereas with agile we are uncovering the risks earlier by API testing, database testing
  • 26. Testing Practices Contd… Behind GUI (API) Testing – Testing for Shipping cost API Assumption – only valid destinations are considered as input Start with simple happy path testing- Weight Destination Postal Cost ($) Code 5 lbs 80104 7.25
  • 27. Testing Practices Contd…  Coding and Testing Progress Together –  Iterative back and forth in coding and testing.  Try Canadian postal code. Result – It returns exception Revised happy path test – Weight Destination Country Code Cost Postal code 5 lbs 80104 US 7.25 5 lbs T2J 2M7 CA 9.40  Any Clarification - Programmer + QA + Customer = Power of Three
  • 28. Testing Practices Contd… • Tests that critique the product –  Be aware of all nice to have, enhancement requests.  Don’t jeopardize other stories by spending too much of time adding things that doesn’t have a big ROI.  Pair Testing  Which bugs to Logs ?
  • 29. Testing Practices Contd…  Exploratory Testing • Exploratory testing is done when we get a working model of a functionality • Simultaneously develop and execute test cases while exploring functionality
  • 30. Testing Practices Contd...  Lightweight Documentation  Instead of writing verbose, comprehensive test documentation focus on essence of test.  Use collaborative tools – wiki, Review board etc..  Centralize documents – e.g. centralize generic test cases  Leverage documents for multiple purpose
  • 31. Testing Practices Contd...  Automation  Automation is the key to agile.  Automation helps QA in focusing on other important aspects of testing like functional, exploratory testing.  Focus on automating business logic bypassing GUI when UI is changing continuously.  Have customizable smoke tests  Use lightweight automation tools for automating unit tests  Tools used: JUnit, Selenium
  • 32. Testing Practices Contd...  Release Sprint Testing • Following testing activities need to occur during release sprint before finally shipping the product. • Final pass of end-to-end system integration test • Final performance/security test • Documentation touch ups • User Acceptance Test • Time required is greatly reduced (from initial 3 weeks to 1 week, in our case ) as compared to traditional process and less likelihood of any surprises.
  • 33. Testing Life Cycle Sprint 1 (2 Weeks) Test Analysis, Acceptance Test, Investigative Test, Automated Regression Test Investigative Test : - Exploratory Test Sprint 2 (2 Weeks) - Scenario Test Test Analysis, - System Test Acceptance Test, Investigative Test, Automated Regression Test Release Sprint (1 week) end-to-end system Test Final Performance /Security Test UAT Production
  • 34. Agile Tools  We used VersionOne and JIRA for scrum management.  Excel backlog sheets were also used. http://agilesoftwaredevelopment.com/scrum/simple-product-backlog
  • 35. Agile Implementation Benefits  Increased customer satisfaction  On time deliveries without compromising quality  Iteration wise testing makes QA more focused on specific functionality which results in effective testing.  Due to stable builds test cases execution was fast  Reduction in number of defects observed in testing