l 04 z quality engineering
TRANSCRIPT
-
8/9/2019 L 04 Z Quality Engineering
1/25
Software Quality Assurance and Testing
(Section A)
Lecture 04
Software Quality Engineering
-
8/9/2019 L 04 Z Quality Engineering
2/25
Software Quality Engineering
Software Quality Engineering (SQE)
SQE Activities (described in the previous two lectures
) SQE in Software Process
-
8/9/2019 L 04 Z Quality Engineering
3/25
Software Quality Engineering Contd
What is Software Quality Engineering (SQE)?
Software Quality Engineering (SQE) is a process that
evaluates, assesses, and improves the quality of
software.
Typical Software Quality Attributes:
Reliability: ability of a program to achieve precisely its
intended mission
Robustness: ability of a program to react appropriately to
abnormal conditions
Efficiency: ability of a software to place as few demands as
possible on hardware resources, such as processor time,
memory space occupied, or network bandwidth, to achieve a
given task.
-
8/9/2019 L 04 Z Quality Engineering
4/25
Software Quality Engineering Contd
Typical Software Quality Attributes:
Maintainability: effort required modifying, updating, evolving,
or repairing a program during its operation.
Portability: effort required to transfer a program from one
computing environment or platform to another.
Reusability: ability and effort required to reuse a program or
part of a program in other applications.
Interoperability: effort required interconnecting or relating
two different applications, running possibly in different
computing environments.
Usability: effort required to learn, operate and use a program
-
8/9/2019 L 04 Z Quality Engineering
5/25
-
8/9/2019 L 04 Z Quality Engineering
6/25
SQE Activities
QA Activities need additional support: Planning and goal setting
Management:
When to start and stop?
Adjustment and improvement, etc Assessment
Assessment of quality/reliability, etc:
Data collection
Analysis and modeling
Providing feedback for management
QA + above Software Quality Engineering (SQE)
-
8/9/2019 L 04 Z Quality Engineering
7/25
SQE Process
Different customers have different quality expectationsunder different market environments.
We need to manage these quality expectations as an engineering
problem by meeting these expectations through the selection and
execution of appropriate Quality Assurance (QA) activities while
meeting project constraints such as cost and project schedule,project risk, etc.
Quality management provides an independent check on the
software development process.
-
8/9/2019 L 04 Z Quality Engineering
8/25
SQE Process
Quality Engineering Process consist of: Pre-QA Activity
In-QA Activity / QA activity
Post-QA Activity / Analysis and Feedback
-
8/9/2019 L 04 Z Quality Engineering
9/25
SQE Process
Figure: Software quality engineering process
-
8/9/2019 L 04 Z Quality Engineering
10/25
SQE Process Pre-QA Activity
Pre-QA Activity Quality Planning
Quality planning should begin at an early stage in the
software process.
The result of the quality planning process is theproject quality plan.
These activities should carried out before the regular
QA activities.
Two major types of pre-QA activities Set specific quality goals
Form QA strategy
Select appropriate QA activities to perform
Choose appropriate quality measurements and models to
provide feedback, quality assessment and improvement
-
8/9/2019 L 04 Z Quality Engineering
11/25
SQE Process In-QA Activity
In-QA Activity / QA activity Executing planned QA activities
Handling discovered defects
These activities were discussed in last two lectures.
-
8/9/2019 L 04 Z Quality Engineering
12/25
SQE Process Post-QA Activity
Post-QA Activity Quality measurement, assessment and improvement
These activities are carried out after normal QA
activities have started but not as part of these normal
activities. The primary purpose of these activities is to provide
quality assessment and feedback so that various
management decisions can be made and possible
quality improvement initiatives can be carried out.
Post-QA does not men after the finish of QA activities,
it could be carried out parallel to QA activities
-
8/9/2019 L 04 Z Quality Engineering
13/25
Pre-QA Activity / Quality Planning
Goal Setting Forming QA strategy
Goal Setting:
Satisfy customers quality expectations economically
by the software development process. How? Identify quality view and attributes
Select direct quality measures ( to measure the selected
quality attributes from customers perspective)
Assess quality expectation vs. cost
-
8/9/2019 L 04 Z Quality Engineering
14/25
Pre-QA Activity / Quality Planning
Identify quality view and attributesCustomers/user expectations
Market condition
Product type, etc
Select direct quality measuresReliability: primary concern - business/commercial software
Safety: Primary concern air traffic control system (real-time
control system), embedded software in automobile, medical
device, etc.
Usability: Primary concern - Personal utilities software,
instead of reliability or safety.
These quality views and attributes could be found in close
cooperation with the customers and user or these who
represents their interest, such as requirement analysts,
marketing personal, etc.
-
8/9/2019 L 04 Z Quality Engineering
15/25
Pre-QA Activity / Quality Planning
Assess quality expectation vs. cost Cost-of-quality
Economic models: COCOMO (Constructive Cost Model)
-
8/9/2019 L 04 Z Quality Engineering
16/25
Pre-QA Activity / Quality Planning
Forming QA strategy After fixing the quality goals, we can fix appropriate
QA activities
Evaluate individual QA alternatives
Strength/weakness/const/applicability, etc
Measurement and feedback planning
To achieve quality goals we need to know where we are and
how far away we are from the specific quality goals.
-
8/9/2019 L 04 Z Quality Engineering
17/25
In-QA Activity / QA activity
Discussed in last two lectures.
-
8/9/2019 L 04 Z Quality Engineering
18/25
Post-QA Activity / Analysis and Feedback
Analysis and Feedback The primary purpose of this activity is to provide
quality assessment and feedback for the
management to make decisions, like- product release
can be made and possible quality and process
improvement initiatives can be carried out.
Measurement:
Defect measurement as part of defect handling process
These measurements data input to the subsequent analysis
and modeling activities that provide feedback and usefulinformation to manage software project and quality (historical
baseline).
-
8/9/2019 L 04 Z Quality Engineering
19/25
Post-QA Activity / Analysis and Feedback
Analysis and modeling: Input: above data
Output/goal: feedback and follow-up (assessment of current
product quality, accurate predication of future quality)
Feedback and follow-up:
Results from the analysis and modeling activities can providefeedback to the quality engineering process to help us make
project scheduling, resource allocation, and other management
decisions.
Follow-up activities:
Results from these analysis and modeling activities could beapplied immediate or long term quality control strategies.
Example: If major changes are suggested for the quality
engineering process or software development process, they
typically need to wait unitil the current process is finished to
avoid unnecessary disturbance and risk to the current project.
-
8/9/2019 L 04 Z Quality Engineering
20/25
SQE in Software Development Process
QA activities carried out and integrated into the
software development process (covered last lecture)
Now we want to integrate Quality Engineering(pre-QA planning and post-QA measurement and
analysis activities) activities to software
development process
-
8/9/2019 L 04 Z Quality Engineering
21/25
SQE in Software Development Process Contd
SQE activities Development process
Quality Planning Product Planning
Example: In waterfall model, carried out in the phase for
market analysis, requirement analysis, and product
specification. Such information provide us with valuable information about
quality expectations by target customers and users in the
specific market.
Quality goals can be planned and set accordingly
QA activity development activities Analysis/feedback Project management
-
8/9/2019 L 04 Z Quality Engineering
22/25
SQE in Waterfall Model
Fig: SQE in Waterfall Model
-
8/9/2019 L 04 Z Quality Engineering
23/25
SQE in Waterfall Model
Quality Planning: Starts with requirement analysisphase
QA activities: Starts just after the quality planningphase
Measurement and analysis: starts after the QAactivities phase
-
8/9/2019 L 04 Z Quality Engineering
24/25
SQE Effort Profile
The overall quality engineering effort over time is divided
into three parts
Fig: SQE effort in waterfall process
-
8/9/2019 L 04 Z Quality Engineering
25/25
SQE Effort Profile
The bottom part represents the share of total effort by
quality planning activities
The middle part represents the share of total effort for
the execution of selected QA activities
The upper part represents the share of total effort for the
measurement and quality assessment activities