Software Quality Engineering
BS(SE)-VI
Dr. Assad Abbas
Department of Computer Science
2
9/22/20
Topics
n
QA activities in software processes
n
The SQA System - An Architecture View
5
SQA system component classes
g Pre-project quality components
g Project life cycle quality components
g Infrastructure error preventive and improvement components g Software quality management components
Quality Assurance Activities in Software Processes
n
QA activities form an integral part of the overall software
process
QA in software development and maintenance processes
n
QA in maintenance process focuses on defect handling
5 to make sure that each problem reported by customers from field operations is logged, analyzed, and resolved, and a complete
tracking record is kept so that we can learn from past problems for future quality improvement
n
Most of the core QA activities, including defect prevention and
defect reduction, are performed during software development
instead of during in-field software support after product
4
9/22/20
QA in the Waterfall Process
n
Development activities are typically grouped into
Quality Assurance Activities in Software Processes
n
Error source removal, a primary method of defect
preventions, is closely associated with these early
development phases
n
Although some faults could be injected into the software
systems during testing and other late development phases,
the vast majority of faults are injected in the early
development phases, particularly in detailed design and
implementation phases.
6
9/22/20
The components of the software quality assurance system–
overview
The SQA System - An Architecture View
n Objective: To provide an insight to the Software Quality Assurance (SQA)
System and the components it uses to ensure an acceptable level of quality is met.
n An SQA system always combines a wide range of SQA components, all of
which are employed to challenge the multitude of sources of software errors and to achieve an acceptable level of software quality
n SQA has many definitions. However, most people agree that it can be defined
as:
5 “A planned and systematic approach to the evaluation of the quality of and
adherence to the software product standards, processes and procedures” [1]
n Another formal definition is known as:
5 “To assure that the standards, processes, and procedures are appropriate for
the project and are correctly implemented.” [2]
8
9/22/20
The SQA System - An Architecture View
n
SQA is a way of
monitoring
the software engineering process to
ensure that the standards and procedures are met.
n
Clear definitions of the
standards
and
procedures
are vital as
SQA relies upon these to determine the quality of the software
and to measure the project compliance.
Software Quality Assurance Components
n The SQA Components that are used by the SQA System can be
classified into six different categories; each of which is necessary to
guarantee maximum quality and to ensure the compliance with the standards and procedures.
5 Pre-project quality components
5 Project life cycle quality components
5 Infrastructure error preventive and improvement components 5 Software quality management components
5 Standardization, certification and SQA assessment components 5 Organizing for SQA – the human components
n “The environment in which software development and maintenance is
undertaken, directly influences the SQA components. Alongside this
various errors will also affect the SQA components; therefore it is usually necessary to include all of the components.” [3]
10
9/22/20
1. Pre-Project Components
n
The Pre-Project component
ensures
that the project has been
adequately defined
ensuring that the
resources available
,
budget
and so forth have not been
misinterpreted
by the client
or the organisation.
n
This improves the preliminary steps taken prior to
initiating
work
on the project itself, thus leading to
fewer errors
later in
the development phase.
n
There are two key concepts to this component:
5
Contract review
12
9/22/20
1. Pre-Project Components
n
1.1 Contract Review
5
The Contract Review begins the
negotiations
of a
contract between the company and the client. One of
the key focuses is on the
areas or points
that could go
wrong, known as development risks.
5
The contract ensures that
commitments
have been
documented including an
agreement upon the functional
specification, budget and the schedule
.
5
The contract review activities must include
g
a detailed examination of the
project proposal draft
and
1. Pre-Project Components
5
Specifically, contract review activities include:
g Clarification of the customer’s requirements
g Review of the project’s schedule and resource requirement estimates
g Evaluation of the professional staff’s capacity to carry out the proposed project
g Evaluation of the customer’s capacity to fulfill his/her obligations g Evaluation of development risks.
5
A
checklist
is often used by reviewers to make this stage
easier and it is expected that the review stage will occur
more than once.
5
The outcome from this stage
14
9/22/20
1. Pre-Project Components
n
1.2 Development and Quality Plans
5
The development and Quality Plans stage occurs once an
agreement
has been made and a
software development
contract
has been signed.
5
The development plan focuses on several specific elements,
some of which are:
g The products of the project
g Project interfaces-- detailing what, if any, interfaces the product will have with existing software packages.
1. Pre-Project Components
5
The quality plan has four main elements; however, how
many of these are used is dependent upon the project.
g Quality Goals refers to the goals of the product, it is always better to have more goals as it is easier to see how well the system
performs.
g Planned review activities are a listing of all the planned reviews such as Design Reviews (DR) and Code Inspections.
g Planned software tests details all the software tests that are to be performed with details such as the unit, integration or complete system to be tested.
g Finally, planned acceptance tests for externally developed software; this is only necessary for products not developed in-house.
5
Approval of the two plans is
necessary
and is
approved or
rejected
according to the procedures within the
16
9/22/20
2. Project Lifecycle Activities and Assessment
n This component has two main stages:
5 The Development Lifecycle stage which aims to detect design and programming errors.
5 The Operation-Maintenance stage focuses on maintenance tasks that improve functionality.
n When developing the product there are a number of activities that take
place:
5 Reviews, such as formal design reviews and peer reviews 5 expert opinions,
5 software testing,
n The SQA components used during the operation–maintenance phase
3. Infrastructure Components for Error Prevention and
Improvement
n The main goal of this component is to reduce the number of errors in the
system and improve productivity that can be achieved through the use of a number of sub-components:
1. Procedures and Work Instructions
5 A procedure describes how the process, a specific development activity, is
performed whilst a work instruction is more specific and provides detailed directions for the use of methods.
5 Having a detailed guideline ensures that all members know how to achieve
some goal.
n “Work instructions and procedures contribute to the correct and effective performance of established technologies and routines” [4]
18
9/22/20
3. Infrastructure Components for Error Prevention and
Improvement
2. Supporting Quality Devices
5 Used to maximise efficiency and quality.
5 A quality device could be a template or a checklist which saves time as the document will be complete and will not have to be developed, from scratch each time.
5 Using Quality Devices offers an improved form of communication and
provides standardisation within the organisation as each document will be of the same nature.
3. Staff Training, Instruction and Certification
5 Staff training is a vital element to avoiding errors throughout the development of the system.
5 Having well trained professional staff enables efficient and high quality performance from each member.
3. Infrastructure Components for Error Prevention and
Improvement
4.
Preventive and Corrective Actions
5
Studying
existing data
for similar faults and failures
can enable future ones to be solved easily either by
correcting it once it has occurred or by preventing it
from happening.
5
The data should be
recorded
in design review reports,
software test reports or customer complaints.
20
9/22/20
3. Infrastructure Components for Error Prevention and
Improvement …
5. Configuration Management
5 This deals with the dangers of version releases.
5 With intense work focusing on new versions and new software
releases dangers arise when different members carry out the same tasks.
5 This can lead to misidentification or the versions or releases or loss of records or development activities.
5 Configuration management introduces procedures that are used to
control the change process and monitor it.
6. Documentation Control
5 Document Control is necessary to ensure long term availability of controlled documents.
5 Controlled documents are maintained and updated.
4. Software Quality Management
n Quality management not only focuses on product quality but also the means
in which it can be achieved.
n Some of the components used to support the managerial control of software
development projects are:
5 Project Progress Control, Software Quality Metrics and Software Quality costs.
n The aim of Project Progress Control is simply to monitor the progress of the
project to ensure that it does not deviate from its initial plans.
5 It focuses particularly on monitoring resource usages, schedules (whether they are being met), risk management activities and the budget.
n A Software Quality Metric is a measurement that is used to evaluate
software quality in a system.
5 The measures can apply to functional quality, productivity and the organization side of the project.
n The Software Quality Costs are the costs that incur throughout the entire
project; the total cost is calculated from the costs of control and the costs of failure.
22
9/22/20
5. SQA Standards, System Certification, and Assessment
Components
n
This component focuses on using
external tools
to
achieve the, in-house, goals of software quality
assurance. There are three main objectives:
5
Utilization of
international professional
knowledge.
5
Improvement of
coordination
with other organizations
quality systems.
5
Objective
professional evaluation
and
measurement
of the
achievements of the organizations quality systems.
n
The outcome of this component is simply to use external
6. Organizing for SQA – The Human Components
n SQA cannot be directly applied to an organization; instead an
organizational base is required.
n The organizational base is collectively made up of the SQA Unit, SQA
trustees, committees and forums along with the continuous support of the management.
n The SQA Unit focuses purely on Software Quality Assurance, thus
ensuring that all standards, procedures and components are efficiently and correctly in use. This is, in part, done through the audits and quality
programs that the SQA Unit is required to produce.
n Management must ensure that all staff are aware of the quality policy, they
are required to define sufficient resources and accurately assign an adequate number of staff to the tasks.
n The SQA organizational base has three main objectives:
1. To aid the development and implementation of the SQA system.
24
9/22/20
Final Words
n The SQA System is a vital element in any software development project.
n With the difficulties of invisible defects it provides a useful mechanism to
reduce the number of errors and prevent further errors in future projects.
09/22/2020
Software Quality Engineering (CSE302)
References
1.
Software Quality Assurance: from Theory to
Implementation. Daniel Galin, Chapter 4, Pearson
Education, 2004.
2.
R A Khan, K Mustafa and SI Ahson (2006) Software
Quality; Concepts and Practices, Alpha Science Intl
ltd, England.
3.
http://cs.nott.ac.uk/~cah/G53QAT/G53QAT.html
4.
http://casd.csie.ncku.edu.tw/sq/ch04.ppt
5.
http://kur2003.if.itb.ac.id/file/SW%20Quality
%20Components.pdf
6.