13
1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

  • View
    214

  • Download
    2

Embed Size (px)

Citation preview

Page 1: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

1

Software Testing and Quality Assurance

Lecture 32 – Software Quality Assurance

Page 2: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

2

Lecture Objectives A Deeper Understanding of Quality

Assurance Quality Models Quality Assurance

Page 3: 1 Software Testing and Quality Assurance Lecture 32 – Software 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.

Page 4: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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

Page 5: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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.

Page 6: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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.

Page 7: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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’.

Page 8: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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.

Page 9: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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.

Page 10: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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.

Page 11: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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.

Page 12: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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.

Page 13: 1 Software Testing and Quality Assurance Lecture 32 – Software Quality Assurance

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.