software quality assurance. 2 what is quality? popular views about quality: – quality related to...

42
Software Quality Assurance

Upload: rachael-boucher

Post on 16-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Software Quality Assurance

2

What is Quality?

Popular Views about Quality:– quality related to luxury, class and taste– quality is related to quality of life.– I know about quality when I see the product.

Professional Views about Quality:– Conformance to requirements.– Fitness for use.

3

Two aspects of Software Quality

“q” – Intrinsic product quality, often limited to defect rate and reliability.

“Q” – Customer Satisfaction, often includes product quality and process quality.

4

Role of Customer

Customers don’t buy products, they buy assurances that their expectations with the products would met.

You also, can only sell assurances – in other words, Quality.

Customer is in absolute position to judge the quality.

Software Quality

Software quality is defined as the quality that ensures customer satisfaction by offering all the customer deliverables on performance , standards and ease of operations.

6

Quality Assurance

Quality assurance is a system of activities designed to ensure production that meets pre-established requirements and standards.

Software Quality Assurance

What is “quality”? IEEE Glossary: Degree to which a system, component, or

process meets (1) specified requirements, and (2) customer or user needs or expectations

ISO: the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs

Quality Control

What is quality control -- the series of inspections, reviews, and test used throughout the develop cycle of a software product

Quality control includes a feedback loop to the process.

Objective ---> minimize the produced defects, increase the product quality

Key concept of quality control:--> compare the work products with the specified and

measurable standards

Cost of Quality

Cost of quality -->Quality is produced at cost. The cost of quality includes all costs incurred in the process of creation , generation , control and maintenance of quality or perform quality related work

Quality cost includes: - Prevention cost:

- quality planning- formal technical reviews- testing equipment- training to personnel

What is Software Quality Assurance (SQA)?

“Set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use”

What is SQA?

Monitoring the processes– Provides management with objective feedback regarding

process compliance to approved plans, procedures, standards, and analysis

What is SQA?

Monitoring the products– Focus on the quality of product within each phase of

the SDLC e.g., requirements, test plan, architecture, etc.

– Objective: identify and remove defects throughout the lifecycle, as early as possible

Quality Standards Organizations

Quality assurance systems help organization ensure that their deliverables meet customer requirements. They encompass a wide variety of tasks during a product’s lifecycle, which includes planning,controlling,testing, and developing the quality process.

There are various quality assurance standards , which ensure that the product developed is effective and reusable.

Some of the significant quality standards are described below:

Standard Definition

“Standard is a published specification that establishes a common language, and contains a technical specification or other precise criteria and is designed to be used consistently, as a rule, a guideline, or a definition”.

15

Objectives of Software Quality Assurance

Only Quality Control (testing) is not enough:– What would you do if your software does not pass

the QC test?– QC is a reactive approach, not proactive one.

Quality Assurance includes Proactive as well as Reactive approaches.

16

Measuring Software Quality

Usually recognized in the form of bugs or defects.– Defect rate (defect/KLOC or defects/FP)– Reliability (Failure free operation)

IBM monitors CUPRIMDSO – Capability (Functionality), Usability, Performance, Reliability, Installability, Maintainability, Documentation, Service, & Overall.

HP monitors FURPS – Functionality, Usability, Reliability, Performance & Service.

17

Purpose of SQA Activities

Practically, zero defect product is not possible to achieve.

The purpose of quality assurance practices are to minimize the number of defects.

How much efforts are needed to minimize the number of defects?– are you developing a customized project or product?– how critical your application is?

18

Developer to Tester Ratio

There is no standard developer to tester ratio in IT industry.

However, industry does have some norms:– For customized projects, ratio must be at least 3:1– For products, ratio can be as high as 1:3

19

Organizational Positioning of SQA (Observed)

CEOCEO

DevelopmentManager

DevelopmentManager

HR Manager

HR Manager

Admin Manager

Admin Manager

SQAManager

SQAManager

SCMManager

SCMManager

Project Manager 1

Project Manager 1

ProjectManager 2

ProjectManager 2

20

Organizational Positioning of SQA (Recommended)

CEOCEO

DevelopmentManager

DevelopmentManager

SQA Manager

SQA Manager

SCM Manager

SCM Manager

SupportManager

SupportManager

AdminManager

AdminManager

Project Manager 1

Project Manager 1

ProjectManager 2

ProjectManager 2

21

Top Management Support to SQA Department

Proper staffing and hiring Separate budget for payroll and running expenses Separate capital budget Test facilities and environment Trust and confidence Authority

• Don’t force to close defects• Don’t force to sign acceptance• Act as an arbitrator for the conflicts between QA/Dev.

22

SQA Responsibilities for a Project

Review of documents developed by development team.

Track the compliance with standards. Development of QA Plan (test plan + test cases). Implementation of test cases (Black Box or Glass

Box Testing). Management of bug repository. Participating in code and design reviews.

23

SQA Responsibilities for a Project (cont...)

Requirements CollectionRequirements Collection

AnalysisAnalysis

Architecture & DesignArchitecture & Design

DevelopmentDevelopment

TestingTesting

DeploymentDeployment

Requirement SpecsRequirement Specs

Functional SpecsFunctional Specs

Design SpecsDesign Specs

Code & ExecutablesCode & Executables

Deployment DocsDeployment Docs

Typical SDLC phases and relevant Artifacts

ReviewsReviews

ReviewsReviews

ReviewsReviews

Implement Test Cases

Implement Test Cases

ReviewReview

SQA Responsibilities

24

SQA Artifacts for a Project

Requirement SpecsRequirement Specs

Functional SpecsFunctional Specs

Design SpecsDesign Specs

Code & ExecutablesCode & Executables

Deployment DocsDeployment Docs

Dev. Artifacts SQA Artifacts

RS ReviewsRS Reviews

FS ReviewsFS Reviews

DS ReviewsDS Reviews

Bug ReportsBug Reports

DD ReviewsDD Reviews

Test PlanTest Plan

Test CasesTest Cases

More Test CasesMore Test Cases

SQA Artifacts (more)

25

Communication Between SQA and Development

DevelopmentDevelopment SCMSCM SQASQA

DevelopmentDevelopment SQASQA

26

Responsibilities of Testing Team

Responsibilities of a tester• Design test cases• Write test scripts• Implement test cases

Responsibility of SQA manager• Give 25% time for reviewing test cases written• Lead review meetings• Resolve conflicts

27

Other Responsibilities of SQA

Participate in product and process audits. Initiate and participate in developing

standards. Develop SQA’s own standards, processes

and checklists.

28

An Effective Testing Team

SQA Team should be composed of:– Members with different background– Members from different domains– Technical gurus and user representatives– Members with more analytical abilities.

29

Characteristics of Good SQA Engineer

Experience & Education as a programmer or analyst. A thick skin. Good sense of humor. Tolerance for disorder. Firmness. Evidence oriented. Logical. Honest. Self sufficient.

History of ISO

ISO, founded in 1947, is a worldwide federation of national standards bodies from some 100 countries, with one standards body representing each member country.

Member organizations collaborate in the development and promotion of international standards.

Overview

ISO (International Organization for Standardization) is the world's largest developer and publisher of International Standards.

ISO is a network of the national standards institutes of over 160 countries

Scope

ISO has more than 16500 International Standards and other types of normative documents

ISO's work program ranges from standards for traditional activities, such as agriculture and construction, through mechanical engineering, manufacturing and distribution etc.

Description about member countries of ISO

ISO has three membership categories: Member bodies:

Be the most representative standards body in each country

These are the only members of ISO that have voting rights.

Description about member countries of ISO (Count.)

Correspondent members: These countries do not follow ISO standards and they also do not have their own standards organizations e.g. Afghanistan.

Subscriber members: Countries having small economies. They pay reduced membership fees, but can follow the development of standards.

History

The Institute of Electrical and Electronics Engineers or IEEE (read eye-triple-e) is an international non-profit, professional organization for the advancement of technology related to electricity. It has the most members of any technical professional organization in the world, with more than 370,000 members in around 160 countries.

History Cont.The IEEE formed in 1963 with the merger of

AIEE (American Institute of Electrical Engineers, formed in 1884),

IRE (Institute of Radio Engineers, formed in 1912).

IEEE From its earliest origins, has Advanced the theory and application of electrot echnology and

allied sciences Served as a catalyst for technological innovation; and supported the needs of its members through a wide variety

of programs and services.

History Cont.

AIEE, IRE Merge to form IEEE

In 1961, the leadership of both the IRE and the AIEE sought to resolve these difficulties through consolidation. A merger plan was formulated and approved, becoming effective on 1 January 1963.

Microsoft Solution Framework (MSF)

MSF is a flexible, interrelated series of models that can guide an organization through assembling the resources, people, and techniques needed to bring technology infrastructure in line with business objectives.

MSF Models

MSF consists of two models

1. MSF two Models

2. MSF Process/Governance Models

1. MSF Team Model

This describes the role of various team members in a software development project.

The team model roles are: Product Management: Mainly deals with

customers and define project requirements, also ensures customer expectations are met.

Program Management: Maintains project development and delivery to the customer

1. MSF Team Model

Architecture: Responsible for solution design, making sure the solution design optimally satisfies all needs and expectations

Development: Develops according to the specifications.

Test: Tests and assures product quality Release/Operations: Ensures smooth deployment

and operations of the software User Experience: Supports issues of the users.

Process Model:

Process model defined order of activities related to the project

and represent life cycle of project. There are four phases in the process model: 1. Envisioning 2. Planning 3. Developing 4. Stabilizing