carnegie mellon university notice · testing. the . execution. of an object under test (out) under...

61
1 A Taxonomy of Testing Types SEI Webinar © 2015 Carnegie Mellon University Carnegie Mellon University Notice This video and all related information and materials (“materials”) are owned by Carnegie Mellon University. These materials are provided on an “as-is” “as available” basis without any warranties and solely for your personal viewing and use. You agree that Carnegie Mellon is not liable with respect to any materials received by you as a result of viewing the video, or using referenced websites, and/or for any consequences or the use by you of such materials. By viewing, downloading, and/or using this video and related materials, you agree that you have read and agree to our terms of use (www.sei.cmu.edu/legal/). © 2015 Carnegie Mellon University.

Upload: others

Post on 21-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

1A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Carnegie Mellon University Notice

This video and all related information and materials (“materials”) are owned by Carnegie Mellon University. These materials are provided on an “as-is” “as available” basis without any warranties and solely for your personal viewing and use.

You agree that Carnegie Mellon is not liable with respect to any materials received by you as a result of viewing the video, or using referenced websites, and/or for any consequences or the use by you of such materials.

By viewing, downloading, and/or using this video and related materials, you agree that you have read and agree to our terms of use (www.sei.cmu.edu/legal/).

© 2015 Carnegie Mellon University.

Page 2: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

2A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Copyright 2015 Carnegie Mellon UniversityThis material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center.

Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Department of Defense.

NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.

This material has been approved for public release and unlimited distribution except as restricted below.

This material may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at [email protected].

Carnegie Mellon® is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University.

DM-0002727

Page 3: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

© 2015 Carnegie Mellon University

A Taxonomy of Testing TypesSoftware Engineering InstituteCarnegie Mellon UniversityPittsburgh, PA 15213

Donald G. Firesmith

Page 4: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

4A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Topics

Relevant Testing ChallengesGoals of PresentationWhat is Testing?Presentation ScopeTesting TypesConclusion

Page 5: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

5A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Relevant Testing Challenges

Page 6: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

6A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Relevant Testing Challenges

Many testers are only aware of a minority of types of testing, let alone know how to perform them.Test managers and developers are aware of even fewer testing types.The test strategies, project test plans, and test sections of system/software development plans tend to identify only a very small number of types of testing (e.g., unit, integration, system, and acceptance testing).• Not planned → Not performed

Page 7: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

7A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Goals of the Presentation

Page 8: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

8A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Goals of the Presentation

Make it clear that:• There are many different types of testing.• Testing is a complex discipline with its own technical jargon.• There is a lot of overlap between different classes of testing types.

• Think multiple classification (object-oriented design)or multiple inheritance (object-oriented programming).

Get you to take a look at your:• Test strategies and test plans and ask yourselves “Are they sufficiently complete?”• Testers and other testing stakeholders and ask yourselves “Do they need additional

training in testing types.

Page 9: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

9A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Polling Question 1

How many different types of testing do you typically use on a project?O 1-5O 6-10O 11-15O 16+

Page 10: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

10A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What is Testing?

Page 11: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

11A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What is Testing?

TestingThe execution of an Object Under Test (OUT) under specific preconditions with specific stimuli so that its actual behavior can be compared with its expected or required behavior• Preconditions: pretest mode, states, stored data, or external conditions• Stimuli:

- Calls, commands, and messages (control flows)- Data inputs (data flows)- Trigger events such as state changes and temporal events

• Actual Behavior:- During Test:

– Calls, commands, and messages (control flows)– Data outputs (data flows)

- Postconditions: post-test mode, states, stored data, or external conditions

Page 12: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

12A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Presentation Scope

Page 13: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

13A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Presentation Scope Verification and Validation (V&V) MethodsQuality Control (QC)

Test Evaluation OtherIn Scope

T&E

Analysis

StaticAnalysis

DynamicAnalysis

Demonstration

Desk Checking

Inspection ReviewWalk-

Through

Peer Review

Formal Review

“Inspection” Certification Reuse Warantee

Legend

Static Dynamic

Page 14: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

14A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

The Taxonomy of Testing Types

Page 15: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

15A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Types of Testing

A type of testing is:• A specific way to perform testing• A class or subclass of testing• Much narrower in scope than a testing paradigmThere are relationships between the various types of testing.Most testers know:• A lot about a few types of testing• A little about some additional types of testing• Very little about a sizable number of testing types

Page 16: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

16A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Polling Question 2

Have you ever seen a taxonomy of testing types(i.e., a hierarchical categorization of different ways to test)?O YesO NoO Not Sure

Page 17: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

17A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Types of Testing

16 Categories of Testing Types Answering the 5W+2H Questions:• What?• When?• Where?• Who?• Why?• How?• How Well?These supertypes are not disjoint (think multiple inheritance)!

Object Under Test (OUT)-Based Test Types

Quality-Characteristic-Based Test Types

Phase-Based Test Types

Built-In-Test (BIT) Types

Test Types

What-Based Test Types(What Gets Tested)

When-Based Test Types(When Testing Occurs)

Domain-Based Test Types

Why-Based Test Types(Why Testing Occurs)

Driver-Based Test Types

Reason-Based Test Types

Who-Based Test Types(Who Does Testing)

Collaboration-Based Test Types

Organization-Based Test Types

Role-Based Test Types

Where-Based Test Types(Why Testing Occurs)

Organization-Location-Based Test Types

Physical-Location-Based Test Types

How-Based Test Types(How Testing is Performed

Automation-Based Test Types

Level-of-Scripting-Based Test Types

Technique-Based Test Types

How-Well-Based Test Types(Quality Verified)

Lifecycle-Based Test Types

Temporal-Order-Based Test Types

Page 18: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

18A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Types of Testing

WHAT is Tested

Page 19: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

19A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What: by Object Under Test (OUT)

OUT-Based Testing

Model Testing

Software Testing

System Testing

Hardware Testing

Tool/Environment Testing

Data CenterTesting

What-Based TestingTesting

Page 20: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

20A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What: by Object Under Test (OUT) – Model Testing

OUT-Based Testing

Model Testing

Requirements Model Testing

Design Model Testing

Architecture Model Testing

What-Based TestingTesting

Page 21: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

21A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What: by Object Under Test (OUT) – Hardware Testing

OUT-Based Testing

Hardware Testing

HW Qualification Testing

What-Based TestingTesting

Power-off Testing

Highly Accelerated Life Testing (HALT)

Hardware Stress Testing

Continuity Testing

Page 22: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

22A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What: by Object Under Test (OUT) – Software Testing

OUT-Based Testing

Software Testing

SW Unit [Component] Testing

SW Application Testing

SW Integration Testing

What-Based TestingTesting

Page 23: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

23A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What: by Object Under Test (OUT) – System Testing

OUT-Based Testing

System Testing

System Integration Testing

SoS Integration Testing

SoS Testing

Subsystem Testing

System Testing

Hardware-in-the-Loop (HIL) Testing

Processor-in-the-Loop (PIL) Testing

Human-in-the-Loop (HIL) Testing

What-Based TestingTesting

Software-in-the-Loop (SIL) Testing

Page 24: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

24A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What: by Object Under Test (OUT) – Data Center Testing

OUT-Based Testing

Data Center Testing

Configuration Testing

Integrated System Testing (IST)

Failover and Restore Testing

What-Based TestingTesting

Network Traffic Testing

Page 25: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

25A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What: by Object Under Test (OUT) – Tool / Environment Testing

OUT-Based Testing

Tool/Environment Testing

Development Environment

Testing

Development Tool Testing

What-Based Testing

Test Environment Testing

Test Tool Testing

Testing

Page 26: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

26A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

What:by Domain

Domain-Specific Testing

Domain-Independent Testing

Domain-Based Testing

Flight Testing

Sea Trials

Live Fire Testing

Wind Tunnel Testing

Crash Testing

Exhaust Emissions Testing

Many Types of Domain-

Independent Testing

What-Based TestingTesting

Page 27: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

27A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Types of Testing

WHEN Testing Occurs

Page 28: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

28A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

When: by Temporal Order

Order-Based Testing

Order-By-Direction Testing

Layer-Based Testing

Order-By-Component Testing

Feature-Based Testing

When-Based TestingTesting

Top-Down Testing

Bottom-Up Testing

Outside-In Testing

Subsystem-Based Testing

Page 29: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

29A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

When: by Lifecycle

Lifecycle-Based Testing

Incremental Testing

Waterfall Testing

DevOps Testing

Continuous Testing (CT)

Agile Testing

When-Based TestingTesting

V-Model Testing

At-The-End Testing

Page 30: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

30A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

When: by Phase

Beware ofSynonyms andAlmost Synonyms!

Developmental Testing (DT)

Acceptance Testing (AT)

Business Acceptance Testing (BAT)

Contract(ual) Acceptance Testing (CAT)

Operational Acceptance Testing (OAT)

Regulation Acceptance Testing (RAT)

Customer Acceptance Testing (CAT)

Site Acceptance Testing (SAT)

Factory Acceptance Testing (FAT)

Production Acceptance Testing (PAT)

Operational Testing (OT)

Initial Operational Testing (IOT)

Follow-on Operational Testing (FOT)

Qualification Operational Testing

(QOT)

Many Types of Developmental

Testing

Operational Effectiveness Testing

Operational Suitability Testing

User Acceptance Testing (UAT)

Data CenterTesting

When-Based TestingTesting

Phase-Based Testing

Page 31: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

31A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

When: byBIT Execution Time

Built-In Testing (BIT)

PeriodicBuilt-In Testing

(PBIT)

Power-UpBuilt-In Testing

(PupBIT)

Interrupt-driven Built-In Testing

(IBIT)

User-initiated Built-In Testing

(UBIT)

ShutdownBuilt-In Testing

(SBIT)

OngoingBuilt-In Testing

(OBIT)

Self-Testing via Heartbeat

Self-Testing via Prognostics and

Health Management(PHM) Subsystem

Self-Testing via Assertion Checking

When-Based TestingTesting

Page 32: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

32A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Types of Testing

WHY Testing is Being Performed

Page 33: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

33A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Why: by Driver

Verifies

Driver-Based Testing

Requirements-Driven Testing

(tests what + how-well)

Design-Driven Testing

(tests how)

Architecture-Driven Testing

(tests how)

Needs-Driven Testing

(tests why)

System MeetsSystem Requirements

System Conforms to

Design

System Conforms to Architecture

System Meets Stakeholder

Needs

Regulatory-Compliance Testing (tests compliance)

System Complies with Laws or Regulations

Why-Based TestingTesting

Validates VerifiesVerifiesVerifies

Page 34: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

34A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Why: by Reason

Reason-Based Testing

Initial Testing

Regression TestingRetesting

Partial Regression

Testing

Complete Regression

Testing

Smoke Testing

Error Seeding

ReuseTesting

COTS Testing

Open Source Testing

Legacy Testing

Why-Based TestingTesting

Page 35: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

35A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Types of Testing

WHO Performs Testing

Page 36: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

36A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Who: byCollaboration

Collaboration-Based Testing

Individual Testing

Pair Testing

Buddy Testing

Group Testing

Flash Mob Testing

Who-Based TestingTesting

Page 37: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

37A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Who: byOrganization

Development Organization

Testing

Subcontractor Testing

Prime Contractor

Testing

Acquisition Organization

Testing

IndependentTest

Organization Testing

Operations Organization

Testing

User Organization

Testing

COTS Vendor Testing

DT Organization

Testing

OT Organization

Testing

Who-Based TestingTesting

Organization-Based Testing

Page 38: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

38A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Polling Question 3

Who performs testing on your projects? Check all that apply.

□ Project-internal Testers

□ Independent Testers

□ Developers

□ Specialty Engineers (e.g., performance, reliability, safety, security, human factors)

□ Quality Engineers

□ Others

Page 39: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

39A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Who: by Role Who-Based TestingTesting

Role-Based Testing

Security Engineer Testing

Safety Engineer Testing

Human Factors Engineer Testing

Programmer Testing

Requirements Engineer Testing

Architect Testing

Database Admin Testing

Network Admin Testing

Sys Admin Testing

Beta Tester Testing

User as Tester Testing

Closed Beta

Testing

OpenBeta

Testing

Alpha Tester Testing

Embeded Tester Testing

Independent Tester Testing

Buddy Testing

Pair Testing

Tester Testing

Operator Testing

Developer Testing

User Testing

Page 40: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

40A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Types of Testing

WHERE Testing is Performed

Page 41: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

41A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Where: by Organizational Location

Outsourced Testing

Insourced Testing

Organizational-Location-Based Testing

Where-Based TestingTesting

Page 42: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

42A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Where: by Physical Location

Physical-Location-Based Testing

Local Testing

Distributed Testing

Cloud Testing

Where-Based TestingTesting

Page 43: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

43A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Types of Testing

HOW Testing is Performed

Page 44: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

44A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How: by Level of Automation

Level-of-Automation-Based Testing

Manual Testing Automated Testing- Test Script Generation- Test Data Generation- Test Script Execution- Test Report Generation

Data-Driven Testing

Action-Keyword Testing

Script-Based Testing

Record-Playback Testing

Model-Based Testing

How-Based TestingTesting

Page 45: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

45A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How: by Level of Scripting

Unscripted TestingScripted Testing

Level-of-Scripting-Based Testing

Monkey Testing

How-Based TestingTesting

Exploratory Testing

Page 46: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

46A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How: by Technique

Blackbox Testing

Whitebox Testing

Experience-Based Testing

Graybox Testing

Random Testing(Cat on the Keyboard)

Patterns-Based Testing

Test-Technique-Based Testing

How-Based TestingTesting

Page 47: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

47A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How: by Technique- Blackbox Testing

Blackbox Testing

Cause and Effect Testing

Classification Tree Testing

Combinatorial Testing

Decision Table Testing

Requirements Testing Risk-Based

TestingScenario Testing State-Based

Testing

Syntax Testing

Manual Procedure

Testing

User Interface Navigation

Testing

Test-Technique-Based Testing

How-Based TestingTesting

End-to-End Testing

Page 48: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

48A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How: by Technique- Graybox Testing

Graybox Testing

Boundary Value Testing

Equivalence Class Testing

Test-Technique-Based Testing

How-Based TestingTesting

Page 49: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

49A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How: by Technique- Whitebox Testing

Whitebox Testing

Control Flow Testing

Data Flow Testing

Branch Testing

Condition Testing

Statement Testing

All Definitions Testing

All Uses Testing

Test-Technique-Based Testing

How-Based TestingTesting

Page 50: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

50A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How: by Technique- Experience-Based Testing

Experience-Based Testing

Error Guessing Testing

Exploratory Testing

Bug Hunt Testing

Galumphing

Test-Technique-Based Testing

How-Based TestingTesting

Page 51: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

51A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How: by Technique- Random Testing

Random Testing(Cat on the Keyboard)

Monkey Testing

Fuzz Testing

Test-Technique-Based Testing

How-Based TestingTesting

Stuck Key Testing

Shoe Testing

Page 52: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

52A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Types of Testing

HOW WELL Object Under Test Functions

Page 53: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

53A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How Well:by QualityCharacteristic

Based on the associatedquality characteristicand its associatedquality attributes:• Uncover related defects• Determine level of quality

Capacity Testing

Compatibility Testing

Consistency Testing

Data Migration Testing

Functionality Testing

Performance Testing

Configuration Testing

Reliability Testing

Robustness Testing

Safety Testing

Security Testing

Usability Testing

Quality-Characteristic-Based Testingby Quality Characteristic

Correctness Testing

Interoperability Testing

Scalability Testing

Backwards Compatibility Testing

Infrastructure Compatibility Testing

Flexibility Testing Internationalization Testing

PersonalizationTesting

How-Well-Based TestingTesting

Mobile Testing

Page 54: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

54A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How Well: by Quality– Capacity Testing

Capacity Testing

Load Testing

Stress Testing

Volume Testing

Quality-Characteristic-Based Testing

How-Well-Based TestingTesting

Page 55: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

55A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How Well: by Quality– Reliability Testing

Reliability Testing

Reliability Enhancement Testing

Reliability Growth Testing

Quality-Characteristic-Based Testing

Endurance (Stability) Testing

Reliability Mechanism Testing

How-Well-Based TestingTesting

Page 56: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

56A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How Well: by Quality– Robustness Testing

Robustness Testing

Error Tolerance Testing

Fault Tolerance Testing

Failure Tolerance Testing

Environmental Tolerance Testing

Acoustic Tolerance Testing

Shock/Drop Tolerance Testing

Acceleration Tolerance Testing

Electromagnetic Compatibility (EMC) Tolerance Testing

Temperature Tolerance Testing

Pressure/Leakage Tolerance Testing

Vacuum Tolerance Testing

Radiation Tolerance Testing

Temperature Cycling Tolerance Testing

Pressure Cycling Tolerance Testing

Quality-Characteristic-Based Testing

Fault Injection Testing

Failover and Recovery Testing

System Error Testing

Human Error Testing

Communication Error Testing

Hardware Error Testing

Software Error Testing

How-Well-Based TestingTesting

Page 57: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

57A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How Well: by Quality– Security Testing

Encryption Testing

EMSEC Testing

Blue Team Testing

Red Team Testing

Infrastructure Testing

Penetration Testing

Anti-Tamper Testing

Anti-Spoofing Testing

Access Control Testing

Security Testing

Quality-Characteristic-Based Testing

How-Well-Based TestingTesting

Page 58: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

58A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

How Well: by Quality– Usability Testing

Usability Testing

A/B Testing

Accessibility Testing

Alpha Testing

Content Usage Testing

Beta Testing

(Flash) Mob Testing

Closed Beta Testing

Open Beta Testing

Quality-Characteristic-Based Testing

How-Well-Based TestingTesting

Page 59: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

59A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Conclusion

Page 60: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

60A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University

Conclusion

Most systems require quite a few different types of testing.Most testers are not aware of the majority of the different types of testing.• If you are not aware that it exists, then you don’t know whether you need it.These types of testing can be organized into a taxonomy by the 5W + 2H questions.This taxonomy has several uses:• Ensure the test strategy is sufficiently complete with no important type of testing

overlooked.• Organize testing types to make them and their relationships more understandable.• Augment test training materials.• Help categorize and understand limitations of testing tools.

Page 61: Carnegie Mellon University Notice · Testing. The . execution. of an Object Under Test (OUT) under specific . preconditions. with specific . stimuli. so that its . actual behavior

61A Taxonomy of Testing TypesSEI Webinar© 2015 Carnegie Mellon University