This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Every application use case is executed at least once.
Every application function is executed at least once.
Every application function outcome is produced at least once.
Every application function sequence is traversed at least once.
Every possible combination of application functions is tested.
1
2
3
4
5
Increasing CostsIncreasing Reliability
F1 = All specified Functions are tested at least once.
F2 = All specified Functions are tested with all valid Arguments at leastone time.
F3 = All specified Functions are tested with all valid Arguments and all expected Results at least once.
Results (n) = Function (Arguments (m))
Result (i) = Function (Argument (j))
i = 1 to n j = 1 to m
Black-Box Test Coverage (Component Test)
TEST TCOV-16
Functional Test Coverage
TEST TCOV-17.1
TRAN:In|OutART_NR:999Amount:999Use Case Coverage = > 1 Test Case
TRANART_NRAmount
One update transaction
Function Coverage = > 2 Test Cases
> one Increase> one Decrease
TRANSART-NRMenge
Function Outcome Coverage
= > 6 Test Cases
> one Increase without Storno> one Increase with Storno of an existing order, generated earlier> one Increase with an error message> one Decrease without an order> one Decrease which generates an order> one Decrease with an error message
TEST TCOV-17.2
TRANSART_NRAmount
Function State Coverage = > 10 Test Cases
> an Increase with invalid Art_Nr.> an increase with invalid amount> an increase to a non existing article> an increase with no storno> an increase with storno of existing order> a decrease with invalid Art_Nr.
> a decrease with invalid amount> a decrease to a non existing article> a decrease without an order> a decrease which generates an order> an invalid transaction
Predicted Error Coverage
TEST TCOV-18
100
200
300
400
500
1 2 3 4 5 6
M o n t h s
N u
m b
e r
o
f
E r
r o
r s
Specification Errors
Design Errors
CodingErrors
UnitTest
Integration Test
System Test
Base Class
Derived Class
Is tested first with all possible variations
Inherits test coverage ofthe base Class.
Statement,Branch,Method & State Coverage
Inheriting Test Coverage
TEST TCOV-19
BaseClass
SubClassX
BaseClass
SubClassY
BaseClass
SubClassZ
Environment X Environment Y Environment Z
The Base Class must be retested in every new target Environment.
According to Perry/Kaiser Study of 1990
Non Transitivity of Test Coverage
TEST TCOV-20
For each Object Type Create = 4 Test Cases e.g. Account Retrieve
UpdateDelete
For each Object State Create = 16 Test Cases e.g. plus Account Retrieve minus Account Update overdrawn Account Delete locked Account
Testing the Creation, Retrieval, Update and Deletion of persistent Objects(relative to one, several or all Object Types and all Object States)
CRUD Object Access Coverage
TEST TCOV-21
Use Cases
A_UseCase
B_UseCase
C_UseCase
D_UseCase
E_UseCase
N_UseCase
C R U D C R U D C R U D
Test Object A_Object B_Object C_Object
According to R. Binder, 1999
CRUD Object Access Coverage Matrix
TEST TCOV-22
Class test Component test System test
Requirements Documentation
User Documentation
Use case Documentation
Application Object Model
System Object Model
Object Interaction Model
Interface Specification
Class Specification
Method Specification
X
X
X X
X X
X
X
X X
X
X
Software Document Software Testing Level
Document Coverage
TEST TCOV-23
Unit = Procedural ModuleUnit-Testing = Module TestWhite-Box Test is in the foregroundData are shared (global)Functional DecompositionFunctional CouplingData and Call CouplingSub Program calls are stubbedEntity/Relationship-DiagramsData Flow DiagramsStructure DiagramsReuse is secondaryDevelopment is TOP-DOWNWaterfall Project Model
Unit = Classe or ObjektUnit-Testing = Class TestGrey-Box Test is in the foregroundData are encapsulatedClass Inheritance and AssociationObject CouplingInheritance and Message CouplingForeign Methods are invokedObject Sequence DiagramsObject State Transition Diagrams Object Collaboration DiagramsReuse is primaryDevelopment is BOTTOM-UPIterative Project Model
Procedural Software Object-orientierted Software
Differences between procedural and object-oriented Software