Schools of Software Testing



Similar documents
Four Schools of Software Testing.

Agile Testing and Extreme Programming

Growing testing skills using the Agile Testing Ecosystem. Dr Lee Hawkins Principal Test Architect Dell Software, Melbourne

Black Box Software Testing Fall 2005 Overview for Students

Agile Testing Overview

Lee Copeland.

Exploratory Testing Dynamics

STRUCTURALISM: Wilhelm Wundt and Edward Titchener

Exploratory Testing Dynamics

Test Coverage and Risk

Workshop on Agile Test Strategies and Experiences. Fran O'Hara, Insight Test Services, Ireland

Adopting Agile Testing

Classifying Lesson 1 Triangles

Exercise: Analyzing the Triangle Problem

Anne-Marie Charrett. What I do Anne-Marie Charrett is a software test consultant offering the following services:

Software Testing Interview Questions

Thinking About Psychology: The Science of Mind and. Charles T. Blair-Broeker Randal M. Ernst

Basic Testing Concepts and Terminology

Fundamental Challenges in Software Testing

Comparing Agile Software Processes Based on the Software Development Project Requirements

Cem Kaner -- James Bach -- November, 1999

Agile Tester Foundation Course Outline

Testing in Agile methodologies easier or more difficult?

Five High Order Thinking Skills

Subject & Course: CS362 Software Engineering II. Credits: 4. Instructor s Name: Arpit Christi. Instructor s christia@onid.oregonstate.

Test Management and Techniques

Exploratory Testing An Agile Approach STC Aman Arora. Xebia IT Architects India Pvt. Ltd. Sec-30, Gurgaon , Haryana

Cem Kaner, J.D., Ph.D. Florida Institute of Technology STAR East May 2011

Chapter 13 online insight and behavior therapies pgs Name Period Date

Design Document Version 0.0

Agile Model-Based Systems Engineering (ambse)

Quality Meets the CEO

Publication I International Society of Agile Manufacturing (ISAM) Reprinted by permission of International Society of Agile Manufacturing.

D25-2. Agile and Scrum Introduction

Preparation Prepare a set of standard triangle shapes for each student. The shapes are found in the Guess My Rule Cards handout.

ABA. History of ABA. Interventions 8/24/2011. Late 1800 s and Early 1900 s. Mentalistic Approachs

What is Psychology? A set of questions about mental functioning trace back to philosophy Aristotle asked about memory, personality, emotions, etc.

Testing Introduction. IEEE Definitions

Advanced Test Manager E-learning Course Outline

The Basics of a Compensation Program

Preface Agile Testing Review

What is the Humanist Perspective? What are the key ideas in the Humanistic perspective of personality?

The ROI of Test Automation

Improved Software Testing Using McCabe IQ Coverage Analysis

Testing of safety-critical software some principles

THE THREE ASPECTS OF SOFTWARE QUALITY: FUNCTIONAL, STRUCTURAL, AND PROCESS

Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011

AP Psychology Academic Year

A Case Study in Test Management

Smarter Balanced Assessment Consortium. Recommendation

An Introduction to. Metrics. used during. Software Development

Test Driven Development Part III: Continuous Integration Venkat Subramaniam

Agile Scrum Workshop

Orthogonal Defect Classification in Agile Development

Advanced Software Test Design Techniques Use Cases

Software Engineering. How does software fail? Terminology CS / COE 1530

Maximizing the value of good testing practice in an Agile environment. Delivering on time, in scope, on budget and at the right level of quality

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

White paper: How to implement a Quality Management System

Metrics in Software Test Planning and Test Design Processes


Introduction to Software Engineering. 8. Software Quality

Business Analysis Essentials

THE DIFFERENCES BETWEEN COACHING AND ITS RELATED FIELDS

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

ISO/IEC/IEEE The New International Software Testing Standards

The REAL Agile Testing Quadrants (as we believe they should always have been)

Certified Tester. Advanced Level Overview

Socratic Questioning

the HISTORY PARENTING PRACTICES Worksheets Learning ZoneXpress P.O. Box 1022, Owatonna, MN

TESTING: FIRST STEP TOWARDS SOFTWARE QUALITY

Managing Agile Projects in TestTrack GUIDE

Course Correlation to Virginia Standards of Learning

Business Process Management The Must Have Enterprise Solution for the New Century

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Systems Engineering Beyond Aerospace and Defense

Transcription:

Schools of Software Testing bret@pettichord.com www.pettichord.com March 2007 Copyright 2003-2007 Bret Pettichord. Permission to reproduce granted with attribution.

2 What is a School? Defined by Intellectual affinity Social interaction Common goals Made up of Hierarchies of values Exemplar techniques Standards of criticism Organizing institutions Common vocabulary Schools are not defined by! Common doctrine! Specific techniques

3 5 Views of Testing Analytic School sees testing as rigorous and technical with many proponents in academia Standard 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, seeking bugs that stakeholders care about Agile School uses testing to prove that development is complete; emphasizes automated testing

4 Development of the Schools Analytic

5 Development of the Schools Analytic Standard

6 Development of the Schools Analytic Quality Standard

7 Development of the Schools Analytic Quality Standard Context Driven

8 Development of the Schools Analytic Quality Standard Context Driven Agile

Why Classify Testing Ideas into Schools? 9 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 But it can also be used to dismiss ideas you don t agree with.

10 Schools of Psychology Structural " James Behavioral " Watson, Skinner, Pavlov Gestalt " Wertheimer Psychoanalytic " Freud, Jung Cognitive " Piaget Humanistic " Rogers, Maslow

11 Analytic School Core Beliefs Software is a logical artifact Testing is a branch of CS/Mathematics " Objective, rigorous, comprehensive Testing techniques must have a logicomathematical form " one right answer Testing is technical Key Question: Which techniques should we use?

12 Analytic School Exemplar Code Coverage " aka Structural testing " Dozens of code-coverage metrics have been designed and compared " Provides an objective measure of testing

13 Analytic School Implications " Require precise and detailed specifications " Testers verify whether the software conforms to its specification " Anything else isn t testing Most prevalent " Telecom " Safety-Critical Institutions " Academia

14 Standard School Core Beliefs Testing must be managed " Predictable, repeatable, planned Testing must be cost-effective " 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?

15 Standard School Exemplar Traceability Matrix " Make sure that every requirement has been tested

16 Standard 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 Institutions " IEEE Standards Boards " Tester Certifications

Quality School Core Beliefs 17 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?

18 Quality School Exemplar The Gatekeeper " The software isn t ready until QA says it s ready

19 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 Institutions " American Society for Quality " Software Engineering Institute (CMM) " ISO

Context-Driven School Core Beliefs 20 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?

21 Context-Driven School Exemplar Exploratory Testing " Concurrent test design and test execution " Rapid learning

22 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 Prominent " Commercial, Market-driven Software Institutions " LAWST Workshops & Spin-offs

23 Agile School Core Beliefs Software is an ongoing conversation Testing tells us that a development story is complete Tests must be automated Key Question: Is the story done?

24 Agile School Exemplar Unit Tests " Used for test-driven development

25 Agile School Implications " Developers must provide automation frameworks " Slow to appreciate value of exploratory testing Most Prevalent " IT Consulting " ASP Development Institutions " Pattern Workshops

26 What is Testing? Analytic School says " A branch of computer science and mathematics Standard School says " A managed process Quality School says " A branch of software quality assurance Context-Driven School says " A branch of development Agile Schools says " Part of the customer role

27 Testing the Triangle Program The Triangle Program Takes three inputs: " the sides of a triangle Determines the type of triangle: " isosceles, Author " scalene, or Hetzel " equilateral Jorgenson How many tests should you run? Binder Beck School Standard Analytic Analytic Agile Tests 28 35 65 6

Four Views of Risk-Based Testing 28 Analytic " Use operational profiles " Calculate reliability Standard " Key risk: failure to meet schedules (project risk) " Top down assessment of feature risks Quality " Uncover project risks " Prove that project is out of control Context-Driven " Testing develops team understanding of risks " Develop testers ability to design tests for identified risks

Controversy: 29 Testing Without Specs FOR Context-Driven School " Do what you can to be useful " Ask questions if necessary " Dig up hidden specs Agile " Conversation is more important than documentation AGAINST Analytical School " Impossible Standard School " Some kind of spec is necessary Quality School " Force developers to follow the process

Controversy: Tester Certification 30 FOR Standard School " Make testers easier to hire, train and manage Quality School " Increase status AGAINST Context-Driven School " Existing certifications are based on doctrine, not skill Analytic School " Prefer university degrees over certification

31 Open Questions What happens when people of different schools work together? Can we cross-fertilize between schools? Do I have to pick a school?

32 Origin of this Analysis This is not my idea I learned it from Kaner, Bach and Marick It was a working concept behind Lessons Learned in Software Testing But each of us prefers different labels and characterizations for the different schools. Thanks for reviews and discussions: James Bach, Rex Black, Michael Bolton, Ross Collard, Kathy Iberle, Cem Kaner, Brian Marick, Wayne Middleton, Tim Van Tongeren, and the participants of the 2003 Workshop on Teaching Software Testing at Florida Tech, the 2003 Pacific Northwest Software Quality Conference, the 2003 Software Testing Australia New Zealand conferences, and the Austin SPIN.

Learn more about Context-Driven Testing 33 Lessons Learned in Software Testing: A Context-Driven Approach " Cem Kaner, James Bach & Bret Pettichord Mailing List " http://groups.yahoo.com/group/software-testing/