1 - software quality engineering

34
SE-863 SOFTWARE QUALITY ENGINEERING LECTURE 1 MS-15 Dr Muhammad Abbas 1

Upload: sweethome1997

Post on 13-Jul-2016

13 views

Category:

Documents


1 download

DESCRIPTION

SQE lec 1

TRANSCRIPT

Page 1: 1 - Software Quality Engineering

SE-863 SOFTWARE

QUALITY E

NGINEERING

LECTURE 1

MS-15

Dr Muhammad Abbas

1

Page 2: 1 - Software Quality Engineering

2

Instructor Dr Muhammad Abbas

Email [email protected]

Class SessionTUE 5:30---8:30 pmOffice Hours After class, via email, or by

appointment

Page 3: 1 - Software Quality Engineering

YOUR BACKGROUND

NameDay Job or EquivalentFinal ProjectQuality ExperienceIndustry ExperienceOptional: Any thing else

3

Page 4: 1 - Software Quality Engineering

EVALUATION COMPONENTS

4

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

Page 5: 1 - Software Quality Engineering

TEXTBOOKS

5

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

Page 6: 1 - Software Quality Engineering

COURSE INTRODUCTION

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

6

Page 7: 1 - Software Quality Engineering

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

7

Page 8: 1 - Software Quality Engineering

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.

8

Page 9: 1 - Software Quality Engineering

COURSE CONTENTSOverview 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

9

Page 10: 1 - Software Quality Engineering

WHAT IS THIS COURSE ALL ABOUTComputers 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

Page 11: 1 - Software Quality Engineering

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

Page 12: 1 - Software Quality Engineering

ANY QUESTIONS

12

Page 13: 1 - Software Quality Engineering

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

Page 14: 1 - Software Quality Engineering

QUALITY EXPECTATIONSOur (as developers) objective is to deliver

software system that...

does what it is supposed to do needs to be “validated“

does the things correctlyneeds to be “verified“

show/demonstrate/prove it modeling/analysis needed

14

Page 15: 1 - Software Quality Engineering

MEETING QUALITY EXPECTATIONSDifficulties 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

Page 16: 1 - Software Quality Engineering

OVERVIEW• MEETING PEOPLE’S 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

Page 17: 1 - Software Quality Engineering

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

Page 18: 1 - Software Quality Engineering

AN INITIAL DEFINITION OF (SOFTWARE) QUALITYQuality = ...meeting the customer’s requirements,

...at the agreed cost, ...within the agreed timescales.Quality = “Fitness for purpose”Quality = Customer satisfaction

18

Page 19: 1 - Software Quality Engineering

STANDARD DEFINITIONS OF (SOFTWARE) QUALITYIEEE Glossary: Degree to which a system,

component, or process meets (1) specified requirements, and (2) customer or user needs or expectations

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

Page 20: 1 - Software Quality Engineering

QUALITY PROBLEMS IN LARGE SOFTWAREPervasive use of softwareGrowing reliance on softwareLarge software systems

20

Page 21: 1 - Software Quality Engineering

SOFTWARE FAILURES: THE STATISTICS

21

Page 22: 1 - Software Quality Engineering

SOFTWARE FAILURES: COST OVERRUNS

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

Overrun Amount % cases

22

Page 23: 1 - Software Quality Engineering

SOFTWARE FAILURES: TIME OVERRUNS

Average time for “failed” projects is 222% of original estimate, i.e. more than double.

Overrun Amount % cases

23

Page 24: 1 - Software Quality Engineering

SOFTWARE FAILURES: CONTENT DEFICIENCIES

On average “challenged” projects deliver 61% of specified functions 24

Page 25: 1 - Software Quality Engineering

TURNING FAILURE TO SUCCESS: SQE

SuccessOn tim

eWithin budget

Content

Failure

Failure

Failure

25

Page 26: 1 - Software Quality Engineering

SQE FOR MEETING QUALITY EXPECTATIONS

Expectations for quality and reliability

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

Page 27: 1 - Software Quality Engineering

THE SQE PROCESS1. 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 standards2. Software testing as the primary means to

ensure quality3. 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

Page 28: 1 - Software Quality Engineering

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

Page 29: 1 - Software Quality Engineering

SCOPE OF MAJOR SQE ACTIVITIES

Software Quality Engineering

Quality Assurance

Testing

29

Page 30: 1 - Software Quality Engineering

SOFTWARE FAILURES: SOME FAMOUS EXAMPLES

Taurus (London Stock Exchange)11 years late & 13,200% over budgetLondon Ambulance Service faults led to reversion to manual processesNHS Service2008 was the start date, still not finished!

30

Page 31: 1 - Software Quality Engineering

IN CLASS ACTIVITY #1(TAKE 5 TO 10 MINS TO ANSWER THESE

QUESTIONS)Your experience as a developerWhat 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 it’s quality?

31

Page 32: 1 - Software Quality Engineering

Your experience as a customerWhat software do you use and think it is a good software?

Why do you think it’s good? Looks good, fast, accurate … etc.

How did you measure it’s goodness?Can you compare it to other similar software?

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

QUESTIONS)

32

Page 33: 1 - Software Quality Engineering

Your experience in managementDid 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?

IN CLASS ACTIVITY #3(TAKE 5 TO 10 MINS TO ANSWER THESE

QUESTIONS)

33

Page 34: 1 - Software Quality Engineering

YOUR EXPECTATIONS?

What do you expect to learn in this course?

34