Roll No: A014
Name: Varun Gupta
Class: MCA
Semester: II
Date of Assignment: 30-032015
Date of Submission: 15-042015
Marks: 5/5
SQA
Software Quality
Assurance
Presentation by Varun Gupta, Dhaval Bhatt and
Yash Brahamani
1916 Bells Lab introduced Quality Assurance (QA)
and Control function
1940s More Formal Approaches - relied on
Measurement & Continuous Process Improvement
1950s 1960s: Quality was only programmers
headache
Background
1970s: QA Introduced in Military Contract Software
Development
SQA Planned and Systematic patters of actions
SQA is responsibility of Software Engineers, Project
Managers, Customers, Salespeople, and the
individuals within SQA group.
Elements of SQA
Standards
Reviews and Audits
Testing
Elements of
SQA
Error/defect collection and analysis
Change Management
Education
Vendor Management
Security Management
Safety
Risk Management
Standards
Standards may be adopted voluntarily by software
engineering organization or imposed by customer or
other stakeholders.
The job of SQA is to ensure that adopted standards
are indeed followed and all work products conform
them.
Elements of SQA
The IEEE, ISO and other standard organizations have
produced broad array of software engineering
standards and related documents.
Their intent is to uncover errors.
Reviews
and Audits
Audits are performed by SQA personnel with intent of
ensuring that quality guidelines are followed of
engineering work.
For example An audit of the review process might
be conducted to ensure that reviews are being
performed in a manner that will lead to the highest
likelihood of uncovering errors
Elements of SQA
Software Engineers carry a technical reviews for other
software engineers
The job of SQA is to ensure that testing is properly
planned and efficiently conducted so that it has the
highest likelihood of achieving its goal
Elements of SQA
Testing
Software testing is a quality control function, whos
goal is to find errors.
SQA collects and analyzes error and defect data to
better understand how errors are introduced and
what software engineering activities are best suited
to eliminating them.
Elements of SQA
Error/defect
collection
and
analysis
SQA ensures that adequate change management
practices have instituted.
Elements of SQA
Change
Manageme
nt
Change is one of the most disruptive aspects of any
software project. If not properly managed, change can
lead to confusion almost always leads to poor quality.
The SQA organization is key supporter and sponsor of
education programs.
Elements of SQA
Education
Education of software engineers, their managers, and
other stakeholders is key contributor to improvement
in software engineering practices.
There are three types of software:
The job of SQA organization is to ensure that high
quality software results by suggesting specific quality
practices that the vendor should follow or
incorporating quality commands as part of any
contract with external vendor
Elements of SQA
Vendor
Manageme
nt
Off the shelf: Package software which we buy at store.
E.g. Microsoft Office, Adobe Photoshop, etc.
Tailored Shell: Basic existing framework is purchased
and the vendors adds specific capabilities as required
by contract. This is somewhat like buying a stripped
version of car and then having the dealer add a stereo,
sunroof and other extras.
Contracted Software: It is software that is contractually
specified and provided by a third-party developer. In
this case, the contract can also specify the software
quality activities that the vendor must perform and
which the buyer will audit.
SQA ensures that appropriate process and technology
and used to achieve software security.
Elements of SQA
Security
Manageme
nt
With increase in cyber crime and new government
regulations regarding privacy, every software
organization should institute policies that protect data
at all levels, establish firewall protection for web apps
and ensure that software has not been tampered with
internally.
SQA may be responsible for assessing the impact of
software failure and for initiating those steps required
to reduce risk.
Elements of SQA
Safety
Since software is always a pivotal component of
human-rated systems (e.g. automotive or aircraft
apps), the impacts of hidden defects can be
disastrous.
SQA organization ensures that risk management
activities are properly conducted and that risk related
contingency plans have been established.
Elements of SQA
Risk
Manageme
nt
SQA
Tasks/Activities
SQA Tasks
The commission of SQA Group is to assist the
software team in achieving high quality end product.
The Software Engineering Institute recommends a set
of SQA actions that address quality planning,
oversight, record keeping, analysis and reporting.
Prepares an SQA plan for a project:
SQA Tasks
The plan is developed as part of project planning and is
reviewed by all stake holders.
Quality Assurance actions performed by the software
engineering team and the SQA group are governed by
plan.
The plan identifies evaluations to be performed, audits
and reviews to be conducted, standards that are
applicable to the project, procedures for error reporting
and tracking, work products that are produced by the
SQA group, and feedback that will provided to the
software team
Participates in the development of the projects
software process description
SQA Tasks
The software team selects a process for the work to be
performed.
The SQA group reviews the process description for
compliance with organizational policy, internal software
standards, externally imposed standards (e.g. ISO9001), and other parts of the software project plan
Reviews software engineering activities to
verify compliance with defined software
process: The SQA group identifies documents, and
tracks the 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
software process: The SQA group reviews selected
work products, identifies, documents, and tracks
deviations; verifies that corrections have been made;
and periodically reports the results of its work to
project manager.
SQA 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 non compliance and reports to
senior management: Noncompliance items are
tracked until they are resolved.
SQA Goals
Requirements quality
SQA Goals
Design Quality
Code Quality
Quality Control Effectiveness
SQA must ensure that the software team has properly
reviewed the requirements model to achieve a high
level of quality.
SQA Goals
Requiremen
ts quality
The correctness, completeness and consistency of the
requirements model will have a strong influence on
the quality of all products that follow.
SQA looks for attributes of the design that are
indicators of quality.
SQA Goals
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 conforms to
requirements.
SQA should isolate those attributes that allow a
reasonable analysis of the quality of code.
SQA Goals
Code
Quality
Source code and related work products (e.g. other
descriptive information) must conforms to local
coding standards and exhibit characteristics that will
facilitate maintainability.
A software team should apply limited resources in a
way that has the highest likelihood of achieving a
high quality result.
SQA analyzes the allocation of resources for reviews
and testing to assess weather they are being
allocated in the most cost effective manner.
SQA Goals
Quality
Control
Effectivenes
s
SE Pressmen 7th Edition
References
[Link]
[Link]
_assurance_activities_software_project_management
&b=18&c=19
Thanks!