25
SoftwareTest Organisation TEST TORG The role of testing in the software life cycle Verification and Validation Goals of Testing Test work distribution Test Responsibilities The Developer as a Tester The End User as a Tester The Analyst as a Tester The Tester in the Team The internal Test Team The external Test Factory Test Responsibility in small projects 1 2 5 6 4 3 7 8 9 Test Responsibility in a middle sized project Test Responsibility in a large project One Level Test Organization Two Level Test Organization Three Level Test Organization Four Level Test Organization n im GEOS Test Environment Test Activities Testing semantic levels against each other Test Principles The Test Equation 13 14 17 18 16 15 19 20 21 10 22 11 23 12 24

SoftwareTest Organisation TESTTORG The role of testing in the software life cycle Verification and Validation Goals of Testing Test work distribution Test

Embed Size (px)

Citation preview

SoftwareTest Organisation

TEST TORG

The role of testing in the software life cycle

Verification and Validation

Goals of Testing

Test work distribution

Test Responsibilities

The Developer as a Tester

The End User as a Tester

The Analyst as a Tester

The Tester in the Team

The internal Test Team

The external Test Factory

Test Responsibility in small projects

1

2

5

6

4

3

7

8

9

Test Responsibility in a middle sized project

Test Responsibility in a large project

One Level Test Organization

Two Level Test Organization

Three Level Test Organization

Four Level Test Organization n im GEOS

Test Environment

Test Activities

Testing semantic levels against each other

Test Principles

The Test Equation

The Test Project

13

14

17

18

16

15

19

20

21

10 22

11 23

12 24

The Role of Testing in the Software Life Cycle

TEST TORG-1

ProjectRequest

CodeDocu.

Systemtest

Integra-tion test

Requanalysis

Systemdesign

Moduletest

Moduledesign

Coding DebuggingCode

SystemTest docu.

IntegrationTest docu

Module Test docu.

Requdocu

Designdocu.

Modulespecs.

Data-based Test cases

Code-based Test cases

Requ-based Test cases

Verification und Validation

TEST TORG-2

Problem

Requirements

Specification

SolutionForm Content

Structural analysis

Funktional analysis

Actual Construction = specified Construction Actual performance = required Performance

Verification Validation

Verification = the System is true, i.e.The System was made right

Validation = the System fits the purposeThe right system was made.

Goals of Testing

TEST TORG-3

Testing is the empirical approach to finding defects in a software system.

Testing has two major goals:

to find defects before the user does

to gain trust in the system

The attainment of the first goal can only be measured in terms of the number of defects found relative to the number of defects in the system.

The attainment of the second goal can be measured in terms of the test coverage, the higher the test coverage, the greater the trust in the system.

These two questions give way to two further questions:

how many defects does a system have?

what should be covered in a system?

1.

2.

3.

4.

5.

Test Work DistributionTEST TORG-4

IntegrationTest

(Grey Box)

SystemTest

(Black Box)

UnitTest

(White Box)

Components

System

Developer

Tester

Developer/Tester

Team

Procedures,Modules,

Subroutines,Classes

Units

Packages,Interfaces,

Files/TablesSubsystems

User InterfacesSystem Interfaces,

Databases

Test Responsibilities

TEST TORG-5

Potential Candidates

The Developers themselves

The Users

The Analysts

The Tester in the Team

An internal Test Team

An external Test Lab

The Developer as a Tester

TEST TORG-6

Self Control

Developer Controller

Shiciophronia

Alternative: Pair Programming = Mutual control

The End User as Tester

TEST TORG-7

Test dataDevelopment

Team

User Department or User

Representative

Test Results

Live DataData Samples

The Analyst as a Tester

TEST TORG-8

UserDepartment

Analyst

DevelopmentTeam

Test DataTest

SpecificationTest

DocumentationRequirement

DocuTest

Objects

The Tester in the Team

TEST TORG-9

ProjectLeader

Developer DeveloperDeveloper

SystemArchitectTester

Integrated Tester

The Internal Test Team

TEST TORG-10

ProjectOffice

DeveloperTeam

DeveloperTeam

DeveloperTeam

TestTeam

DesignTeam

Anforderungen

Test Results

The external Test Lab

TEST TORG-11

Code Components Code

Components Code Components

ErrorReports

Developers develop and test their Components

Testers integrate componentsand test the System

Test Responsibility in a small Project

TEST TORG-12

Developer DeveloperDeveloper

Developeras Tester

ModuleModule ModuleModuleModuleModule

System

Test Responsibility in a middle sized Project

TEST TORG-13

Developer

ModulesModules

Developer

ModulesModules

Developer

ModulesModules

Developer

ModulesModules

TesterIn the Team

System

Test Responsibility in a large Project

TEST TORG-14

DevelopmentTeam

ComponentsComponents

DevelopmentTeam

ComponentsComponents

DevelopmentTeam

ComponentsComponents

DevelopmentTeam

ComponentsComponents

System

TestTeam

One Level Test Organization

TEST TORG-15

Developers and Testers are together in one Team The developers code and the testers test.

Two Level Test Organization

TEST TORG-16

ComponentsRequirement

SpecsError

ReportsTechnical

Test Cases

Analyst s and Users System Test

Developers Unit Test & Integration Test

Three Level Test Organization

TEST TORG-17

Analysts

TechnicalTest Cases

ErrorReports

RequirementSpecs

ErrorReports

TestDocus

LogicalTest Cases

Components

Developers Unit Test & Integration Test

Testers Integration Test & System Test

System Design

4-Layer GEOS Project Organization

Code Components

System Test Cases

Requirements

implementedby

implements

1

n

n

1

1

n

n

1

1

n

n

1

n

1

1

n

Tests tested_by

Tests testedby

stated

implied

derived

Analysts

Designers

Developers

Testers

Four Level Test Organization

TEST TORG-18

Test Environment

TEST TORG-19

Test strategy

Acceptance Test

Test methods

System test

Test Procedures

Test Tools

Integration test

Unit test

Batch Online Distributed Internet

Test Process

Test Environments

TestLevels

Test Activities

TEST TORG-20

TestEvaluation

TestExecution

Test Documentation

Test Planning

Interconnection between test activities

Test planning Test execution Test evaluation Test documentation

Testing semantic Software Levels against each other

TEST TORG-21

D: Design C: CodeR: Requirements

Ist Ist

Ist

Soll Soll

R/D D/C

C/CD/DR/R

R/C

In the Unit Test the Code (C) is compared with the Design (D). In the Integration Test the Design (D) is compared with the Requirements . In the System Test the Code (C) is checked against the Requirements (R).

System Test

Unit TestIntegration Test

Test Principles

TEST TORG-22

Principle of Decomposition: The whole is tested by testing all the parts and all relationships between the parts.

Principle of Repetition: Every test must be repeatable.

Principle of Measurability: Software behavior must be measurable on a numeric scale

Principle of Infinity: An infinite test is not a valid test.

Principle of Functional completeness: Every Function in a System has a purpose and must be tested against that purpose.

Principle of Redundancy: A redundant test case adds no value to the test

Principle of Test Environment: The environment of a system ist part of the system test.

The Test Equation

TEST TORG-23

= Test Strategy

+ Test Method

+ Test Tools

+ Test Organisation

+ Test Audit

Without a Strategy a test is not oriented.

Without a Method the test is not effective.

Without a Tool the test is not efficient.

Without an organization the test is not controllable.

Without an audit the test is not reliable.

The Testprojekt

TEST TORG-24

Requirementsanalysis

BusinessModelling

RequirementSpecification

TestProject

DevelopmentProject

Software

ParallelProjects

Test Design

Test Specification

Test Preparation

Test Execution

Test Evaluation