SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
Approaches to Software Testing:
                                An Introduction

                                           Customized and presented to:



            Time Warner, New York, NY, 6/2006

                                                Scott Barber
                                             Chief Technologist
                                             PerfTestPlus, Inc.

    www.PerfTestPlus.com
                                             Approaches to Software Testing:   Page 1
© 2006 PerfTestPlus All rights reserved.
                                                  An I ntroduction
Who am I?
- Chief Technologist of PerfTestPlus
- Executive Director of the Association of Software Testing
- Co-Founder of the Workshop on Performance and Reliability
- An international speaker and contributer to various publications
- My specialties include
      - Testing and analyzing performance for complex systems
      - Developing customized testing methodologies
      - Embedded systems testing
      - Testing biometric identification and security systems
- I am a member of
      - IEEE
      - American MENSA
      - the Context-Driven School of Software Testing
      -and a signatory to the Manifesto for Agile Software Development

    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 2
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Who am I?
                                             My name is Scott and I'm a...



                                           Test-o-holic.



    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 3
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Welcome & Overview
Logistics/Facilities?
Who are each of you?
      -    Name
      -    Business Card Title
      -    What you actually do
      -    What you hope to take away from this seminar
      -    What is distracting you




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 4
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Welcome & Overview
What are we going to be talking about?
      - How and where testing fits in
      - The purpose of testing
      - The value of testing
How will this help me do my job better?
      - Who is responsible for what & when
      - How to work together to improve the quality of the
        product
      - Avoiding “turf-wars”
      - Improving the fit between process and purpose


    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 5
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Seminar Objectives

At the conclusion of this seminar, attendees will be
familiar with and have a basic understanding of
the following items, the contexts where they are
generally practiced, their strengths and weaknesses
in context and where to go for more information:
     - Popular system test life-cycles and their relationship
       to popular software development life-cycles
     - Industry common system testing approaches
     - Industry common system testing practices

    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 6
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Agenda
  Self-Categorization
              - Testing “School”
              - Testing Life Cycle
              - Testing Techniques/Practices
  Break
  Approaches/Schools
  Life Cycles
  Break
  Techniques/Practices
  Putting it all Together
  Wrap-up
    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 7
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Self-Categorization
On the walls of the room are several flip-chart sheets with
descriptions of certain common classifications related to
software testing.
I have provided each of you with “voting stickers” that you
will use to indicate how well your project fits into the
described category.
On each chart is a horizontal scale. You can place one sticker
per sheet anywhere along the scale indicating if your project
fits each description:
    - Extremely well
    - Somewhat well
    - Not at all well
If you are completely uncertain where your project fits, place
your sticker in the box labeled

    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 8
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Ready... Set...
.




                                                Go!
    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 9
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Descriptions Revealed
The Four “Schools” of Software Testing
      ●
           Analytical/Mathematical
      ●
           Factory/Process
      ●
           Quality Control
      ●
           Context-Driven


    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 10
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Descriptions Revealed
Software Testing Life Cycles
      ●
           Waterfall/Big Bang
      ●
           Iterative/Spiral
      ●
           Test First/TDD
      ●
           Agile


    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 11
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Descriptions Revealed
Software Testing Techniques/Practices
      ●
           Scripted Manual/Automated
      ●
           Black Box/UAT
      ●
           Exploratory
      ●
           Unit/Developer/White Box



    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 12
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Questions




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 13
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
10 Min Break




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 14
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Testing “Schools”

What are they?

Why make the distinction?

How do they relate to your project?

*Note* The slides in this segment heavily reference the
    original Four Schools of Software Testing as coined and
    presented by Brett Pettichord which can be found at
    www.pettichord.com.

    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 15
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Four Views of Software Testing
Analytic School - sees testing as rigorous and technical
 with many proponents in academia

Factory School - sees testing as a way to measure
  progress with emphasis on cost and repeatable
  standards

Quality School - emphasizes process, policing developers
 and acting as the gatekeeper

Context-Driven School - emphasizes people, setting out
 to find the bugs that will be most important to
 stakeholders

    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 16
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Why Classify Testing into Schools?
Understand why testing experts disagree
- Not simply a matter of personality or experience
- There are often underlying reasons for disagreement

Improve the basis for debate
- Differences in values may explain why we favor different
   policies
- Explain how my school differs from the others

But it can lead to oversimplification


    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 17
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
What is a School?
A school is not a technique.

A school is defined by:
- Standards of criticism
- Exemplar techniques
- Hierarchies of values




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 18
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Analytic School: Core Beliefs
Software is a logical artifact
Testing is a branch of CS/Mathematics (i.e. Objective,
    rigorous and comprehensive)
Testing techniques must have a logico-mathematical
 form (i.e. “one right answer”)
Testing is technical

Key Question:
Which techniques should we use?

    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 19
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Analytic School Exemplar
Code Coverage

- aka“Structural” testing
- Dozens of code-coverage metrics have been
   designed and compared
- Provides an objective measure of testing




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 20
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Analytic School
Implications
- Require precise and detailed specifications
- Testers verify whether the software conforms to its
   specification
- Anything else isn’t testing

Most prevalent
- Academia
- Telecom
- Safety-Critical


    www.PerfTestPlus.com                    Approaches to Software Testing:   Page 21
© 2006 PerfTestPlus All rights reserved.         An I ntroduction
Factory School: Core Beliefs
Testing must be managed (i.e. Predictable, repeatable,
    planned)
Testing must be cost-effective (i.e. Low-skilled workers
    require direction)
Testing validates the product
Testing measures development progress

Key Questions:
- How can we measure whether we’re making
progress?
- When will we be done?
    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 22
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Factory School Exemplar
Traceability Matrix

- Make sure that every requirement has been tested




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 23
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Factory School
Implications
- Require clear boundaries between testing and other
   activities (start/stop criteria)
- Resist changing plans (complicates progress tracking)
- Software testing assembly line (V-model)
- Accept management assumptions about testing
- Encourage standards, “best practices,” and certification

Most prevalent
- Enterprise IT
- Government

    www.PerfTestPlus.com                    Approaches to Software Testing:   Page 24
© 2006 PerfTestPlus All rights reserved.         An I ntroduction
Quality School: Core Beliefs
Software quality requires discipline
Testing determines whether development processes
  are being followed.
Testers may need to police developers to follow the
  rules.
Testers have to protect users from bad software.

Key Question:
Are we following a good process?


    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 25
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Quality School Exemplar
The Gatekeeper

- The software isn’t ready until QA says it’s ready




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 26
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Quality School
Implications
- Prefer “Quality Assurance” over “Testing”
- Testing is a stepping stone to “process improvement”
- May alienate developers

Most prevalent
- Large bureaucracies
- Organizations under stress




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 27
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Context-Driven School: Core Beliefs
Software is created by people. People set the
  context.
Testing finds bugs. A bug is anything that could bug
  a stakeholder.
Testing provides information to the project
Testing is a skilled, mental activity
Testing is multidisciplinary

Key Question:
What testing would be most valuable right now?

    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 28
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Context-Driven School Exemplar
Exploratory Testing

- Concurrent test design and test execution
- Rapid learning




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 29
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Context-Driven School
Implications
- Expect changes. Adapt testing plans based on test results.
- Effectiveness of test strategies can only be determined with
   field research
- Testing research requires empirical and psychological
   study
- Focus on skill over practice

Most prevalent
- Commercial, Market-driven Software



    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 30
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
What is Testing?

Analytic School says
  - A branch of computer science and mathematics
Factory School says
  - A managed process
Quality School says
  - A branch of software quality assurance
Context-Driven School says
  - A branch of development

    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 31
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
What school is right for you?

Analytic?
Factory?
Quality?
Context-Driven?




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 32
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Questions




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 33
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Software Life Cycles

Waterfall – Sequential, minimal feedback loops
V-Model – Parallel, decoupled, minimal feedback loops
Iterative – Similar to lots of little waterfalls
Spiral – Like iterative, but presumes iterations get smaller
TDD/TFD – Test first, developers do much testing
Agile/XP – Adaptive, incremental, just-in-time, just
    enough

    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 34
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Waterfall




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 35
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
V-model




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 36
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Iterative




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 37
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Spiral




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 38
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Test Driven/Test First Development




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 39
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Agile / XP




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 40
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Life Cycle Summary

Which Life Cycle does your project use?
What are the pros/cons of that Life Cycle Model?
Which Testing Schools seem to fit with which Life
 Cycles?
How about Hybrids?
Are there others?



    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 41
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Questions




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 42
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
10 Min Break




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 43
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Testing Techniques/Practices
Scripted – Follow the well-defined predetermined steps
Regression – Find changes from previous release
Ad Hoc – One time test to answer a specific question
Automated – Computer conducts tests and reports results
Exploratory – Simultaneous learning, test design & test
    execution to detect defects of interest to a stakeholder
Unit/Developer/White Box – Tests not using the UI
Black Box/UAT – Expected usage and error modes
Shotgun – “If you use a shotgun, you don't have to aim
    that carefully”
    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 44
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Testing Techniques/Practices
What testing techniques have you seen work...
- Particularly well
- Particularly poorly
- Well in specific circumstances

What other techniques/practices...
- Do you know of
- Would you recommend
- Would you like to know more about or try


    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 45
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Questions




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 46
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Examples of what works well together

Waterfall + Unit Tests + Scripted + UAT = Factory

V-Model + Unit Tests + Scripted = Analytical

Iterative + Regression + Scripted + UAT = Quality

TDD/TFP + Unit Tests + Exploratory = Context-Driven




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 47
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Examples of what doesn't work together


                                           Waterfall + Regression

                                              Agile + Scripted

                                     Analytical + Exploratory

 Context-Driven + Anything done without adding value



    www.PerfTestPlus.com                    Approaches to Software Testing:   Page 48
© 2006 PerfTestPlus All rights reserved.         An I ntroduction
Moving Forward

Compared to where you placed your stickers earlier,
 where would you like those stickers to be in the
 future and why?




    www.PerfTestPlus.com                    Approaches to Software Testing:   Page 49
© 2006 PerfTestPlus All rights reserved.         An I ntroduction
Questions




    www.PerfTestPlus.com                   Approaches to Software Testing:   Page 50
© 2006 PerfTestPlus All rights reserved.        An I ntroduction
Contact Info

                                           Scott Barber
                                   Chief Technologist
                                           PerfTestPlus, Inc

E-mail:                                                              Web Site:
sbarber@perftestplus.com                                             www.PerfTestPlus.com




    www.PerfTestPlus.com                    Approaches to Software Testing:      Page 51
© 2006 PerfTestPlus All rights reserved.         An I ntroduction

Mais conteúdo relacionado

Mais procurados

ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
Yogindernath Gupta
 
powerpoint template for testing training
powerpoint template for testing trainingpowerpoint template for testing training
powerpoint template for testing training
John Roddy
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introduction
Oana Feidi
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
software testing for beginners
software testing for beginnerssoftware testing for beginners
software testing for beginners
Bharathi Ashok
 

Mais procurados (20)

Software test management overview for managers
Software test management overview for managersSoftware test management overview for managers
Software test management overview for managers
 
Testing Framework
Testing FrameworkTesting Framework
Testing Framework
 
11 software testing_strategy
11 software testing_strategy11 software testing_strategy
11 software testing_strategy
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
Why testing is important ?
Why testing is important ?Why testing is important ?
Why testing is important ?
 
11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot
 
powerpoint template for testing training
powerpoint template for testing trainingpowerpoint template for testing training
powerpoint template for testing training
 
Importance of a Test Management Tool for Your Project
Importance of a Test Management Tool for Your ProjectImportance of a Test Management Tool for Your Project
Importance of a Test Management Tool for Your Project
 
Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB Certifications
 
Testing for business benefits
Testing for business benefitsTesting for business benefits
Testing for business benefits
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and process
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
 
Software Testing Principles
Software Testing PrinciplesSoftware Testing Principles
Software Testing Principles
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
IT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTINGIT8076 - SOFTWARE TESTING
IT8076 - SOFTWARE TESTING
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introduction
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
software testing for beginners
software testing for beginnerssoftware testing for beginners
software testing for beginners
 
St
StSt
St
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 

Destaque

Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
suhasreddy1
 

Destaque (19)

Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Flexibility in Software Development Methodologies: Needs and Benefits
Flexibility in Software Development Methodologies: Needs and BenefitsFlexibility in Software Development Methodologies: Needs and Benefits
Flexibility in Software Development Methodologies: Needs and Benefits
 
Telecom Convergent Billing and Support Functions -A whitepaper by Biju M R
Telecom Convergent Billing and Support Functions -A whitepaper by Biju M RTelecom Convergent Billing and Support Functions -A whitepaper by Biju M R
Telecom Convergent Billing and Support Functions -A whitepaper by Biju M R
 
Performance Testing for Managers
Performance Testing for ManagersPerformance Testing for Managers
Performance Testing for Managers
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
HTTP Application Performance Analysis
HTTP Application Performance AnalysisHTTP Application Performance Analysis
HTTP Application Performance Analysis
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Model-based Testing Principles
Model-based Testing PrinciplesModel-based Testing Principles
Model-based Testing Principles
 
Test strategies ppt
Test strategies pptTest strategies ppt
Test strategies ppt
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Web performance optimization (WPO)
Web performance optimization (WPO)Web performance optimization (WPO)
Web performance optimization (WPO)
 
Industrialization of testing
Industrialization of testing Industrialization of testing
Industrialization of testing
 
Performance Analysis: new tools and concepts from the cloud
Performance Analysis: new tools and concepts from the cloudPerformance Analysis: new tools and concepts from the cloud
Performance Analysis: new tools and concepts from the cloud
 
Measuring the Performance of Single Page Applications
Measuring the Performance of Single Page ApplicationsMeasuring the Performance of Single Page Applications
Measuring the Performance of Single Page Applications
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
 
Application Performance Management - Solving the Performance Puzzle
Application Performance Management - Solving the Performance PuzzleApplication Performance Management - Solving the Performance Puzzle
Application Performance Management - Solving the Performance Puzzle
 
An Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance Engineering
 
Software testing
Software testing   Software testing
Software testing
 

Semelhante a Approaches to Software Testing

Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott Barber
Archana Survase
 
Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility Testing
Perfecto by Perforce
 

Semelhante a Approaches to Software Testing (20)

Perf Intro Ppt
Perf Intro PptPerf Intro Ppt
Perf Intro Ppt
 
perf_intro_ppt.pdf
perf_intro_ppt.pdfperf_intro_ppt.pdf
perf_intro_ppt.pdf
 
Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance Bottlenecks
 
Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott Barber
 
Testing and Tester Evolution
Testing and Tester EvolutionTesting and Tester Evolution
Testing and Tester Evolution
 
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
 
Iqnite keynote
Iqnite keynoteIqnite keynote
Iqnite keynote
 
Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility Testing
 
Helpful Practices in Agile Testing
Helpful Practices in Agile TestingHelpful Practices in Agile Testing
Helpful Practices in Agile Testing
 
Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
Testing Enterprise Software Rewrites
Testing Enterprise Software RewritesTesting Enterprise Software Rewrites
Testing Enterprise Software Rewrites
 
Test Automation for Embedded Devices
Test Automation for Embedded DevicesTest Automation for Embedded Devices
Test Automation for Embedded Devices
 
Chapter 08wht
Chapter 08whtChapter 08wht
Chapter 08wht
 
I ntroduction to software testing part1
I ntroduction to software testing part1I ntroduction to software testing part1
I ntroduction to software testing part1
 
AiTi Education Software Testing Session 01 a
AiTi Education Software Testing Session 01 aAiTi Education Software Testing Session 01 a
AiTi Education Software Testing Session 01 a
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
Spira Test Overview Presentation
Spira Test Overview PresentationSpira Test Overview Presentation
Spira Test Overview Presentation
 
So You Think You Can Write a Test Case - XBOSoft Webinar
So You Think You Can Write a Test Case - XBOSoft WebinarSo You Think You Can Write a Test Case - XBOSoft Webinar
So You Think You Can Write a Test Case - XBOSoft Webinar
 
Software Testing Online Course
Software Testing Online CourseSoftware Testing Online Course
Software Testing Online Course
 

Mais de Scott Barber

Performance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket SciencePerformance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket Science
Scott Barber
 
Control model testing
Control model testingControl model testing
Control model testing
Scott Barber
 

Mais de Scott Barber (7)

Testing Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to AssessmentTesting Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to Assessment
 
Performance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket SciencePerformance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket Science
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing Challenges
 
Testing Tasks and Blooms Taxonomy
Testing Tasks and Blooms TaxonomyTesting Tasks and Blooms Taxonomy
Testing Tasks and Blooms Taxonomy
 
Introducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test LeadIntroducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test Lead
 
Control model testing
Control model testingControl model testing
Control model testing
 
Performance Testing on Agile Development Teams
Performance Testing on Agile Development TeamsPerformance Testing on Agile Development Teams
Performance Testing on Agile Development Teams
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 

Approaches to Software Testing

  • 1. Approaches to Software Testing: An Introduction Customized and presented to: Time Warner, New York, NY, 6/2006 Scott Barber Chief Technologist PerfTestPlus, Inc. www.PerfTestPlus.com Approaches to Software Testing: Page 1 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 2. Who am I? - Chief Technologist of PerfTestPlus - Executive Director of the Association of Software Testing - Co-Founder of the Workshop on Performance and Reliability - An international speaker and contributer to various publications - My specialties include - Testing and analyzing performance for complex systems - Developing customized testing methodologies - Embedded systems testing - Testing biometric identification and security systems - I am a member of - IEEE - American MENSA - the Context-Driven School of Software Testing -and a signatory to the Manifesto for Agile Software Development www.PerfTestPlus.com Approaches to Software Testing: Page 2 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 3. Who am I? My name is Scott and I'm a... Test-o-holic. www.PerfTestPlus.com Approaches to Software Testing: Page 3 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 4. Welcome & Overview Logistics/Facilities? Who are each of you? - Name - Business Card Title - What you actually do - What you hope to take away from this seminar - What is distracting you www.PerfTestPlus.com Approaches to Software Testing: Page 4 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 5. Welcome & Overview What are we going to be talking about? - How and where testing fits in - The purpose of testing - The value of testing How will this help me do my job better? - Who is responsible for what & when - How to work together to improve the quality of the product - Avoiding “turf-wars” - Improving the fit between process and purpose www.PerfTestPlus.com Approaches to Software Testing: Page 5 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 6. Seminar Objectives At the conclusion of this seminar, attendees will be familiar with and have a basic understanding of the following items, the contexts where they are generally practiced, their strengths and weaknesses in context and where to go for more information: - Popular system test life-cycles and their relationship to popular software development life-cycles - Industry common system testing approaches - Industry common system testing practices www.PerfTestPlus.com Approaches to Software Testing: Page 6 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 7. Agenda Self-Categorization - Testing “School” - Testing Life Cycle - Testing Techniques/Practices Break Approaches/Schools Life Cycles Break Techniques/Practices Putting it all Together Wrap-up www.PerfTestPlus.com Approaches to Software Testing: Page 7 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 8. Self-Categorization On the walls of the room are several flip-chart sheets with descriptions of certain common classifications related to software testing. I have provided each of you with “voting stickers” that you will use to indicate how well your project fits into the described category. On each chart is a horizontal scale. You can place one sticker per sheet anywhere along the scale indicating if your project fits each description: - Extremely well - Somewhat well - Not at all well If you are completely uncertain where your project fits, place your sticker in the box labeled www.PerfTestPlus.com Approaches to Software Testing: Page 8 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 9. Ready... Set... . Go! www.PerfTestPlus.com Approaches to Software Testing: Page 9 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 10. Descriptions Revealed The Four “Schools” of Software Testing ● Analytical/Mathematical ● Factory/Process ● Quality Control ● Context-Driven www.PerfTestPlus.com Approaches to Software Testing: Page 10 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 11. Descriptions Revealed Software Testing Life Cycles ● Waterfall/Big Bang ● Iterative/Spiral ● Test First/TDD ● Agile www.PerfTestPlus.com Approaches to Software Testing: Page 11 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 12. Descriptions Revealed Software Testing Techniques/Practices ● Scripted Manual/Automated ● Black Box/UAT ● Exploratory ● Unit/Developer/White Box www.PerfTestPlus.com Approaches to Software Testing: Page 12 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 13. Questions www.PerfTestPlus.com Approaches to Software Testing: Page 13 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 14. 10 Min Break www.PerfTestPlus.com Approaches to Software Testing: Page 14 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 15. Testing “Schools” What are they? Why make the distinction? How do they relate to your project? *Note* The slides in this segment heavily reference the original Four Schools of Software Testing as coined and presented by Brett Pettichord which can be found at www.pettichord.com. www.PerfTestPlus.com Approaches to Software Testing: Page 15 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 16. Four Views of Software Testing Analytic School - sees testing as rigorous and technical with many proponents in academia Factory School - sees testing as a way to measure progress with emphasis on cost and repeatable standards Quality School - emphasizes process, policing developers and acting as the gatekeeper Context-Driven School - emphasizes people, setting out to find the bugs that will be most important to stakeholders www.PerfTestPlus.com Approaches to Software Testing: Page 16 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 17. Why Classify Testing into Schools? Understand why testing experts disagree - Not simply a matter of personality or experience - There are often underlying reasons for disagreement Improve the basis for debate - Differences in values may explain why we favor different policies - Explain how my school differs from the others But it can lead to oversimplification www.PerfTestPlus.com Approaches to Software Testing: Page 17 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 18. What is a School? A school is not a technique. A school is defined by: - Standards of criticism - Exemplar techniques - Hierarchies of values www.PerfTestPlus.com Approaches to Software Testing: Page 18 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 19. Analytic School: Core Beliefs Software is a logical artifact Testing is a branch of CS/Mathematics (i.e. Objective, rigorous and comprehensive) Testing techniques must have a logico-mathematical form (i.e. “one right answer”) Testing is technical Key Question: Which techniques should we use? www.PerfTestPlus.com Approaches to Software Testing: Page 19 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 20. Analytic School Exemplar Code Coverage - aka“Structural” testing - Dozens of code-coverage metrics have been designed and compared - Provides an objective measure of testing www.PerfTestPlus.com Approaches to Software Testing: Page 20 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 21. Analytic School Implications - Require precise and detailed specifications - Testers verify whether the software conforms to its specification - Anything else isn’t testing Most prevalent - Academia - Telecom - Safety-Critical www.PerfTestPlus.com Approaches to Software Testing: Page 21 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 22. Factory School: Core Beliefs Testing must be managed (i.e. Predictable, repeatable, planned) Testing must be cost-effective (i.e. Low-skilled workers require direction) Testing validates the product Testing measures development progress Key Questions: - How can we measure whether we’re making progress? - When will we be done? www.PerfTestPlus.com Approaches to Software Testing: Page 22 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 23. Factory School Exemplar Traceability Matrix - Make sure that every requirement has been tested www.PerfTestPlus.com Approaches to Software Testing: Page 23 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 24. Factory School Implications - Require clear boundaries between testing and other activities (start/stop criteria) - Resist changing plans (complicates progress tracking) - Software testing assembly line (V-model) - Accept management assumptions about testing - Encourage standards, “best practices,” and certification Most prevalent - Enterprise IT - Government www.PerfTestPlus.com Approaches to Software Testing: Page 24 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 25. Quality School: Core Beliefs Software quality requires discipline Testing determines whether development processes are being followed. Testers may need to police developers to follow the rules. Testers have to protect users from bad software. Key Question: Are we following a good process? www.PerfTestPlus.com Approaches to Software Testing: Page 25 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 26. Quality School Exemplar The Gatekeeper - The software isn’t ready until QA says it’s ready www.PerfTestPlus.com Approaches to Software Testing: Page 26 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 27. Quality School Implications - Prefer “Quality Assurance” over “Testing” - Testing is a stepping stone to “process improvement” - May alienate developers Most prevalent - Large bureaucracies - Organizations under stress www.PerfTestPlus.com Approaches to Software Testing: Page 27 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 28. Context-Driven School: Core Beliefs Software is created by people. People set the context. Testing finds bugs. A bug is anything that could bug a stakeholder. Testing provides information to the project Testing is a skilled, mental activity Testing is multidisciplinary Key Question: What testing would be most valuable right now? www.PerfTestPlus.com Approaches to Software Testing: Page 28 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 29. Context-Driven School Exemplar Exploratory Testing - Concurrent test design and test execution - Rapid learning www.PerfTestPlus.com Approaches to Software Testing: Page 29 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 30. Context-Driven School Implications - Expect changes. Adapt testing plans based on test results. - Effectiveness of test strategies can only be determined with field research - Testing research requires empirical and psychological study - Focus on skill over practice Most prevalent - Commercial, Market-driven Software www.PerfTestPlus.com Approaches to Software Testing: Page 30 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 31. What is Testing? Analytic School says - A branch of computer science and mathematics Factory School says - A managed process Quality School says - A branch of software quality assurance Context-Driven School says - A branch of development www.PerfTestPlus.com Approaches to Software Testing: Page 31 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 32. What school is right for you? Analytic? Factory? Quality? Context-Driven? www.PerfTestPlus.com Approaches to Software Testing: Page 32 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 33. Questions www.PerfTestPlus.com Approaches to Software Testing: Page 33 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 34. Software Life Cycles Waterfall – Sequential, minimal feedback loops V-Model – Parallel, decoupled, minimal feedback loops Iterative – Similar to lots of little waterfalls Spiral – Like iterative, but presumes iterations get smaller TDD/TFD – Test first, developers do much testing Agile/XP – Adaptive, incremental, just-in-time, just enough www.PerfTestPlus.com Approaches to Software Testing: Page 34 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 35. Waterfall www.PerfTestPlus.com Approaches to Software Testing: Page 35 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 36. V-model www.PerfTestPlus.com Approaches to Software Testing: Page 36 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 37. Iterative www.PerfTestPlus.com Approaches to Software Testing: Page 37 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 38. Spiral www.PerfTestPlus.com Approaches to Software Testing: Page 38 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 39. Test Driven/Test First Development www.PerfTestPlus.com Approaches to Software Testing: Page 39 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 40. Agile / XP www.PerfTestPlus.com Approaches to Software Testing: Page 40 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 41. Life Cycle Summary Which Life Cycle does your project use? What are the pros/cons of that Life Cycle Model? Which Testing Schools seem to fit with which Life Cycles? How about Hybrids? Are there others? www.PerfTestPlus.com Approaches to Software Testing: Page 41 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 42. Questions www.PerfTestPlus.com Approaches to Software Testing: Page 42 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 43. 10 Min Break www.PerfTestPlus.com Approaches to Software Testing: Page 43 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 44. Testing Techniques/Practices Scripted – Follow the well-defined predetermined steps Regression – Find changes from previous release Ad Hoc – One time test to answer a specific question Automated – Computer conducts tests and reports results Exploratory – Simultaneous learning, test design & test execution to detect defects of interest to a stakeholder Unit/Developer/White Box – Tests not using the UI Black Box/UAT – Expected usage and error modes Shotgun – “If you use a shotgun, you don't have to aim that carefully” www.PerfTestPlus.com Approaches to Software Testing: Page 44 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 45. Testing Techniques/Practices What testing techniques have you seen work... - Particularly well - Particularly poorly - Well in specific circumstances What other techniques/practices... - Do you know of - Would you recommend - Would you like to know more about or try www.PerfTestPlus.com Approaches to Software Testing: Page 45 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 46. Questions www.PerfTestPlus.com Approaches to Software Testing: Page 46 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 47. Examples of what works well together Waterfall + Unit Tests + Scripted + UAT = Factory V-Model + Unit Tests + Scripted = Analytical Iterative + Regression + Scripted + UAT = Quality TDD/TFP + Unit Tests + Exploratory = Context-Driven www.PerfTestPlus.com Approaches to Software Testing: Page 47 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 48. Examples of what doesn't work together Waterfall + Regression Agile + Scripted Analytical + Exploratory Context-Driven + Anything done without adding value www.PerfTestPlus.com Approaches to Software Testing: Page 48 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 49. Moving Forward Compared to where you placed your stickers earlier, where would you like those stickers to be in the future and why? www.PerfTestPlus.com Approaches to Software Testing: Page 49 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 50. Questions www.PerfTestPlus.com Approaches to Software Testing: Page 50 © 2006 PerfTestPlus All rights reserved. An I ntroduction
  • 51. Contact Info Scott Barber Chief Technologist PerfTestPlus, Inc E-mail: Web Site: sbarber@perftestplus.com www.PerfTestPlus.com www.PerfTestPlus.com Approaches to Software Testing: Page 51 © 2006 PerfTestPlus All rights reserved. An I ntroduction