21
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

  • View
    229

  • Download
    2

Embed Size (px)

Citation preview

Page 1: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

1

Software Testing and Quality Assurance

Lecture 1

Software Verification & Validation

Page 2: 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.

Page 3: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 4: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 5: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 6: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 7: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 8: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 9: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 10: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

10

Static and dynamic V & VSoftware

Inspections

RequirementsSpecification

High-levelDesign

FormalSpecification

DetailedDesign

Program

PrototypeProgramTesting

Page 11: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 12: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

12

Software Inspections

Time

No. of Employees

PlanningRequirements

Design Coding

Testing

Without Inspection

With Inspection

Page 13: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 14: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

14

Program Testing

Component Testing

System Testing

Page 15: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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

Page 16: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 17: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

17

Debugging Process

TestResults

SpecificationTest

Cases

LocateError

DesignError Repair

RepairError

RetestProgram

Page 18: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 19: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.

Page 20: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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

Page 21: 1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation

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.