quality assurance in sdlc

25
Quality Assurance in Software Development Lifecycle Adil Ahmed Mughal Concepts, Practices, and Challenges

Upload: adil-mughal

Post on 07-Dec-2014

16.657 views

Category:

Technology


3 download

DESCRIPTION

Quality Assurance in Software Development Life-cycle (SDLC)

TRANSCRIPT

Page 1: Quality Assurance in SDLC

Quality Assurance in

Software Development Lifecycle

Adil Ahmed Mughal

Concepts, Practices, and Challenges

Page 2: Quality Assurance in SDLC

About This Session

• What you must already know?

– Basic concepts of Software Engineering

• What you will learn today?

– Understanding commonly used concepts

– How do we use theory in practice

– What are the challenges we faced in industry

Page 3: Quality Assurance in SDLC

About This Session

• What you must already know?

– Basic concepts of Software Engineering

• What you will learn today?

– Understanding commonly used concepts

– How do we use theory in practice

– What are the challenges we faced in industry

This is not a single side talk, its discussion!

Promise me that you will raise hand when you have anything to say?

Page 4: Quality Assurance in SDLC

About Speaker

Affiliations:

Contact Information:

@adilamughal

http://www.adilmughal.com

[email protected]

Adil Ahmed Mughal

Page 5: Quality Assurance in SDLC

Concepts & Terminologies

• What is Quality?

– Conformances to requirements

– Fitness for use

– performs these specified functions correctly over repeated use or over a long period of time

Page 6: Quality Assurance in SDLC

Concepts & Terminologies

• Purpose of QA

– To ensure software quality through the related set of (validation and verification) activities

Page 7: Quality Assurance in SDLC

Concepts & Terminologies

Quality Assurance != Testing

Page 8: Quality Assurance in SDLC

Concepts & Terminologies

• Software Development Lifecycle (SDLC)

Planning

Analysis

Design

Development

Testing

Maintenance

Page 9: Quality Assurance in SDLC

Concepts & Terminologies

• SDLC & Quality Assurance

Quality Assurance (Umbrella)

Quality Planning

Execution (Verification and Validation)

Measurement and Analysis

Planning

Analysis

Design

Development

Testing

Maintenance

Page 10: Quality Assurance in SDLC

Concepts & Terminologies

Quality Assurance > Testing

Page 11: Quality Assurance in SDLC

Concepts & Terminologies

Functional & Non-Functional Testing

Page 12: Quality Assurance in SDLC

Concepts & Terminologies

Functional

Integrating Testing

System Testing

Regression Testing

API Testing

GUI Validation Testing

Documentation Review

Non-Functional

Installation Interoperability

Compatibility Usability

Globalization Security

Page 13: Quality Assurance in SDLC

Concepts & Terminologies

Error, Fault, Failure and Defect

Page 14: Quality Assurance in SDLC

Concepts & Terminologies

Error

• Missing/Incorrect Human action

Fault

• Incorrect step in computer program

Failure

• Inability of a system

• Behavioral deviation

Collectively referred as Defect

Page 15: Quality Assurance in SDLC

Concepts & Terminologies

Verification and Validation?

Page 16: Quality Assurance in SDLC

Concepts & Terminologies

Verification

• Verification evaluates documents, plans, code, requirements, and specifications

• For example,

• Inconsistent Requirements

• Design Walkthroughs

• Code Inspections

Validation

• Validation evaluates the product itself.

• Involves the execution of tests designed to cover each of the specific system requirements

Page 17: Quality Assurance in SDLC

Concepts & Terminologies

Verification and Validation?

Verification

• Verification evaluates documents, plans, code, requirements, and specifications

• For example,

• Inconsistent Requirements

• Design Walkthroughs

• Code Inspections

Validation

• Validation evaluates the product itself.

• Involves the execution of tests designed to cover each of the specific system requirements

Page 18: Quality Assurance in SDLC

Practices

• So how it is done in Industry?

• Create a QA plan/test strategy Planning

• Specification Review Analysis

Design

• Develop test cases for testing (validation) Development

• Test cases execution on developed software and Integration testing Testing

• Build validation/Shipment assurance Deployment

Page 19: Quality Assurance in SDLC

Practices

• It could be improved like

• Create a QA plan/test strategy

• Review project plan Planning

• Specification Review Analysis

• Analyze design Design

• Develop test cases for testing (validation)

• Code Inspection/Review

• Unit Testing

Development

• Test cases execution on developed software

• Integration testing

• Test Automation (tools)

• Non-Functional Testing

Testing

• Build validation/Shipment assurance Deployment

Page 20: Quality Assurance in SDLC

Challenges

Focus on Functional Testing

Page 21: Quality Assurance in SDLC

Challenges

Relative Cost of Bug Fix

Page 22: Quality Assurance in SDLC

Challenges

Page 23: Quality Assurance in SDLC

Challenges

Quality

Time

Cost Feature

Page 24: Quality Assurance in SDLC

Challenges

Career Path and Opportunities

Myth: Those who are not comfortable with programming takes QA job

Page 25: Quality Assurance in SDLC

Thank You!

@adilamughal

http://www.adilmughal.com

[email protected]

Adil Ahmed Mughal