Anda di halaman 1dari 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

Dr.V.S.R.Krishnaiah

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.
Dr.V.S.R.Krishnaiah

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.
Dr.V.S.R.Krishnaiah

Elements of SQA

Standards
Reviews and Audits
Testing
Error/defect collection and analysis
Change management
Education
Vendor management
Security management
Safety
Risk management
Dr.V.S.R.Krishnaiah

Software Quality Assurance


SQA

Process
Definition &
Standards

Formal
Technical
Reviews

Analysis
&
Reporting
Measurement

Dr.V.S.R.Krishnaiah

Test
Planning
& Review

Software Quality Assurance Activities


Product evaluation assures standards are
being followed.
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.
Dr.V.S.R.Krishnaiah

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 projects 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.
Dr.V.S.R.Krishnaiah

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

Dr.V.S.R.Krishnaiah

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.
Dr.V.S.R.Krishnaiah

10

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.

Dr.V.S.R.Krishnaiah

11

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.
Dr.V.S.R.Krishnaiah

12

Statistical SQA
Product
& Process

Collect information on all defects


Find the causes of the defects
Move to provide fixes for the process

measurement
... an understanding of how
to improve quality ...

Dr.V.S.R.Krishnaiah

13

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.
Dr.V.S.R.Krishnaiah

14

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.
Dr.V.S.R.Krishnaiah

15

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.
Dr.V.S.R.Krishnaiah

17

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.

Dr.V.S.R.Krishnaiah

18

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.

Dr.V.S.R.Krishnaiah

19

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.

Dr.V.S.R.Krishnaiah

20

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.
Dr.V.S.R.Krishnaiah

21

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.
Dr.V.S.R.Krishnaiah

22

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.

Dr.V.S.R.Krishnaiah

23

Other Assurance Activities


Configuration Management Monitoring
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
Dr.V.S.R.Krishnaiah

24

THANK YOU !!!

Dr.V.S.R.Krishnaiah

25

Anda mungkin juga menyukai