You are on page 1of 34

E

A E
W E
T
F GIN
SO EN
3 Y
6
8 IT
L
E
A
S U E1
QECTUR
L

I
R

G
N

MS-15

Dr Muhammad Abbas

Instructor

Dr Muhammad Abbas

Email

abbasamir@hotmail.com

Class Session TUE 5:30---8:30 pm


Office Hours After class, via email, or by
appointment

YOUR BACKGROUND
Name
Day Job or Equivalent
Final Project
Quality Experience
Industry Experience
Optional: Any thing else

EVALUATION COMPONENTS
Quizzes
5
10%
Assignments 5
Project
10%
Sessional I
15%
Sessional II 15%
Final 40%

10%

TEXTBOOKS
Required Textbooks

Software Quality Engineering: Testing,


Quality Assurance, and Quantifiable
Improvement, by Jeff Tian
Reference:

1. The Art of Software Testing by Glenford


Myers
2. Managing the Testing Process: Practical
Tools and Techniques for Managing
Hardware and Software Testing, by Rex
Black

COURSE INTRODUCTION
Course Code: SE-863
Credits: 3+0
Contact Hours: 3

COURSE OBJECTIVES
Introduction to the concepts, philosophies,
tools,
techniques,
guidelines,
and
framework for software quality assurance
Verification and validation of software
Measurement of quality, quality factors,
quality costs at different stages of
software development lifecycle
Software testing and usability evaluation
methods
Software quality standards

COURSE OBJECTIVES
Software Quality Engineering, which is
organized into three major topics:
Software testing as a primary means to ensure
software quality;
Other alternatives for quality assurance (QA),
including
defect
prevention,
process
improvement, inspection, formal verification, fault
tolerance, safety assurance, and damage control;
Measurement and analysis to close the feedback
loop for quality assessment and quantifiable
improvement.

COURSE CONTENTS
Overview
of
Software
Quality:
Quality
Assurance, Quality Aspects and factors,
Quality Principles
Software Models for testing and quality
analysis: Control and Data flow graphs
Quality
Processes:
Planning
and
Documentation, Risk Analysis, Metrics
Software Testing: Phases of Testing, Test
Coverage,
Verification
and
Validation
Techniques, Black box, white-box testing
techniques, Testing using Fault Models, Test
Execution
Software Quality Standards: ISO-9126, CMMI

WHAT IS THIS COURSE ALL ABOUT


Computers and software systems are
becoming ubiquitous in modern society.
Worldwide users rely on individual and
interconnected computers to fulfill their
needs for
information processing,
storage,
search,
and retrieval.

All these needs are met with the support of


the underlying software.

10

WHAT IS THIS COURSE ALL ABOUT


This high quality need to be satisfied
through various Quality Assurance
activities
Claims for high quality need to be
supported by evidence based on
concrete measurements and analyses.

11

ANY QUESTIONS

12

LECTURE OVERVIEW
Course Introduction
Course Objectives
Course Contents

Quality expectations

An Initial Definition of (Software) Quality


Standard Definitions of (Software) Quality
Quality Problems in Large Software
Turning Failure to Success: SQE
SQE for Meeting Quality Expectations
The SQE Process
Scope of Major SQE Activities

13

QUALITY EXPECTATIONS
Our (as developers) objective is to deliver
software system that...
does what it is supposed to do
needs to be validated

does the things correctly


needs to be verified

show/demonstrate/prove it
modeling/analysis needed

14

MEETING QUALITY EXPECTATIONS


Difficulties in achieving good quality:
size: MLOC products common
complexity
environmental stress/constraints
flexibility/adaptability expected

Other difficulties/factors:

product type
cost and market conditions
Others .. (discussed in Part III of the book)

No silver bullet", but...

SQE (software quality engineering) helps

15

OVERVIEW
MEETING PEOPLES QUALITY EXPECTATIONS

The software systems must do what they are supposed


to do. In other words, they must do the right things.
They must perform these specific tasks correctly or
satisfactorily. In other words, they must do the things
right.

16

OVERVIEW
Main tasks for software quality
engineering
quality planning;

execution of selected QA or software


validation and verification activities;

measurement and analysis to provide


convincing evidence to demonstrate
software quality to all parties involved.

17

AN INITIAL DEFINITION OF (SOFTWARE)


QUALITY
Quality =
...meeting the customers
requirements,
...at the agreed cost,
...within the agreed timescales.

Quality = Fitness for


purpose
Quality = Customer
satisfaction

18

STANDARD DEFINITIONS OF
(SOFTWARE) QUALITY
IEEE Glossary: Degree to which a system,
component, or process meets (1) specified

requirements, and (2) customer


user needs or expectations

or

ISO 8402: The totality of features and


characteristics of a product or service
that bear on its ability to satisfy
specified or implied needs

19

QUALITY PROBLEMS IN
LARGE SOFTWARE
Pervasive use of software
Growing reliance on software
Large software systems

20

SOFTWARE FAILURES: THE STATISTICS

21

SOFTWARE FAILURES: COST


OVERRUNS
Overrun Amount

% cases

Average cost for failed projects is 189% of the original estimate, i.e.
almost double.

22

SOFTWARE FAILURES: TIME


OVERRUNS
Overrun Amount

% cases

Average time for failed projects is 222% of original estimate, i.e.


more than double.
23

SOFTWARE FAILURES: CONTENT


DEFICIENCIES

On average challenged projects deliver 61% of specified functions 24

TURNING FAILURE TO
SUCCESS: SQE
Failure
On

t im

W
i th
in

e
Success

Failure
bu

dg
e

Content
Failure
25

SQE FOR MEETING QUALITY


EXPECTATIONS
Expectations
reliability

for

quality

and

Validation: software systems must do


what they are supposed to do
Verification: must perform these tasks
correctly, without problems
Measurement/analysis: supported by
evidence
based
on
concrete
measurements

26

THE SQE PROCESS


1. Quality planning: plans assure that

Software development, evaluation, and acceptance standards


are developed, documented and followed
The results of quality reviews are given to appropriate
management
That test results adhere to acceptance standards

2. Software testing as the primary means to


ensure quality
3. Other alternatives for quality assurance
(QA) e.g. defect prevention, process
improvement,
inspection,
formal
verification,
fault
tolerance,
safety
assurance, and damage control
4. Measurement and analysis to close the
feedback
loop
for
assessment
and
quantifiable improvement

27

THE SQE PROCESS


This is the general subject of Software
Quality Engineering, which is organized
into three Major topics:
Software testing as a primary means to ensure
software quality;
Other alternatives for quality assurance (QA),
including
defect
prevention,
process
improvement, inspection, formal verification, fault
tolerance, safety assurance, and damage control;
Measurement and analysis to close the feedback
loop for quality assessment and quantifiable
improvement.
28

SCOPE OF MAJOR SQE ACTIVITIES


Software Quality Engineering

Quality Assurance
Testing

29

SOFTWARE FAILURES: SOME FAMOUS


EXAMPLES
Taurus (London Stock Exchange)
11 years late & 13,200% over budget
London Ambulance Service
faults led to reversion to manual processes
NHS Service
2008 was the start date, still not finished!

30

IN CLASS ACTIVITY #1
(TAKE 5 TO 10 MINS TO ANSWER THESE
QUESTIONS)
Your experience as a developer
What programming experience do you have?
(e.g. course project, internship ... Etc.)
What language did you use?
What level of quality you think it had?
How did you assure its quality?

31

IN CLASS ACTIVITY #2
(TAKE 5 TO 10 MINS TO ANSWER THESE
QUESTIONS)

Your experience as a customer


What software do you use and think it is a
good software?
Why do you think its good?
Looks good, fast, accurate etc.
How did you measure its goodness?
Can you compare it to other similar
software?

32

IN CLASS ACTIVITY #3
(TAKE 5 TO 10 MINS TO ANSWER THESE
QUESTIONS)
Your experience in management
Did you work in a team for developing a software
before? What was it?
What was your role in the team?
Was there any team member responsible for QA?
How did you divide QA tasks amongst team
members?
What can you do to enhance management of
your team with regards to QA activities?

33

YOUR EXPECTATIONS?

What do you expect to


learn in this course?

34

You might also like