sqa mim 5 1

52
Software Quality & Testing

Upload: bhavikmeghani

Post on 18-Apr-2015

26 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SQA MIM 5 1

Software Quality &

Testing

Page 2: SQA MIM 5 1

US Govt. Study on Software Development Projects reveals

60 % of Projects are behind Schedule

50% were over cost

45 % of delivered projects were unusable

IT SCENARIO

Page 3: SQA MIM 5 1

Success/Failure Rate of Projects

PROJECT SUCCESS HISTORY

0

10

20

30

40

50

60

1994 1996 1998

SuccessFailedChallenge

16

53

3127

4033

2628

46

%

Page 4: SQA MIM 5 1

SDLC

Coding and

Testing Implementation

Architectural DESIGN (HLD)

Detailed Design (LLD)

Maintenance

Requirement Analysis

Page 5: SQA MIM 5 1

Design27%

Coding7%

Others10%

Requirement56%

Distribution of Bugs

Source: Writing Testable Requirements by Dick Bender

Page 6: SQA MIM 5 1

Requirement82%

Coding1% Others

4%

Design13%

S ou rce: W r it in g T esta b le R eq u ire m en ts b y D ick B en d e r

DISTRIBUTION OF EFFORTS

Page 7: SQA MIM 5 1

Quality ?

Page 8: SQA MIM 5 1

Problem with Quality?

The problem with quality is not what people don’t know about it?

The problem is what they think they do know.

Page 9: SQA MIM 5 1

Quality has much in common with Sex Bill Crossby Everybody is for it.

(Under certain conditions, of course)

Everyone feels they understand it

(Even though they would not want to explain it)

Everyone thinks execution is only a matter of following natural inclinations.

(After all we do get along somehow)

Most people feel that problems in these areas are caused by others.

(if only they would take the time to do things right)

Page 10: SQA MIM 5 1

What Is Quality?

As defined by a producer of a product

Meeting specified requirements of an acceptable

PRODUCT

As defined by a customer

FITNESS FOR USE Should be available at the RIGHT

TIME, PLACE, FORM, PRICE

Page 11: SQA MIM 5 1

What Is Quality?

As defined by ISO 9000 : The totality of characteristics of an entity (product or service) that bear

on its ability to satisfy

STATED

and/or

IMPLIED needs.

Page 12: SQA MIM 5 1

Software Quality :McCall’s Quality Factors Factors that can be directly measured.

Factors that can be measured only indirectly.

Compare the software to some datum and arrive at an indication of quality.

Page 13: SQA MIM 5 1

Software Quality :McCall’s Quality Factors

PRODUCT TRANSITIONPRODUCT REVISION

PRODUCT OPERATION

Page 14: SQA MIM 5 1

Software Quality : Product Operation Correctness The degree to which the

software satisfies stated needs as indicated by: Suitability Accuracy Interoperability Compliance Security

Page 15: SQA MIM 5 1

Software Quality : Product Operation Reliability: The amount of time that the

software is available for use as indicated by: Maturity

Fault Tolerance

Recoverability

Page 16: SQA MIM 5 1

Software Quality : Product Operation Usability: The degree to which the software is

easy to use as indicated by: Understandability

Learnability

Operability

Page 17: SQA MIM 5 1

Software Quality : Product Operation Integrity:

The extend to which access to Software or Data by unauthorized persons can be controlled

Page 18: SQA MIM 5 1

Software Quality : Product Operation Efficiency: The degree to which the software

makes optimal use of system resources as indicated by: Time Behavior

Resource Behavior

Page 19: SQA MIM 5 1

Software Quality : Product Revision Maintainability: The ease with which repair

may be made to the software is easy to use as indicated by: Analyzability Changeability Stability Testability

Page 20: SQA MIM 5 1

Software Quality : Product Revision Flexibility

The effort required to modify the programs

Page 21: SQA MIM 5 1

Software Quality : Product Revision Testability

The effort required to test the programs to ensure that it performs its intended functions

Page 22: SQA MIM 5 1

Software Quality : Product Transition Portability: The ease with which software can

be transposed from one environment to another as indicated by: Adaptability Installability Conformance Replaceability

Page 23: SQA MIM 5 1

Software Quality : Product Transition Reusability The extend to which a program

[or parts of programs] can be reused in other applications - related to the packaging and scope of the functions that the program perform.

Page 24: SQA MIM 5 1

Software Quality : Product Transition Interoperability

The effort required to couple the system to another

Page 25: SQA MIM 5 1

Software Cost of Errors at Each Stage of the SDLC

Software Economics

Page 26: SQA MIM 5 1

Relative Cost of Software Defects

0

20

40

60

80

100

120

140

Req Design Code Test Production

Line 1

Page 27: SQA MIM 5 1

Testing Economics

Stage Err. Int. Traditional Continuous

& Cost Left Cost Left Cost

------------------------------------------------------------------

Req. - 1 20 20 000 10 010

Des. - 3 20 40 000 15 055

Code - 5 20 60 000 18 140

Test - 10 12 480 04 280

Prdn -100 00 1680 00 680

Page 28: SQA MIM 5 1

Definitions

Errors

Error is an oversight or a wrong decision

Defects

Non fulfillment of an intended usage, requirement or reasonable expectation. A deviation from specification or standard Anything that causes customer dissatisfaction on

conformance to standards. Anything less/extra requirement from specification

Page 29: SQA MIM 5 1

Definitions

Software Verification & Validation

Software V & V processes determine whether development products of a given activity conform to the requirements of that activity & whether software satisfies its intended use and user needs

Page 30: SQA MIM 5 1

Definitions

Verification

IEEE defines Verification as the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase

e.g. Do we have clear and complete requirements

Is this a good design

Page 31: SQA MIM 5 1

Definitions

Validation

IEEE defines Validation as the process of evaluating a system or component during or at the end of the development whether it satisfies specified requirements.

e.g. It involves executing the actual software

or a simulated mock type.

Page 32: SQA MIM 5 1

V & V Objectives

Facilitate early detection and correction of errors

Enhance management insight into process and product risk

Support software life cycle processes to ensure compliance with program performance, schedule and budget requirements.

Page 33: SQA MIM 5 1

What is Quality Assurance (QA)?

All those planned and systematic activities implemented within the quality system and demonstrated as needed to provide adequate confidence that an entity will fulfil requirements for quality

Page 34: SQA MIM 5 1

What is Quality Control (QC)?

The operational techniques and activities that are used to fulfil requirements for quality

Page 35: SQA MIM 5 1

Quality Assurance Vs Quality control

Product based

Reactive

S/W Test cases

Require testers

QC can be automated.

Inspection/Audit

Process Based

Proactive

Has to be designed, evolved as a culture

Requires Quality Specialists

Selection of QA tools.

Processes

Page 36: SQA MIM 5 1

Quality Assurance Vs Quality control (contd..)

Satisfies the Process

Time/Project Bound

Dynamic Software Testing, Test Reviews etc.

Satisfies the Customer

Continuous Improvement

Training on quality (Awareness, Processes, Costing).

Page 37: SQA MIM 5 1

Quality Models

Spice

SEI CMM

SEI PCMM

SEI CMMI

Kaizen

Total Quality Management (TQM)

Tick-IT

ISO–9000

Page 38: SQA MIM 5 1

CMM - Capability Maturity Model

Page 39: SQA MIM 5 1

Managed(4)

|Optimizing (5)

Defined(3)

Repeatable(2)

Initial(1)

Improvement institutionalized

Quantitative control

Technical practices are integrated with management practices and institutionalized

Project Management practices are institutionalized

Process is informal & adhoc

Disciplined

process

Standard consistent process

Predictable process

Continuously improving process

5 levels of software process maturity

Page 40: SQA MIM 5 1

Optimizing (5)

Process change management Technology change mgmt. Defect prevention

Managed (4)Quality management Quantitative Process management

Defined (3)Peer reviews Inter group coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus

Repeatable (2)Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight Software project planning Requirements management

Intial(1)

Page 41: SQA MIM 5 1

The Maturity Levels

1

2

3

4

5

Process unpredictable, poorly controlled, and reactive

Process characterized for projects and is often reactive

Process characterized for the organization and is proactive

Process measuredand controlled

Focus on continuous process improvement

Optimizing

QuantitativelyManaged

Defined

Initial

Managed

Optimizing

Defined

Page 42: SQA MIM 5 1

CMMI®-SE/SW (Staged Representation)

Organizational Innovation and DeploymentCausal Analysis and Resolution5 Optimizing

4 Quantitatively Managed

3 Defined

2 Managed

ContinuousProcess Improvement

QuantitativeManagement

ProcessStandardization

BasicProjectManagement

Organizational Process PerformanceQuantitative Project Management

Requirements DevelopmentTechnical SolutionProduct IntegrationVerificationValidationOrganizational Process FocusOrganizational Process DefinitionOrganizational Training Integrated Project ManagementRisk ManagementDecision Analysis and Resolution

Requirements Management Project PlanningProject Monitoring and ControlSupplier Agreement ManagementMeasurement and AnalysisProcess and Product Quality AssuranceConfiguration Management

QualityProductivity

RiskRework1 Initial

Process AreasMaturity Level Focus

Page 43: SQA MIM 5 1

Software Quality Assurance

Page 44: SQA MIM 5 1

Software Quality Assurance includes:

Scope Management

Time Management

Cost Management

Quality Management

Change Management

Page 45: SQA MIM 5 1

Software Quality Assurance includes:

Human resources Management

Communication Management

Risk Management

Procurement Management

Integration Management

Page 46: SQA MIM 5 1

Software Engineering Solutions

Joint Application Development (JAD) Structured Methodology Visual Diagramming/Prototyping Model Iterative Model Spiral Model

Page 47: SQA MIM 5 1

Software Engineering Solutions Joint Application Development (JAD)

Implemented by IBM User and Systems Team Work together thru

the entire Cycle Creates an Ownership Reduces Communication Gap Detection of Errors on Time User gets trained during the development

Page 48: SQA MIM 5 1

Software Engineering Solutions Structured Methodology

Based on 4 Principles

1. Abstraction

2. Formality

3. Divide and Rule

4. Hierarchical Ordering

Page 49: SQA MIM 5 1

Software Engineering Solutions Prototyping/Visual Modeling

1. Make Prototype for User Communication

2. Use Diagrammatic Techniques

3. Visual Modeling helps better understanding

Page 50: SQA MIM 5 1

Software Engineering Solutions Spiral Model

Consists of a Cyclic approach

1. Planning

2. Risk Assessment

3. Engineering

4. Review/Evaluation

Page 51: SQA MIM 5 1

SoftwareRequirements

Change ControlProcess

System TestingProcess

User Documentation

Process

Design and Construction

Process

Project PlanningProcess

Relationship of Requirements to Project Development Processes

Changes

Are the

baseline for

Are input to

Page 52: SQA MIM 5 1

Requirements Engineering

SoftwareRequirementsSpecifications

Requirements Management

Requirements ChangeManagement

Requirements Traceability

Requirements Definition

Requirements Elicitation Requirements Analysis Requirements Documentation Requirements Review