1 software testing and quality assurance lecture 1 software verification & validation

Post on 22-Dec-2015

230 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Software Testing and Quality Assurance

Lecture 1

Software Verification & Validation

2

Outline Introduction to software verification and

validation concepts. Software verification and validation

process. Introduction to static & dynamic

verification analysis techniques.

3

Verification & Validation (V &V) Process V & V takes place at each phase of software

development life cycle. Requirements reviews. Design reviews. Code inspections to software testing.

Has two principal objectives The discovery of defects in a system. The assessment of whether or not the system is

useful and useable in an operational situation.

4

Validation Are we building the right product? The process of evaluating a system

during and at the end of the development process to determine if it satisfies the requirements of the

system. The software should do what the user

really requires.

5

Verification Are we building the product right? The process of evaluating a system at

the end of a phase to determine if it satisfies the conditions imposed at the

start of that phase. The software should conform to its

specification.

6

V & V goals Ultimate goal

Software is ‘fit for the purpose’. Software is not necessarily 100 % free

of defects. Rather, it must be good enough

for its intended use; and the type of use will determine the degree of

confidence that is needed.

7

V & V confidence Depends on system’s purpose, user

expectations and marketing environment Software function

The level of confidence depends on how critical the software is to an organization.

User expectations Users may have low expectations of certain kinds of

software. Marketing environment

Getting a product to market early may be more important than finding defects in the program.

8

Static Verification Software inspections

Concerned with analysis of the static system representation to discover problems.

Review the documents and software system during different phases of development life-cycle.

Supplement by tool-based document and code analysis.

9

Dynamic Verification Software Testing

Concerned with excising and observing product behavior

The system is executed with test data and its operational behavior is observed.

10

Static and dynamic V & VSoftware

Inspections

RequirementsSpecification

High-levelDesign

FormalSpecification

DetailedDesign

Program

PrototypeProgramTesting

11

Software Inspections Involves people examining the software

documentation With the aim of discovering anomalies and

defects. Inspections not require execution of a

system Can be used before implementation.

12

Software Inspections

Time

No. of Employees

PlanningRequirements

Design Coding

Testing

Without Inspection

With Inspection

13

Inspection Success Different defects may be discovered in a

single inspection. In testing, one defect may mask another so

several executions are required. Reuse of domain and programming

knowledge Common mistakes and errors types.

14

Program Testing

Component Testing

System Testing

15

Types of Testing Defect Testing

Test cases are designed to expose system defects; For example,

System crashes, incorrect computations Validation Testing

Intended to show that the software meets its requirements; For example,

Software reliability, performance

16

Testing and debugging Defect testing and debugging are

distinct processes. V & V process is concerned with

establishing the existence of defects in a program.

Debugging is concerned with locating and repairing these errors.

17

Debugging Process

TestResults

SpecificationTest

Cases

LocateError

DesignError Repair

RepairError

RetestProgram

18

Inspections and Testing Inspections and testing are complementary

and not opposing verification techniques. Both should be used during the V & V

process. Inspections can check conformance with a

specification but not conformance with the customer’s real requirements.

Inspections cannot check non-functional characteristics such as performance, usability etc.

19

V & V Planning Careful planning is required to get the

most out of testing and inspection processes.

Planning should start early in the development process.

The plan should have the balance between static verification and testing.

20

V-Model of DevelopmentRequirementsspecification

SystemSpecification

SystemDesign

DetailedDesign

AcceptanceTest

SystemIntegration

Test

Sub-SystemIntegration

Test

Module,Unit Code &

Test

AcceptanceTest Plan

SystemIntegration Test Plan

Sub-SystemIntegration Test Plan

Service

21

Key Points Verification shows conformance with

specification. Validation shows that the program

meets the customer’s needs. V & V is a continuous process which

should takes place at each phase of software development life cycle.

top related