View
214
Download
2
Embed Size (px)
Citation preview
1
Software Testing and Quality Assurance
Lecture 32 – Software Quality Assurance
2
Lecture Objectives A Deeper Understanding of Quality
Assurance Quality Models Quality Assurance
3
Quality Assurance - Introduction
Quality can not be added to a piece of software after you have built it. Quality must be built into the software from
the beginning.
4
Quality Assurance - Introduction
Two sources of constraints that requires specialized methods: Non-function requirements that come from
the client and their application domain. Constraints that come from quality
standards
5
Quality Assurance for Software Engineers
Quality is a ubiquitous concern in software engineering.
Achieving quality pervades Software engineering processes, methods,
and tools; and One of the main aims of project
managements.
6
Quality Assurance for Software Engineers
Quality products can Increase market shares, Long term profitability for companies; and Poor quality can certainly have the
opposite effect. Yet, in spite of the focus on quality
It can be remarkably elusive to attain in actual software engineering projects.
7
Quality Assurance for Software Engineers
A reason for the concern with quality is the sheer complexity of many modern software systems.
For example, Approx. 10 Mbytes of object code in an
A320 airbus flight control system. The aircraft has been described as
‘aircraft wrapped around a network’.
8
Quality Assurance for Software Engineers
Complexity in software systems arises in a number of ways. The large number of modules, concurrent
processes, and diversity of platforms that must interact to achieve the aims and requirements of the system; and
The development of the product itself which is subject to changes in requirements, changes in personal and the ever present technological churn.
The phrase mean constantly changing technology used in implementing and engineering products.
9
What is software Quality? The End-user’s Perspective
End-users judge the quality of a product by their interaction with it.
For users a system has quality if It is fit for purpose, reliable and has reasonable
performance, easy to learn and use.
Sometime, if the functionality is hard to learn but is extremely important, then users will still judge the system
to have high quality.
10
What is software Quality? The Developer’s Perspective
Typically includes the number of faults Ease of changing the system Ease of testing the system The nature of the design Conformance to requirements; Resource usage; and performance.
11
What is software Quality? The Maintainer’s Perspective
Similar to developer’s perspective; but also includes
The simplicity and modularity of the system,
The documentation produced by the developers; and
The ease of understanding the implementation.
12
What is software Quality? Software engineers need to choose
Processes, tools and techniques to monitor and control the quality of the software as it is being developed.
If we can not directly monitor the attributes, We often need to monitor the quality of the
processes, under the assumption thatThe quality of the process influences the quality
of the product.
13
Key points Quality must be built into the software
from the beginning. The evidence suggest that we cannot
simply fix up our software post-hoc; and add in quality attributes after building the
system.