College of Engineering
Department of Computer Engineering
SWE 401 – Software Quality Assurance
Dr. Khaled Almakadmeh
1
Chapter 4
Software Quality Plan
2
Introduction
(1/2)
The software quality plan (SQP) deals with the activities and tasks
the SQA function is required to carry out over the next year, and
enables estimating resources required to perform the SQP.
The planners of resource estimates refer to professional knowledge
and experience requirements of the various activities and tasks and
classify the staff requirement accordingly.
The SQA function may be appropriately staffed to carry out the SQP
in the coming year.
3
Introduction
(2/2)
The project plan deals with the activities and tasks to be performed
by project team throughout project’s life cycle during development
and operation stages.
The most important elements of project plan are activities schedule
and the resource estimates for each activity.
Each project plan needs to be coordinated with the relevant parts of
the SQP. Both plans are updated according to project progress and
when change requests are performed.
4
Software Quality Plan: Background
A comprehensive outline of SQP elements is presented in IEEE Std.
730-2014. The SQP activities presented in this course are based
upon this standard. The activity elements are classified into three
groups:
o Product assurance activity elements
o Process assurance activity elements
o SQA process implementation activity elements
The contents of each section is presented and includes general
content that applies to all projects and specific content that applies
to a specific software project.
5
Software Quality Plan: Elements
Depending on the project, all or some of the following elements,
comprise the elements of a project quality plan:
A. Quality goals
B. Procedures and work instructions
C. Criteria for ending each project stage
D. Project life cycle SQA activities
E. Configuration management tools and procedures
F. Monitoring measurement activities
G. Person(s) responsible for approving project outputs
H. Training in use of new development tools
I. Change management
6
Software Quality Plan
A. Quality Goals (1/3)
The term “quality goals” refers to the developed software system’s
substantive quality requirements.
Quantitative measures are usually preferred to qualitative measures
when choosing quality goals because they provide the developer
with more objective assessments of software performance during
the development process and system testing.
The quality goals should reflect major acceptance criteria indicated
in the customer’s requirement document. Quality goals serve as
measures of the successful achievement of the customer’s quality
requirements.
7
Software Quality Plan
A. Quality Goals (2/3)
A software system to serve the help desk operations of an electrical
appliance manufacturer is to be developed. The help desk system
(HDS) is intended to operate for 100 hours per week.
Software quality assurance team was requested to prepare a list of
quantitative quality goals to certain qualitative requirements.
8
Software Quality Plan
A. Quality Goals (3/3)
9
Software Quality Plan
B. Procedures and Work Instructions
The relevant procedures and work instructions should be defined
according to the combined quality assurance and development
considerations.
Procedures are details of how to achieve quality general to the
whole organization. Work instruction are details of how to achieve
quality related to a specific project.
10
Software Quality Plan
C. Criteria for Ending Each Project Stage
It is essential for the regular flow of development process. The
criteria should be accepted by the customer and developer. The
body that applies the criterion, that is, the technical review team, the
head of the testing department.
Defining the criteria, that is no major design defect that requires
redesigning of the system defect that require redesigning of the
system feature was identified; number of code defects in regression
test run is one or less.
11
Software Quality Plan
D. Project Life Cycle SQA Activities (1/3)
A list of all SDLC activities and deliverables to be reviewed to
ensure that quality meets requirements:
▪ Planned technical review activities
▪ Planned software tests
Example includes development plan review, software requirements
specification review, preliminary design review, detailed design
review, database design review, test plan review, software test
procedure review, operator manual review, installation plan review,
training objectives review, code inspections…etc.
12
Software Quality Plan
D. Project Life Cycle SQA Activities (2/3)
The planned technical review activities includes the following
elements:
▪ Scope of review activity
▪ Type of review activity
▪ Schedule of review activities (as defined by its priority and the
succeeding activities of the project process)
▪ Specific procedures to be applied
▪ Responsibility for carrying out the review activity
13
Software Quality Plan
D. Project Life Cycle SQA Activities (3/3)
The quality plan should provide a complete list of planned software
tests, with the following designated for each test:
o Unit, integration or the complete system to be tested
o Type of testing activities to be carried out
o Planned test schedule
o Specific procedures to be applied
o Responsibility for carrying out the test
A complete list of acceptance tests planned for externally developed
software should be provided within the quality plan. The acceptance
tests for externally developed software should parallel those used
for internally developed software tests.
14
Software Quality Plan
Elements (E, F, G)
E. Configuration Management Tools & Procedures: quality plan
should specify configuration management tools and procedures,
including those change-control procedures meant to be applied
throughout the project.
F. Monitoring Measurement Activities: planners should define
software quality metrics for quality, productivity, schedule keeping,
and so forth. The responsibility for performing the measurements
and for monitoring of measurements should be determined.
G. Person(s) responsible for approving project outputs: the
person(s) authorized to approve each project product, documents,
and code files, especially deliverable items should be determined.
15
Software Quality Plan
Elements (H, I)
H. Training in usage of new development tools: the need to apply
new development tools for a given development activity creates a
training requirement. Timing the training schedule before relevant
development activity begins is crucial. The planner should find out
which of the scheduled development teams needs training.
I. Change management: change management procedures to be
applied throughout the project should be defined and agreed with
the customer.
16