SlideShare a Scribd company logo
1 of 32
1
2
   Patterns in real world
   Design Patterns and Test Patterns
   Usefulness of patterns in testing
   Patterns in testing
       Data Patterns
       Test Patterns
       Defect Patterns
       Test management Patterns
       People management Patterns
       Control Patterns
   What we do not know today
   What we might need to create – pattern language

                                                      3
4
5
   The sum of the
    numbers in any row
    is equal to 2n




      Source - http://ptri1.tripod.com/




                                          6
   How do you learn your native language?
   How do you learn your second language?




                                             7
   The brain is a pattern-mad supposing
     machine. Given just a little stimuli, it divines
     the probable. …it recognizes familiar patterns
     and acts with conviction.

    As much of a confection as our mental maps
     are, they (Patterns) allow us to
     speculate, rehearse and make plans.
*http://www.nytimes.com/2004/06/15/science/essay-i-sing-the-body-s-pattern-recognition-machine.html


                                                                                                      8
   *A form or model proposed for imitation
   *Something designed or used as a model for
    making things
   Design pattern - general reusable solution to
    a commonly occurring design problem


From MW Dictionary*

                                                    9
   I predict that one of the future breakthrough
    in testing will come through pattern
    recognition
   Example
     Patterns of defects arising out of patterns of
      errors in code/design/requirements
     Patterns of project failures arising out of data
      collected during project execution


                                                         10
   Patterns exists everywhere - in
    defects, code, design, processes
   Pattern identification helps predict the next
    set of events in the chain enabling you to do
    risk mitigation
   Patterns enable you to distinguish the woods
    from the trees


                                                    11
   Data Patterns
   Test Patterns
   Defect Patterns
   Test management Patterns
   People management Patterns
   Control Patterns



                                 12
   Ross Collard listed a number of data patterns
    for functional and performance testing -
       Routine Live Data
       Baseline
       Batch Volume or Parallel
       Benchmark
       Pristine
       Truncated
       Minimally Redundant etc.
                                                    13
   People often work on one side of boundary
    while testing
   Make them work on both sides/all sides of
    boundary
   Example –
     Triangle Problem negative test cases - no value, 1
      value, 2 values, all 3 values
     what about the other side of the boundary - more
      number of values?
                                                           14
   Patterns can help uncover new test design
    techniques OR new ways to look at existing
    test design techniques
     Apply test design techniques to create tests
     Monitor the bugs arising OUT(SIDE) of tests
     Establish the bugs that could have been found
      using existing techniques
     Defects not “findable” using techniques should be
      analyzed for patterns and a technique using which
      these could be found
                                                          15
Some patterns in type of bugs not found using
tests created using techniques
 Interaction of application with the operating
  system
     Reason – Design specifications hardly go to that level
      of detail and system specifications never
   Defects related to interdependency of features
    and code structures causing one portion of code
    to be bound to another piece of code
     Reason – Code dependencies are either not called out
      explicitly, born in either assumptions or ignorance
      (most of the time)
                                                               16
Associations
                                         Contains
                   User Inputs

   A model     System Inputs                                                                                        Output Data
                                             Entity under test
    based          Input Data
                                                                                                                   Output Actions

    technique      Input Actors

                                                                                                                                      On other
   Resembles                                                                                                                         elements/
                                                                                                                                       entities




                                         Environment (Ext. State)
    state

                                                                    State (Internal State)
    diagrams                                                                                                                            On OS     - Disk
                                                                                                                                                  - File
                                                                                                                                                  - Process
                                                                                                                                                  - Screen IO
                                                                                                                                                  - System Messages
                                                                                                            Transient /Stable State




                                                                                                             Parameters & their attributes

                            Parameters
                                                     State of Parameters
                                                                                                                                                                      17
   How many bugs do you find every month?
   How many of them are type –
    UI, Feature, cross-
    feature, database, security…
   Can you sub-classify them?
   Do you know what are other testers finding?
   Do you see any patterns in
     What type of bugs you find
     What types of bugs you don’t find?
                                                  18
   If you find predictable bugs (based on your
    past experience and pattern recognition) can
    there be pattern recognition
     for code?
     Design?
     Requirements?




                                                   19
   Are there testers who do good bug isolation?
   Are there those who do not?
   How do they fail? What things they do not
    do?
   What patterns exist?
   If I know those patterns can I improve their
    skills?


                                                   20
   Example
     Project Failure pattern –
      Communication/delivery/no-interested-client-
      stakeholder
     Automation Outsourcing Failure – Lack of ~effort
      appreciation/well-written tests/domain
      knowledge



                                                         21
Date      Action                                     Issue
 24-Jan-01Clear work division in overlapping areas   Performance test cases being written by Joe and Jane.
          and ensuring communication between         Test were duplicated. Some missing test cases
          the overlapping/concerned people.          because every body was not aware hence did not
                                                     review/contribute to the tests.
28-Jan-01Knowledge of the system (WES, WAS           Some members of the team did not know what they
         performance, tuning, deployment)            had to do, others did not have required technical
         should be available to the team.            knowledge
14-Feb-01Communication of the documents,             The release meeting with developers happened
         Agenda, Minutes to the testing team         without a copy of test plan (esp. dates) being
         should be formal, via mail.                 available.
 9-Mar-01User Guides esp. “how to get started”       Swami sent a mail asking how to use the ABC app. We
         should always accompany a build             had to write some steps and send him the document.

         What pattern do you see here?
         This pattern emerges from long term view - The four
          entries here are from a list of 133 entries between Jan and April 2001.
         How is pattern recognition different from Root cause analysis?

                                                                                                       22
   Example – Patterns while Interviewing
     assessing people, forming
      impressions, validating, creating and refining
      patterns
     Remember - you have not discovered the last
      pattern hence you may be wrong
     Keep updating your impression of patterns and be
      ready for the worst


                                                         23
   Example – “Only a Guest” pattern
     when people (are about to) leave the organization
      without information to the management there
      are some behavioral patterns that manifest
      themselves.
     Indifference, extra-hard work, sudden forgiveness
      and not picking up of battles, unplanned
      absenteeism, putting all paper-work in place etc.


                                                          24
   Patterns for
     Predicting
     Inventing
     Improving
     Preventing
     …




                   25
   Unified Modeling Language – Unified Testing
    Language

   No guarantee of success and no predictions
    of failure




                                                  26
   Applying patterns requires
     Ignoring the small and looking at the large
     Large amount of data (usually)
     Reduction in the number of variables
     Elimination of outliers
     Pattern of outliers
     Variations and taking cognizance of those
     Variations and eliminating them

                                                    27
http://www.rense.com/general86/stun.htm
                                          28
http://www.rense.com/general86/stun.htm
                                          29
   “Homo sapiens is about pattern
    recognition, he says. Both a gift and a trap.” -
    William Gibson – Pattern Recognition




                                                       30
   http://www.exampler.com/testing-com/test-patterns/
   http://c2.com/cgi-bin/wiki?TestingPatterns
   http://www.testingreflections.com/node/view/9




                                                         31
Thank you everybody <<meta-pattern – help>> for images, text and ideas




                                                                         32

More Related Content

Similar to Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking by Vipul Kocher

Testingfor Sw Security
Testingfor Sw SecurityTestingfor Sw Security
Testingfor Sw Security
ankitmehta21
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb
 
A&D - Introduction to Analysis & Design of Information System
A&D - Introduction to Analysis & Design of Information SystemA&D - Introduction to Analysis & Design of Information System
A&D - Introduction to Analysis & Design of Information System
vinay arora
 

Similar to Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking by Vipul Kocher (20)

Taxonomy for bugs
Taxonomy for bugsTaxonomy for bugs
Taxonomy for bugs
 
Is the current model of load testing broken ukcmg - steve thair
Is the current model of load testing broken   ukcmg - steve thairIs the current model of load testing broken   ukcmg - steve thair
Is the current model of load testing broken ukcmg - steve thair
 
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
 
Tc Checklist
Tc ChecklistTc Checklist
Tc Checklist
 
20111104 s4 overview
20111104 s4 overview20111104 s4 overview
20111104 s4 overview
 
Testing In Software Engineering
Testing In Software EngineeringTesting In Software Engineering
Testing In Software Engineering
 
Machine programming
Machine programmingMachine programming
Machine programming
 
Advanced malware analysis training session3 botnet analysis part2
Advanced malware analysis training session3 botnet analysis part2Advanced malware analysis training session3 botnet analysis part2
Advanced malware analysis training session3 botnet analysis part2
 
It’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory TestingIt’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory Testing
 
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative EffectivenessA Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
 
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
 
Testingfor Sw Security
Testingfor Sw SecurityTestingfor Sw Security
Testingfor Sw Security
 
Expert System - Artificial intelligence
Expert System - Artificial intelligenceExpert System - Artificial intelligence
Expert System - Artificial intelligence
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
 
SOFTWARE ENGINEERING UNIT 6 Ch 13
SOFTWARE ENGINEERING UNIT 6 Ch 13SOFTWARE ENGINEERING UNIT 6 Ch 13
SOFTWARE ENGINEERING UNIT 6 Ch 13
 
Semantic (Social) Sensor Networks
Semantic (Social) Sensor NetworksSemantic (Social) Sensor Networks
Semantic (Social) Sensor Networks
 
A&D - Introduction to Analysis & Design of Information System
A&D - Introduction to Analysis & Design of Information SystemA&D - Introduction to Analysis & Design of Information System
A&D - Introduction to Analysis & Design of Information System
 
Robotics and expert systems
Robotics and expert systemsRobotics and expert systems
Robotics and expert systems
 
Software testing overview subbu
Software testing overview subbuSoftware testing overview subbu
Software testing overview subbu
 

More from RIA RUI Society

Introduction to google cloud messaging in android
Introduction to google cloud messaging in androidIntroduction to google cloud messaging in android
Introduction to google cloud messaging in android
RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Effective test management with triple t tools,...
Bug deBug Chennai 2012 Talk - Effective test management with triple t  tools,...Bug deBug Chennai 2012 Talk - Effective test management with triple t  tools,...
Bug deBug Chennai 2012 Talk - Effective test management with triple t tools,...
RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Business value articulation in software project...
Bug deBug Chennai 2012 Talk - Business value articulation in software project...Bug deBug Chennai 2012 Talk - Business value articulation in software project...
Bug deBug Chennai 2012 Talk - Business value articulation in software project...
RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
RIA RUI Society
 
Html5 and beyond the next generation of mobile web applications - Touch Tou...
Html5 and beyond   the next generation of mobile web applications - Touch Tou...Html5 and beyond   the next generation of mobile web applications - Touch Tou...
Html5 and beyond the next generation of mobile web applications - Touch Tou...
RIA RUI Society
 
Achieving 5 Es in mobile testing
Achieving 5 Es in mobile testingAchieving 5 Es in mobile testing
Achieving 5 Es in mobile testing
RIA RUI Society
 

More from RIA RUI Society (20)

Introduction to google cloud messaging in android
Introduction to google cloud messaging in androidIntroduction to google cloud messaging in android
Introduction to google cloud messaging in android
 
Entering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystemEntering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystem
 
Design of the indian rupee symbol
Design of the indian rupee symbolDesign of the indian rupee symbol
Design of the indian rupee symbol
 
Creating delightful experiences
Creating delightful experiencesCreating delightful experiences
Creating delightful experiences
 
Typographic history, systems and perception
Typographic history, systems and perceptionTypographic history, systems and perception
Typographic history, systems and perception
 
Understanding Design and Brand Communication Workshop Content - Design Camp I...
Understanding Design and Brand Communication Workshop Content - Design Camp I...Understanding Design and Brand Communication Workshop Content - Design Camp I...
Understanding Design and Brand Communication Workshop Content - Design Camp I...
 
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
 
Bug deBug Chennai 2012 Talk - Web application usability by Parimala Hariprasad
Bug deBug Chennai 2012 Talk - Web application usability by Parimala HariprasadBug deBug Chennai 2012 Talk - Web application usability by Parimala Hariprasad
Bug deBug Chennai 2012 Talk - Web application usability by Parimala Hariprasad
 
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
 
Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...
Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...
Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...
 
Bug deBug Chennai 2012 Talk - Effective test management with triple t tools,...
Bug deBug Chennai 2012 Talk - Effective test management with triple t  tools,...Bug deBug Chennai 2012 Talk - Effective test management with triple t  tools,...
Bug deBug Chennai 2012 Talk - Effective test management with triple t tools,...
 
Bug deBug Chennai 2012 Talk - Business value articulation in software project...
Bug deBug Chennai 2012 Talk - Business value articulation in software project...Bug deBug Chennai 2012 Talk - Business value articulation in software project...
Bug deBug Chennai 2012 Talk - Business value articulation in software project...
 
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
 
Usability testing for mobile apps - Touch Tour Chennai
Usability testing for mobile apps - Touch Tour ChennaiUsability testing for mobile apps - Touch Tour Chennai
Usability testing for mobile apps - Touch Tour Chennai
 
Introduction to Android OS - Touch Tour Chennai
Introduction to Android OS - Touch Tour ChennaiIntroduction to Android OS - Touch Tour Chennai
Introduction to Android OS - Touch Tour Chennai
 
Html5 and beyond the next generation of mobile web applications - Touch Tou...
Html5 and beyond   the next generation of mobile web applications - Touch Tou...Html5 and beyond   the next generation of mobile web applications - Touch Tou...
Html5 and beyond the next generation of mobile web applications - Touch Tou...
 
Demystyfing the touch device market - Touch Tour Chennai
Demystyfing the touch device market - Touch Tour ChennaiDemystyfing the touch device market - Touch Tour Chennai
Demystyfing the touch device market - Touch Tour Chennai
 
Cross platform mobile applications - Touch Tour Chennai
Cross platform mobile applications - Touch Tour ChennaiCross platform mobile applications - Touch Tour Chennai
Cross platform mobile applications - Touch Tour Chennai
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
Achieving 5 Es in mobile testing
Achieving 5 Es in mobile testingAchieving 5 Es in mobile testing
Achieving 5 Es in mobile testing
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking by Vipul Kocher

  • 1. 1
  • 2. 2
  • 3. Patterns in real world  Design Patterns and Test Patterns  Usefulness of patterns in testing  Patterns in testing  Data Patterns  Test Patterns  Defect Patterns  Test management Patterns  People management Patterns  Control Patterns  What we do not know today  What we might need to create – pattern language 3
  • 4. 4
  • 5. 5
  • 6. The sum of the numbers in any row is equal to 2n Source - http://ptri1.tripod.com/ 6
  • 7. How do you learn your native language?  How do you learn your second language? 7
  • 8. The brain is a pattern-mad supposing machine. Given just a little stimuli, it divines the probable. …it recognizes familiar patterns and acts with conviction.  As much of a confection as our mental maps are, they (Patterns) allow us to speculate, rehearse and make plans. *http://www.nytimes.com/2004/06/15/science/essay-i-sing-the-body-s-pattern-recognition-machine.html 8
  • 9. *A form or model proposed for imitation  *Something designed or used as a model for making things  Design pattern - general reusable solution to a commonly occurring design problem From MW Dictionary* 9
  • 10. I predict that one of the future breakthrough in testing will come through pattern recognition  Example  Patterns of defects arising out of patterns of errors in code/design/requirements  Patterns of project failures arising out of data collected during project execution 10
  • 11. Patterns exists everywhere - in defects, code, design, processes  Pattern identification helps predict the next set of events in the chain enabling you to do risk mitigation  Patterns enable you to distinguish the woods from the trees 11
  • 12. Data Patterns  Test Patterns  Defect Patterns  Test management Patterns  People management Patterns  Control Patterns 12
  • 13. Ross Collard listed a number of data patterns for functional and performance testing -  Routine Live Data  Baseline  Batch Volume or Parallel  Benchmark  Pristine  Truncated  Minimally Redundant etc. 13
  • 14. People often work on one side of boundary while testing  Make them work on both sides/all sides of boundary  Example –  Triangle Problem negative test cases - no value, 1 value, 2 values, all 3 values  what about the other side of the boundary - more number of values? 14
  • 15. Patterns can help uncover new test design techniques OR new ways to look at existing test design techniques  Apply test design techniques to create tests  Monitor the bugs arising OUT(SIDE) of tests  Establish the bugs that could have been found using existing techniques  Defects not “findable” using techniques should be analyzed for patterns and a technique using which these could be found 15
  • 16. Some patterns in type of bugs not found using tests created using techniques  Interaction of application with the operating system  Reason – Design specifications hardly go to that level of detail and system specifications never  Defects related to interdependency of features and code structures causing one portion of code to be bound to another piece of code  Reason – Code dependencies are either not called out explicitly, born in either assumptions or ignorance (most of the time) 16
  • 17. Associations Contains User Inputs  A model System Inputs Output Data Entity under test based Input Data Output Actions technique Input Actors On other  Resembles elements/ entities Environment (Ext. State) state State (Internal State) diagrams On OS - Disk - File - Process - Screen IO - System Messages Transient /Stable State Parameters & their attributes Parameters State of Parameters 17
  • 18. How many bugs do you find every month?  How many of them are type – UI, Feature, cross- feature, database, security…  Can you sub-classify them?  Do you know what are other testers finding?  Do you see any patterns in  What type of bugs you find  What types of bugs you don’t find? 18
  • 19. If you find predictable bugs (based on your past experience and pattern recognition) can there be pattern recognition  for code?  Design?  Requirements? 19
  • 20. Are there testers who do good bug isolation?  Are there those who do not?  How do they fail? What things they do not do?  What patterns exist?  If I know those patterns can I improve their skills? 20
  • 21. Example  Project Failure pattern – Communication/delivery/no-interested-client- stakeholder  Automation Outsourcing Failure – Lack of ~effort appreciation/well-written tests/domain knowledge 21
  • 22. Date Action Issue 24-Jan-01Clear work division in overlapping areas Performance test cases being written by Joe and Jane. and ensuring communication between Test were duplicated. Some missing test cases the overlapping/concerned people. because every body was not aware hence did not review/contribute to the tests. 28-Jan-01Knowledge of the system (WES, WAS Some members of the team did not know what they performance, tuning, deployment) had to do, others did not have required technical should be available to the team. knowledge 14-Feb-01Communication of the documents, The release meeting with developers happened Agenda, Minutes to the testing team without a copy of test plan (esp. dates) being should be formal, via mail. available. 9-Mar-01User Guides esp. “how to get started” Swami sent a mail asking how to use the ABC app. We should always accompany a build had to write some steps and send him the document.  What pattern do you see here?  This pattern emerges from long term view - The four entries here are from a list of 133 entries between Jan and April 2001.  How is pattern recognition different from Root cause analysis? 22
  • 23. Example – Patterns while Interviewing  assessing people, forming impressions, validating, creating and refining patterns  Remember - you have not discovered the last pattern hence you may be wrong  Keep updating your impression of patterns and be ready for the worst 23
  • 24. Example – “Only a Guest” pattern  when people (are about to) leave the organization without information to the management there are some behavioral patterns that manifest themselves.  Indifference, extra-hard work, sudden forgiveness and not picking up of battles, unplanned absenteeism, putting all paper-work in place etc. 24
  • 25. Patterns for  Predicting  Inventing  Improving  Preventing  … 25
  • 26. Unified Modeling Language – Unified Testing Language  No guarantee of success and no predictions of failure 26
  • 27. Applying patterns requires  Ignoring the small and looking at the large  Large amount of data (usually)  Reduction in the number of variables  Elimination of outliers  Pattern of outliers  Variations and taking cognizance of those  Variations and eliminating them 27
  • 30. “Homo sapiens is about pattern recognition, he says. Both a gift and a trap.” - William Gibson – Pattern Recognition 30
  • 31. http://www.exampler.com/testing-com/test-patterns/  http://c2.com/cgi-bin/wiki?TestingPatterns  http://www.testingreflections.com/node/view/9 31
  • 32. Thank you everybody <<meta-pattern – help>> for images, text and ideas 32

Editor's Notes

  1. Root-cause analysis is one step in pattern recognition but not the only one RC – Communication/Training whereas pattern is things not getting done properly