1 - Software Quality Engineering
-
Upload
sweethome1997 -
Category
Documents
-
view
11 -
download
1
description
Transcript of 1 - Software Quality Engineering
![Page 1: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/1.jpg)
SE-863 SOFTWARE
QUALITY E
NGINEERING
LECTURE 1
MS-15
Dr Muhammad Abbas
1
![Page 2: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/3.jpg)
YOUR BACKGROUND
NameDay Job or EquivalentFinal ProjectQuality ExperienceIndustry ExperienceOptional: Any thing else
3
![Page 4: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/6.jpg)
COURSE INTRODUCTION
Course Code: SE-863Credits: 3+0Contact Hours: 3
6
![Page 7: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/7.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/12.jpg)
ANY QUESTIONS
12
![Page 13: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/20.jpg)
QUALITY PROBLEMS IN LARGE SOFTWAREPervasive use of softwareGrowing reliance on softwareLarge software systems
20
![Page 21: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/21.jpg)
SOFTWARE FAILURES: THE STATISTICS
21
![Page 22: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/22.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/24.jpg)
SOFTWARE FAILURES: CONTENT DEFICIENCIES
On average “challenged” projects deliver 61% of specified functions 24
![Page 25: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/25.jpg)
TURNING FAILURE TO SUCCESS: SQE
SuccessOn tim
eWithin budget
Content
Failure
Failure
Failure
25
![Page 26: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/26.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/27.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/28.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/29.jpg)
SCOPE OF MAJOR SQE ACTIVITIES
Software Quality Engineering
Quality Assurance
Testing
29
![Page 30: 1 - Software Quality Engineering](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/30.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/31.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/32.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/33.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022042618/577c82401a28abe054b01024/html5/thumbnails/34.jpg)
YOUR EXPECTATIONS?
What do you expect to learn in this course?
34