SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
a34sharm
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
tharindakasun
 

Mais procurados (20)

Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
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
Agile testingAgile testing
Agile testing
 
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
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing process
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
 
Módulo 6. Agile Testing
Módulo 6. Agile TestingMódulo 6. Agile Testing
Módulo 6. Agile Testing
 
Testing as a Managed Service using SLAs and KPIs
Testing as a Managed Service using SLAs and KPIsTesting as a Managed Service using SLAs and KPIs
Testing as a Managed Service using SLAs and KPIs
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 

Destaque

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
 

Destaque (15)

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

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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!
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

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