Sie sind auf Seite 1von 25

Software Quality Assurance

Dr.V.S.R.Krishnaiah

vsrk.iipa@gmail.com

Outline

SQA- Definition

Elements of SQA

SQA Group – Tasks

SQA Goals

Statistical SQA

Important Practices to assure software quality

What is SQA ?

Software Quality Assurance (SQA) is defined as a planned and systematic approach to the evaluation of the quality of and adherence to software product standards, processes, and procedures.

SQA includes the process of assuring that standards and procedures are established and are followed throughout the software life cycle.

SQA encompasses procedures for the effective application of methods and tools, oversight of quality control activities such as Technical Reviews and Software Testing, procedures for change management, procedures for assuring compliance to standards, and measurement and reporting mechanism.

Standards and Procedures

•

Standards are the established criteria to which the software products are compared.

Procedures are the established criteria to which the development processes are compared.

Standards and procedures establish the prescribed methods for developing software.

The SQA role is to ensure their existence and adequacy.

Elements of SQA

Standards

Reviews and Audits

Testing

Error/defect collection and analysis

Change management

Education

Vendor management

Security management

Safety

Risk management

Software Quality Assurance

SQA Process Definition & Standards Formal Technical Reviews Analysis & Test Reporting Planning &
SQA
Process
Definition &
Standards
Formal
Technical
Reviews
Analysis
&
Test
Reporting
Planning
& Review
Measurement

Software Quality Assurance Activities

Product evaluation assures standards are being followed.Software Quality Assurance Activities • Process monitoring ensures that appropriate steps to carry out the process

Process monitoring ensures that appropriate steps to carry out the process are being followed.

Audits are a key technique used to perform product evaluation and process monitoring.

followed. • Audits are a key technique used to perform product evaluation and process monitoring. Dr.V.S.R.Krishnaiah

Dr.V.S.R.Krishnaiah

7

SQA Group - Tasks

Prepares an SQA plan for a project – The plan is developed as

part of project planning and is reviewed by all stakeholders. Quality Assurance actions performed by the software engineering team and the SQA group are governed by the plan.

The plan identifies

evaluations to be performed

audits and reviews to be performed

standards that are applicable to the project

procedures for error reporting and tracking

documents to be produced by the SQA group

amount of feedback to be provided to the software project team

Participates in the development of the project’s software process description.

The SQA group reviews the process description for compliance with organizational policy, internal software standards, externally imposed standards (e.g., ISO-9001), and other parts of the software project plan.

IEEE Standards

IEEE Std 828 – Software configuration, Management Planning

829

– Software test Documentation

830

– Software Requirements Specification

1012

– Software verification & validation

1016

– Software Design Descriptions

1058

–Software Project Management Plans

1059

– IEEE Guide to SW V & V plans

1228

– Software safety Plans

1233

– IEEE Guide for Developing System Requirements

Specifications 1490 – IEEE Guide to the Project management Body of Knowledge 12207 – IEEE Guide for software Life Cycle Processes

SQA Group - Tasks

Reviews software engineering activities to verify compliance with the defined software process.

identifies, documents, and tracks deviations from the process and verifies that corrections have been made.

Audits designated software work products to verify compliance with those defined as part of the software process.

reviews selected work products; identifies, documents, and tracks deviations; verifies that corrections have been made

periodically reports the results of its work to the project manager.

SQA Group - Tasks

Ensures that deviations in software work and work products are documented and handled according to a documented procedure.

(Deviations may be encountered in the project plan, process description, applicable standards, or software engineering work products)

Records any noncompliance and reports to senior management.

Noncompliance items are tracked until they are resolved.

SQA Goals

The SQA tasks are performed to achieve a set of pragmatic goals

Requirements quality. The correctness, completeness, and consistency of the requirements model will have a strong influence on the quality of all work products that follow. To achieve a high level quality, SQA team must ensure that the software team has properly reviewed the requirements model.

Design quality. Every element of the design model should be assessed by the software team to ensure that it exhibits high quality and that the design itself conforms to requirements. SQA looks for attributes of the design that are indicators of quality.

Code quality. Source code and related work products (e.g., other descriptive information) must conform to local coding standards and exhibit characteristics that will facilitate maintainability.

Quality control effectiveness. A software team should apply

limited resources in a way that has the highest likelihood of achieving a high quality result. SQA analyses the allocation of resources for reviews and testing to assess whether they are being allocated in the most effective manner.

Statistical SQA

Statistical SQA Product & Process Collect information on all defects Find the causes of the defects
Product & Process
Product
& Process

Collect information on all defects Find the causes of the defects Move to provide fixes for the process

causes of the defects Move to provide fixes for the process measurement an understanding of how
causes of the defects Move to provide fixes for the process measurement an understanding of how

measurement

an understanding of how

to improve quality

Statistical SQA

Information about software errors and defects is collected and categorized.

An attempt is made to trace each error and defect to its underlying cause (e.g., non-conformance to specifications, design error, violation of standards, poor communication with the customer).

Using the Pareto principle (80 percent of the defects can be traced to 20 percent of all possible causes), isolate the 20 percent (the vital few).

Once the vital few causes have been identified, move to correct the problems that have caused the errors and defects.

ISO 9001:2000 Standard

ISO 9001:2000 is the quality assurance standard that applies to software engineering.

The standard contains 20 requirements that must be present for an effective quality assurance system.

The requirements delineated by ISO 9001:2000 address topics such as management responsibility, quality system, contract review, design control, document and data control, product identification and traceability, process control, inspection and testing, corrective and preventive action, control of quality records, internal quality audits, training, servicing, and statistical techniques.

Important Practices to assure

software quality : SQA activities in SDLC

SQA during Software Concept and Initiation Phase

•

SQA should be involved in both writing and reviewing the Management Plan in order to assure that the processes, procedures, and standards identified in the plan are appropriate, clear, specific, and auditable.

During this phase, SQA also provides the QA section of the Management Plan.

SQA during Software Requirement Phase

During the software requirements phase, SQA assures that software requirements are complete, testable, and properly expressed as functional, performance, and interface requirements.

SQA during Software Architectural (Preliminary) Design Phase

Assuring adherence to approved design standards as designated in the Management Plan

Assuring all software requirements are allocated to software components.

Assuring the approved design is placed under configuration management.

SQA during Software Detailed Design Phase

•

Assuring that approved design standards are followed.

Assuring that allocated modules are included in the detailed design.

Assuring that results of design inspections are included in the design.

SQA during Implementation Phase

Results of coding and design activities including the schedule contained in the Software Development Plan.

Status of all deliverable items.

Configuration management activities and the software development library.

Nonconformance reporting and corrective action system.

SQA during Integration and Test Phase

Assuring readiness for testing of all deliverable items.

Assuring that all tests are run according to test plans and procedures and that any nonconformance is reported and resolved.

Assuring that test reports are complete and correct.

Certifying that testing is complete and software and documentation are ready for delivery.

SQA During Software Acceptance and Delivery Phase

As a minimum, SQA activities during the software acceptance and delivery phase include assuring the performance of a final configuration audit to demonstrate that all deliverable items are ready for delivery.

of a final configuration audit to demonstrate that all deliverable items are ready for delivery. Dr.V.S.R.Krishnaiah

Other Assurance Activities

Configuration Management MonitoringOther Assurance Activities • Verification and Validation Monitoring • Formal Test Monitoring Techniques and Tools

Verification and Validation Monitoring

Formal Test Monitoring

Techniques and Tools

SQA should evaluate its needs for assurance tools versus those available off-the-shelf for applicability to the specific project, and must develop the others it requires. Useful tools might include audit and inspection checklists and automatic code standards analyzers

THANK YOU !!!