Four Schools of Software Testing. bret@pettichord.com www.pettichord.com



Similar documents
Schools of Software Testing

Agile Testing and Extreme Programming

Agile Testing Overview

Exploratory Testing Dynamics

Exploratory Testing Dynamics

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

Test Management and Techniques

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

Basic Testing Concepts and Terminology

Lee Copeland.

Cem Kaner -- James Bach -- November, 1999

Test Coverage and Risk

3 rd GENERATION KNOWLEDGE MANAGEMENT and Beyond!

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

Software Testing Interview Questions

Different Approaches to White Box Testing Technique for Finding Errors

Black Box Software Testing Fall 2005 Overview for Students

Advanced Software Test Design Techniques Use Cases

Teaching Software Testing from two Viewpoints

Adopting Agile Testing

Testing Introduction. IEEE Definitions

Certified Tester. Advanced Level Overview

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

Introduction to Software Engineering. 8. Software Quality

Software Testing, Mythology & Methodologies

Keywords: SQA,Black Box Testing( BBT), White Box testing(wbt).

Testing of safety-critical software some principles

Business Analysis Essentials

Module 3: Functional Requirements

Improved Software Testing Using McCabe IQ Coverage Analysis

TESTING: FIRST STEP TOWARDS SOFTWARE QUALITY

Testing in Agile methodologies easier or more difficult?

ISTQB - Certified Tester Advanced Level - Test Manager

The power of beliefs and assumptions

Fundamental Challenges in Software Testing

Preface Agile Testing Review

Softw are Testing as a Social Science

How To Improve Software Quality

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

Bringing agility to Business Intelligence Metadata as key to Agile Data Warehousing. 1 P a g e.

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

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

8. Master Test Plan (MTP)

Software Engineering Compiled By: Roshani Ghimire Page 1

International Software Test Institute

An Introduction to. Metrics. used during. Software Development


Strategies for a Successful E2E Systems Integration Test. Fiona Charles Let s Test May 9, 2012

You Can Create Measurable Training Programs A White Paper For Training Professionals

Software Testing Certifications

Applied Software Project Management

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Agile Test Automation. James Bach, Satisfice, Inc.

Automation can dramatically increase product quality, leading to lower field service, product support and

Why do Identity and Access Management Projects Fail? With FishNet Security IAM Services Group January 26, 2012

Software Testing Tutorial

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Smarter Balanced Assessment Consortium. Recommendation

A comparison of supply chain risk perceptions in Original Equipment Manufacturers and Tier One suppliers: A case-study in the aerospace industry.

Importance of Testing in Software Development Life Cycle

Socratic Questioning

IMPORTANCE OF SOFTWARE TESTING IN SOFTWARE DEVELOPMENT LIFE CYCLE

Tonight s Speaker. Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft

Test Plan Evaluation Model

State of Medical Device Development State of Medical Device Development seapine.com 1

Business white paper. Best practices for implementing automated functional testing solutions

Better Asset Tracking in Discoms through Innovative Process & IT Solutions. September 2013

Engineering a EIA - 632

QUANTITATIVE QUESTION GUIDE

INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE

Metrics in Software Test Planning and Test Design Processes

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

"Practical Security Testing for Web Applications"

Design Document Version 0.0

June Master of Public Administration at Upper Iowa University

The Basics of a Compensation Program

Transcription:

Four Schools of Software Testing bret@pettichord.com www.pettichord.com Workshop on Teaching Software Testing, Florida Tech, February 2003

Why Classify Testing Doctrines into Schools? Clarify why testing experts disagree Not simply a matter of personality or experience Many testers are unaware of the underlying reasons for disagreement Improve the basis for debate Explain how my school (context-driven testing) differs from the others 2

What is a School? A school is not a technique A school is not a paradigm A school is defined by Standards of criticism Exemplar techniques Hierarchies of values Example: each school defines risk-based testing differently, based on its own values. Most teaching belongs to one of four schools 3

Analytical 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? 4

Analytical School: Exemplar Code Coverage aka Structural testing Dozens of code-coverage metrics have been designed and compared Provides an objective measure of testing 5

Analytical School Implications Precise and detailed specifications are a prerequisite for testing Testers verify that the software behavior conforms to its specification Most prevalent Academia High-reliability industry (e.g. Telecom) Authors Boris Beizer, Paul Jorgensen, Robert V. Binder, John Musa 6

Factory School: Core Beliefs Software development is a project Testing is a measure of progress Testing must be managed Predictable, repeatable, planned Testing must be cost-effective Low-skilled workers require direction Testing is following rules Key Question: What metrics should we use? 7

Factory School: Exemplar Requirements Traceability Make sure that every requirement has been tested 8

Factory School Implications Requires clear boundaries between testing and other activities (start/stop criteria) Resists changing plans (complicates progress tracking) Taylorism Accept management assumptions about testing Encourages industry testing standards, best practices, and certification Most Prevalent IT projects Government projects Authors Rex Black, Dorothy Graham 9

Quality Assurance 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? 10

Quality Assurance Exemplar The Gatekeeper The software isn t ready until QA says it s ready 11

Quality Assurance Implications Prefer Quality Assurance over Testing Testing is a stepping stone to process improvement May alienate developers Most Prevalent Large bureaucracies Organizations under stress Authors Alka Jarvis 12

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 tests would be most valuable right now? 13

Context-Driven School: Exemplar Exploratory Testing Concurrent test design and test execution Rapid learning 14

Context-Driven School Implications Expect changes. Adapt testing plans based on test results Unchallenged assumptions are dangerous. Pragmatism Effectiveness of test strategies can only be determined with field research Focus on skill over practice Most Prominent Commercial, Market-driven Software Authors Cem Kaner, Brian Marick, James Bach 15

Four Views of Risk-Based Testing Analytical Use operational profiles Calculate reliability Factory Focus on management perception of risk Pseudo-math often used Quality Assurance 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 16

Why I Like My School Consider the triangle problem. There is no correct answer! You can choose an approach based on personal values Intellectual propriety Industry standards Placating management Or you can try something and then see how well it worked Context-driven has testers learning as they test 17

Controversy #1 Usability Testing FOR Context-Driven School Definitely do it. Usability bugs are bugs. Factory School Do it if requested by management. Quality Assurance Reluctant. Hard to prove noncompliance. AGAINST Analytical School Not a form of testing. Outside the testing skill set. Let someone else do it. 18

Controversy #2 Testing Without Specs FOR Context-Driven School Do what you can to be useful Ask questions if necessary Dig up hidden specs AGAINST Analytical School Impossible Factory School Some kind of spec is necessary Quality Assurance Force developers to follow the process 19

Controversy #3 Tester Certification FOR Factory School Make testers easier to hire, train and manage Quality Assurance Increase status AGAINST Context-Driven School Existing certifications are based on practice, not skill Analytical School Little preference either way 20