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

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

  • View
    223

  • Download
    1

Embed Size (px)

Citation preview

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

1

Software Testing and Quality Assurance

Lecture 2

Software Verification & Validation

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

2

Lecture Outline Static V &V techniques

Walkthroughs. Technical Reviews. Software Inspections.

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

3

Walkthroughs Usually done in a single meeting. Evaluate a software product to

Find anomalies & improve the software product.

Consider alternative implementations. Evaluate the conformance to standards

and specification. Perform training of the project teams.

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

4

Suitability forthe intended

use?

Technical Reviews

Software Product

•Review Report•Action Item List

Technically Qualified TeamEvaluates

Rework/Follow-up

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

5

Software Inspection Formalized approach to document

reviews. Intended explicitly for defect detection

(not correction). Defects may be logical errors &

anomalies in the code. For example, An un-initialized variable Non-compliance with standards.

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

6

Software Inspection Remove errors as near source as

possible; hence, reducing costs of rework.

It’s success depends on The inspection process, Checks applied; The diligence of the inspectors.

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

7

Inspection pre-conditions Precise specification must be available. Team members must be familiar with

the organization standards.

Inspections will increase costs earlyin the software process.

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

8

Software Inspections

Time

No. of Employees

PlanningRequirements

Design Coding

Testing

Without Inspection

With Inspection

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

9

Inspection Process

Planning

Overview

IndividualPreparation

Rework

Follow-up

InspectionMeeting

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

10

Inspection Steps Reader paraphrases design, describing how it

will be implemented. Questions raised during discourse, only

pursued until error recognized. Error noted (but not solution) and classified

by severity. Written report of inspection prepared.

Important to inspect modified products. Re-inspection to avoid ‘bad fix’ problems.

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

11

Software Inspection Overview

Operation 1 I

Rework

Analysis

Fix short term problems

Error feedback

•Learning input for inspectors•What error types to look for

•Better ways to find error types

Feedback

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

12

Feedback Inspection provide detailed real-time

feedback to developers Process control using inspection

Identification of error prone modules; and Distribution of error types

Inspections should lead to Process Improvement

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

13

Feedback Inspection success depends on

Management attitude Conduct of trained moderator

Inspections should not be used for performance appraisals

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

14

Software Inspection Overview

Operation 1 Operation 2I

Rework

Analysis

Fix short term problems

Error feedback

•Learning input for inspectors•What error types to look for

•Better ways to find error types

•Error prone modules ranked.•Error types distributions ranked

For Special Attentions

Feedback

Feed forward

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

15

Rate of ProgressRate of progress (man/hours)

Process Operations Design Code objectives

Overview 500 - communication

preparation 100 125 education

inspection 130 150 Find errors

Rework 20 16 Remove errors

Follow-up - - Ensure resolutions of errors

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

16

Error Analysis Finding errors is difficult

Condition people to seek high occurrence, high cost error types.

Take representative sample of code; Analyze errors

Type and origin of error; cause and salient indicative feature

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

17

Stages of Static Analysis

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

18

Control Flow Analysis Condition statements;

Is the condition correct? Loop statements;

Is each loop certain to terminate? Case statements;

Are all possible cases accounted for?

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

19

Data Check Are all program variables initialized

before their values are used? Have all constants be used? Is there any possibility of buffer

overflow?

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

20

Interface Analysis Do all function and method calls have

the correct number of parameters? Are the parameters in the right order?

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

21

London Ambulance Service Case Study

ComputerAided

Dispatch

Server

Server

Automatic VehicleLocation System

RadioCommunicationInfrastructure

Ambulance

PRINCE Development Methodology was selected for the development

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

22

London Ambulance Service Case Study Throughout the project there are references

to only functional testing No static V & V process.

The draft project plan as provided by the supplier left no time for review and revision.

As a result, …….. For example, Lack of formal clarification how the PRINCE

methodology was to be applied.

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

23

Key Points Focus objectives of static V &V

techniques such as software inspection. Identify error types to get maximum

benefits out of static V & V techniques. Analyze inspection results and use it for

process improvement.