尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
Arab Open University
2nd
Semester, 2006-2007
M301
Unit 5.3
Product Quality: Metrics,
Verification, Validation, Testing
reem.attas@arabou.org.sa
Reem AlAttas © 2
Topic Road Map
 Introduction to software quality
Verification, validation and testing
Measuring software quality factors
Testing techniques
Formal technical reviews
Reem AlAttas © 3
What is software quality?
Software that is fit for its purpose and is of
sufficiently high quality is said to be of
appropriate quality, i.e. in conformance to
the requirements and expectations of the
customer.
Reem AlAttas © 4
Requirements
 There are three general types of requirements
that have an effect on software product quality:
 Product operation requirements how the product will
be used by the end user?
 Product revision requirements how the product will be
changed?
 Product transition requirements how the product will
be modified for different operating environments?
Reem AlAttas © 5
Product operation requirements
1. Correctness: that attribute which determines how well a
system fulfils the customer’s overall objectives;
2. Reliability: that attribute which determines system can be
expected to perform its intended function;
3. Efficiency: that attribute which determines the level of
computing resources required perform its function;
4. Integrity: that attribute which determines how well the data
is secured;
5. Usability: that attribute which determines how easy the
system is to use.
Reem AlAttas © 6
Product revision requirements
1. Maintainability: that attribute which determines
how easily bugs can be found and fixed.
2. Flexibility: that attribute which determines the
effort required to modify an operational system.
3. Testability: that attribute which determines how
easily the system can be tested to show that the
customer’s requirements have been met.
Reem AlAttas © 7
Product transition requirements
1. Portability: that attribute which determines how
easily the system can be used on another machine
2. Reusability: that attribute which determines how
easy it is to reuse some of the software to make
future developments more cost-effective
3. Interoperability: that attribute which determines the
effort required to couple one system to another.
Reem AlAttas © 8
Primary Software Quality Factors
(SQFs)
1. Correctness.
2. Integrity.
3. Maintainability.
4. Usability.
Reem AlAttas © 9
Correctness Measure
The popular measure for assessing
correctness is defects per thousand lines of
code (defects per KLOC)
Defect (bug): verified lack of conformance to
requirements.
Reem AlAttas © 10
Integrity Measure
Integrity is measured by considering the
proportion of ‘attacks’ on a product as
opposed to bona fide uses.
Reem AlAttas © 11
Example
Reem AlAttas © 12
Topic Road Map
Introduction to software quality
 Verification, validation and testing
Measuring software quality factors
Testing techniques
Formal technical reviews
Reem AlAttas © 13
Verification
The process of checking that each system
description is selfconsistent, and that
different system descriptions are
consistent and complete with respect to
each other.
Reem AlAttas © 14
Validation
The process of checking that each system
description is consistent with the
customer’s requirements.
Reem AlAttas © 15
Consistency
Two system descriptions are consistent
simply means that, where they describe
the same part of the system, they do not
contradict each other.
Consistency with a customer requirement
means that the requirement is met.
Reem AlAttas © 16
Completeness
Every aspect of the customer’s
requirements must be met by the system
description.
More difficult task than showing
consistency.
Reem AlAttas © 17
Testing
The process of executing a software
system, or part of a software system, in
order to check that it meets its
requirements.
It is any form of validation or verification
that operates on program code.
Reem AlAttas © 18
Test Procedure
Select some test data.
Predict the results that should be
expected.
Check whether the software conforms to
our expectations.
Reem AlAttas © 19
Role of Testing
Help finding and fixing bugs.
Improve the customer’s confidence in a
software product.
Improve the testing process itself.
 A cost–benefit analysis of ‘bugs found’ versus
‘time taken’ can be performed to determine
when testing should stop.
Reem AlAttas © 20
Types of Testing
1. Usability testing.
2. Developmental testing: checks that developmental
activities have been carried out correctly.
3. Requirements-based testing: checks that a system
meets the customer’s requirements.
4. Regression testing: occurs during developmental
testing and system maintenance, and checks that fixing
one bug has not introduced others.
Reem AlAttas © 21
Developmental testing stages
 Unit testing, in which units of functionality (e.g.
The classes in an object-oriented system) are
tested in isolation.
 Integration testing, in which previously unit-
tested units are tested together.
 System testing, in which the completed system
is tested against the customer’s requirements.
Reem AlAttas © 22
Requirements testing stage
Acceptance testing, which is performed
by the customer, and after which (all being
well) the system is accepted as complete.
Reem AlAttas © 23
Topic Road Map
Introduction to software quality
Verification, validation and testing
 Measuring software quality factors
Testing techniques
Formal technical reviews
Reem AlAttas © 24
Measuring Quality
 The quality of a software product
can be measured by obtaining
values for the eleven software
quality factors (SQFs)
 Obtaining such values is not a
trivial task, as there is no
obvious way of evaluating a
product against these factors.
 What we must do is to find
properties of software products
which are measurable, and use
these to infer the values for the
SQFs.
1. Correctness
2. Reliability
3. Efficiency
4. Integrity
5. Usability
6. Maintainability
7. Flexibility
8. Testability
9. Portability
10. Reusability
11. Interoperability
Reem AlAttas © 25
Software Metrics
1. Accuracy
2. Auditability
3. Communication commonality
4. Completeness
5. Complexity
6. Conciseness
7. Consistency
8. Data commonality
9. Execution efficiency
10. Expandability
11. Generality
12. Hardware independence
13. Instrumentation
14. Modularity
15. Operability
16. Robustness
17. Security
18. Self-documentation
19. System independence
20. Traceability
21. Training
Reem AlAttas © 26
The Dependence of the SQFs on the
Metrics
Reem AlAttas © 27
Ex. The Relationship Between
Reliability and the Metrics
 F  value for the SQF, reliability.
 m  measured values for the metrics which relate to the SQF,
reliability.
 c  weightings indicating the relative importance of the metrics with
respect to the SQF, reliability.
Reem AlAttas © 28
Measuring System Complexity
1. Lines-of-code Metric: measures the
complexity of a method by counting the
number of lines-of-code.
 More LOC  more errors.
 Should comment lines be included in the line
count?
Reem AlAttas © 29
… Measuring System Complexity
2. McCabe’s Cyclomatic-complexity Metric: measures the
complexity of a method by counting the number of independent
paths through a method body.
 A method body starts and completes its execution defines one
independent path.
 The number of independent paths through a piece of code can be
calculated by counting the number of decision points.
 Each if statement adds a decision point.
 Each while, do-while and for loop adds a decision point.
 Each switch statement adds one decision point for each of the cases it
tests for, excluding any default case.
 Each try statement adds one decision point per catch block, but any
finally block is not a decision point, as it will always be executed.
 The operators && and || each add a decision point.
Reem AlAttas © 30
… Measuring System Complexity
A cyclomatic-complexity of ten or more
should be a hint that a method body
should be restructured into two or more
simpler methods.
Reem AlAttas © 31
Modern Object-oriented Metrics
 Depth of inheritance tree (DIT): its number of ancestors.
 Coupling between objects (CBO): the number of has-a
relationships the class has with other classes.
 Number of children (NOC): the number of children for that class.
 Response for a class (RFAC): the size of the response set for the
class, which consists of all the methods of that class together with
all the methods of other classes called by those methods.
 Lack of cohesion in methods (LCOM): its cohesiveness.
 Weighted methods per class (WMPC): its complexity of behavior
 the sum of the cyclomatic complexities of each method of the
class.
Reem AlAttas © 32
Topic Road Map
Introduction to software quality
Verification, validation and testing
Measuring software quality factors
 Testing techniques
Formal technical reviews
Reem AlAttas © 33
Testing Techniques
Black-box testing we choose test cases
by looking at the specification (i.e.
requirements and high-level design) of the
system to be tested.
White-box testing we choose test cases
by looking at the detail of the
implementation of the system to be tested.
Reem AlAttas © 34
A strategy for black-box testing (using
partitioning)
1. For each method in the class, determine
the input data space.
2. Partition the input data space into sub-
domains.
3. Test all sub-domains given by the case
analysis.
Reem AlAttas © 35
Step 1
Reem AlAttas © 36
Step 2
Reem AlAttas © 37
Step 3
Reem AlAttas © 38
White-box Testing Techniques
Basis-path testing.
Loop testing.
Reem AlAttas © 39
Basis-path testing
 Ensures that all reachable statements in a
method are tested at least once.
 Select data which will exercise the straight-through path,
i.e., loop and if conditions evaluate to false, and only
default cases selected in switch statements.
 Then, find data that deviates from the straight-through
path at the first decision point.
 The process is then repeated for each subsequent
decision point in the program, varying the flow in each
case.
Reem AlAttas © 40
Loop testing
Used to test loop constructs.
In Java, there are three ways in which
loops can occur:
 Simple loops.
 Nested loops.
 Concatenated loops.
Reem AlAttas © 41
Simple loops forms
 Test data should be found for the following cases:
 the loop is skipped entirely
 the loop is passed through exactly once
 the loop is passed through more than once, maximum n times
 m times, where 3 < m < n – 2
 pass through the loop n – 1, n and n + 1 times.
Reem AlAttas © 42
Nested loops form
 Approach:
 Start with the innermost loop.
 Work outwards.
 Repeat step 2 until all loops are tested.
Reem AlAttas © 43
Concatenated loops
 Concatenated loops can be tested separately
using sequential simple loop tests
Reem AlAttas © 44
Topic Road Map
Introduction to software quality
Verification, validation and testing
Measuring software quality factors
Testing techniques
 Formal technical reviews
Reem AlAttas © 45
Inspections (Formal Technical
Reviews)
A formal, efficient, and economical method
of finding errors in design and code.
TMA5 – Q3
Thank You!

More Related Content

What's hot

Test cases
Test casesTest cases
Test cases
Chandra Maddigapu
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
university of education,Lahore
 
SQE Lecture 1.pptx
SQE Lecture 1.pptxSQE Lecture 1.pptx
SQE Lecture 1.pptx
UsmanShafique23
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
Belal Raslan
 
Computerized system validation (CSV) as a requirement for good manufacturing ...
Computerized system validation (CSV) as a requirement for good manufacturing ...Computerized system validation (CSV) as a requirement for good manufacturing ...
Computerized system validation (CSV) as a requirement for good manufacturing ...
Ahmed Hasham
 
Software quality models
Software quality modelsSoftware quality models
Software quality models
ONKAR PANDE
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Sachithra Gayan
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
HoangThiHien1
 
Project Quality Assurance And Control Management Plan PowerPoint Presentation...
Project Quality Assurance And Control Management Plan PowerPoint Presentation...Project Quality Assurance And Control Management Plan PowerPoint Presentation...
Project Quality Assurance And Control Management Plan PowerPoint Presentation...
SlideTeam
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
ShashankBajpai24
 
Stlc ppt
Stlc pptStlc ppt
Stlc ppt
Bhavik Modi
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
pooja deshmukh
 
Maintenance & Re-Engineering of Software
Maintenance & Re-Engineering of SoftwareMaintenance & Re-Engineering of Software
Maintenance & Re-Engineering of Software
Adeel Riaz
 
SDLC
SDLCSDLC
SDLC
chkjha
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
BharathReddy615859
 
Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01
Abdul Basit
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
Nikhil Sharma
 
Software metrics
Software metricsSoftware metrics
Software metrics
Dr. C.V. Suresh Babu
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
Kittitouch Suteeca
 

What's hot (20)

Test cases
Test casesTest cases
Test cases
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
SQE Lecture 1.pptx
SQE Lecture 1.pptxSQE Lecture 1.pptx
SQE Lecture 1.pptx
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Computerized system validation (CSV) as a requirement for good manufacturing ...
Computerized system validation (CSV) as a requirement for good manufacturing ...Computerized system validation (CSV) as a requirement for good manufacturing ...
Computerized system validation (CSV) as a requirement for good manufacturing ...
 
Software quality models
Software quality modelsSoftware quality models
Software quality models
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
 
Project Quality Assurance And Control Management Plan PowerPoint Presentation...
Project Quality Assurance And Control Management Plan PowerPoint Presentation...Project Quality Assurance And Control Management Plan PowerPoint Presentation...
Project Quality Assurance And Control Management Plan PowerPoint Presentation...
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
 
Stlc ppt
Stlc pptStlc ppt
Stlc ppt
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
 
Maintenance & Re-Engineering of Software
Maintenance & Re-Engineering of SoftwareMaintenance & Re-Engineering of Software
Maintenance & Re-Engineering of Software
 
SDLC
SDLCSDLC
SDLC
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
 

Viewers also liked

Verification and validation
Verification and validationVerification and validation
Verification and validation
Suresh Thammishetty
 
Unit 7 verification &amp; validation
Unit 7 verification &amp; validationUnit 7 verification &amp; validation
Unit 7 verification &amp; validation
raksharao
 
Validation and Verification
Validation and VerificationValidation and Verification
Validation and Verification
mrmwood
 
Verification and Validation with Innoslate
Verification and Validation with InnoslateVerification and Validation with Innoslate
Verification and Validation with Innoslate
Elizabeth Steiner
 
Validation and verification
Validation and verificationValidation and verification
Validation and verification
De La Salle University-Manila
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validation
Abdul Basit
 

Viewers also liked (6)

Verification and validation
Verification and validationVerification and validation
Verification and validation
 
Unit 7 verification &amp; validation
Unit 7 verification &amp; validationUnit 7 verification &amp; validation
Unit 7 verification &amp; validation
 
Validation and Verification
Validation and VerificationValidation and Verification
Validation and Verification
 
Verification and Validation with Innoslate
Verification and Validation with InnoslateVerification and Validation with Innoslate
Verification and Validation with Innoslate
 
Validation and verification
Validation and verificationValidation and verification
Validation and verification
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validation
 

Similar to Product Quality: Metrics, Verification, Validation, Testing

Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Sech1920 1200112979886874-3
Sech1920 1200112979886874-3
Mateti Anilraja
 
Audit
AuditAudit
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptChapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.ppt
GentaSahuri2
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
guest8861ff
 
9 test_levels-
 9 test_levels- 9 test_levels-
9 test_levels-
Saad Hamdan
 
Software Testing
Software TestingSoftware Testing
Software Testing
Ecaterina Moraru (Valica)
 
Software Testing 1198102207476437 4
Software Testing 1198102207476437 4Software Testing 1198102207476437 4
Software Testing 1198102207476437 4
Siddhartha Parida
 
System testing
System testingSystem testing
System testing
Sifat Hossain
 
Role+Of+Testing+In+Sdlc
Role+Of+Testing+In+SdlcRole+Of+Testing+In+Sdlc
Role+Of+Testing+In+Sdlc
mahendra singh
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
Gurkamal Rakhra
 
Some Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingSome Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software Testing
Kumari Warsha Goel
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
Amr E. Mohamed
 
System testing
System testingSystem testing
System testing
Abdullah-Al- Mahmud
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
Dhrumil Panchal
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
vidhyyav
 
Software testing
Software testingSoftware testing
Software testing
Ravi Dasari
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdf
PradeepaKannan6
 
object oriented system analysis and design
object oriented system analysis and designobject oriented system analysis and design
object oriented system analysis and design
wekineheshete
 

Similar to Product Quality: Metrics, Verification, Validation, Testing (20)

Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Sech1920 1200112979886874-3
Sech1920 1200112979886874-3
 
Audit
AuditAudit
Audit
 
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptChapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.ppt
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
 
9 test_levels-
 9 test_levels- 9 test_levels-
9 test_levels-
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Testing 1198102207476437 4
Software Testing 1198102207476437 4Software Testing 1198102207476437 4
Software Testing 1198102207476437 4
 
System testing
System testingSystem testing
System testing
 
Role+Of+Testing+In+Sdlc
Role+Of+Testing+In+SdlcRole+Of+Testing+In+Sdlc
Role+Of+Testing+In+Sdlc
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
 
Some Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingSome Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software Testing
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
System testing
System testingSystem testing
System testing
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
 
Software testing
Software testingSoftware testing
Software testing
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdf
 
object oriented system analysis and design
object oriented system analysis and designobject oriented system analysis and design
object oriented system analysis and design
 

More from Reem Alattas

Rumble Lights Pitch Deck
Rumble Lights Pitch DeckRumble Lights Pitch Deck
Rumble Lights Pitch Deck
Reem Alattas
 
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular RobotsNASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
Reem Alattas
 
She looks just like me 2017
She looks just like me 2017She looks just like me 2017
She looks just like me 2017
Reem Alattas
 
Nasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Nasa Datanauts Water Cooler Chat: Robotics for Space ExplorationNasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Nasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Reem Alattas
 
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space ExplorationNasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Reem Alattas
 
She Looks Just Like Me 2017
She Looks Just Like Me 2017She Looks Just Like Me 2017
She Looks Just Like Me 2017
Reem Alattas
 
Tran helmet pitch
Tran helmet pitchTran helmet pitch
Tran helmet pitch
Reem Alattas
 
Evolutionary Algorithms
Evolutionary AlgorithmsEvolutionary Algorithms
Evolutionary Algorithms
Reem Alattas
 
Evolutionary Robotics
Evolutionary RoboticsEvolutionary Robotics
Evolutionary Robotics
Reem Alattas
 
Create a Need
Create a NeedCreate a Need
Create a Need
Reem Alattas
 
Enhancing input on and above the interactive surface
Enhancing input on and above the interactive surfaceEnhancing input on and above the interactive surface
Enhancing input on and above the interactive surface
Reem Alattas
 
Skinput: Appropriating the Body as an Input Surface
Skinput: Appropriating the Body as an Input SurfaceSkinput: Appropriating the Body as an Input Surface
Skinput: Appropriating the Body as an Input Surface
Reem Alattas
 
XML - EXtensible Markup Language
XML - EXtensible Markup LanguageXML - EXtensible Markup Language
XML - EXtensible Markup Language
Reem Alattas
 
Dynamic HTML Event Model
Dynamic HTML Event ModelDynamic HTML Event Model
Dynamic HTML Event Model
Reem Alattas
 
PHP Scripting
PHP ScriptingPHP Scripting
PHP Scripting
Reem Alattas
 
DHTML - Dynamic HTML
DHTML - Dynamic HTMLDHTML - Dynamic HTML
DHTML - Dynamic HTML
Reem Alattas
 
JavaScript Objects
JavaScript ObjectsJavaScript Objects
JavaScript Objects
Reem Alattas
 
Linear Search & Binary Search
Linear Search & Binary SearchLinear Search & Binary Search
Linear Search & Binary Search
Reem Alattas
 
JavaScript Arrays
JavaScript Arrays JavaScript Arrays
JavaScript Arrays
Reem Alattas
 
JavaScript Functions
JavaScript Functions JavaScript Functions
JavaScript Functions
Reem Alattas
 

More from Reem Alattas (20)

Rumble Lights Pitch Deck
Rumble Lights Pitch DeckRumble Lights Pitch Deck
Rumble Lights Pitch Deck
 
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular RobotsNASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
 
She looks just like me 2017
She looks just like me 2017She looks just like me 2017
She looks just like me 2017
 
Nasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Nasa Datanauts Water Cooler Chat: Robotics for Space ExplorationNasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Nasa Datanauts Water Cooler Chat: Robotics for Space Exploration
 
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space ExplorationNasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
 
She Looks Just Like Me 2017
She Looks Just Like Me 2017She Looks Just Like Me 2017
She Looks Just Like Me 2017
 
Tran helmet pitch
Tran helmet pitchTran helmet pitch
Tran helmet pitch
 
Evolutionary Algorithms
Evolutionary AlgorithmsEvolutionary Algorithms
Evolutionary Algorithms
 
Evolutionary Robotics
Evolutionary RoboticsEvolutionary Robotics
Evolutionary Robotics
 
Create a Need
Create a NeedCreate a Need
Create a Need
 
Enhancing input on and above the interactive surface
Enhancing input on and above the interactive surfaceEnhancing input on and above the interactive surface
Enhancing input on and above the interactive surface
 
Skinput: Appropriating the Body as an Input Surface
Skinput: Appropriating the Body as an Input SurfaceSkinput: Appropriating the Body as an Input Surface
Skinput: Appropriating the Body as an Input Surface
 
XML - EXtensible Markup Language
XML - EXtensible Markup LanguageXML - EXtensible Markup Language
XML - EXtensible Markup Language
 
Dynamic HTML Event Model
Dynamic HTML Event ModelDynamic HTML Event Model
Dynamic HTML Event Model
 
PHP Scripting
PHP ScriptingPHP Scripting
PHP Scripting
 
DHTML - Dynamic HTML
DHTML - Dynamic HTMLDHTML - Dynamic HTML
DHTML - Dynamic HTML
 
JavaScript Objects
JavaScript ObjectsJavaScript Objects
JavaScript Objects
 
Linear Search & Binary Search
Linear Search & Binary SearchLinear Search & Binary Search
Linear Search & Binary Search
 
JavaScript Arrays
JavaScript Arrays JavaScript Arrays
JavaScript Arrays
 
JavaScript Functions
JavaScript Functions JavaScript Functions
JavaScript Functions
 

Recently uploaded

220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
Kalna College
 
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptxScience-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Catherine Dela Cruz
 
Erasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES CroatiaErasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES Croatia
whatchangedhowreflec
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
biruktesfaye27
 
nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...
chaudharyreet2244
 
Diversity Quiz Prelims by Quiz Club, IIT Kanpur
Diversity Quiz Prelims by Quiz Club, IIT KanpurDiversity Quiz Prelims by Quiz Club, IIT Kanpur
Diversity Quiz Prelims by Quiz Club, IIT Kanpur
Quiz Club IIT Kanpur
 
Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
Frederic Fovet
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
Kalna College
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
MattVassar1
 
(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"
MJDuyan
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
PriyaKumari928991
 
Talking Tech through Compelling Visual Aids
Talking Tech through Compelling Visual AidsTalking Tech through Compelling Visual Aids
Talking Tech through Compelling Visual Aids
MattVassar1
 
How to stay relevant as a cyber professional: Skills, trends and career paths...
How to stay relevant as a cyber professional: Skills, trends and career paths...How to stay relevant as a cyber professional: Skills, trends and career paths...
How to stay relevant as a cyber professional: Skills, trends and career paths...
Infosec
 
Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
MattVassar1
 
The Science of Learning: implications for modern teaching
The Science of Learning: implications for modern teachingThe Science of Learning: implications for modern teaching
The Science of Learning: implications for modern teaching
Derek Wenmoth
 
managing Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptxmanaging Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptx
nabaegha
 
Opportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive themOpportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive them
EducationNC
 
A Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by QuizzitoA Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by Quizzito
Quizzito The Quiz Society of Gargi College
 
Information and Communication Technology in Education
Information and Communication Technology in EducationInformation and Communication Technology in Education
Information and Communication Technology in Education
MJDuyan
 
pol sci Election and Representation Class 11 Notes.pdf
pol sci Election and Representation Class 11 Notes.pdfpol sci Election and Representation Class 11 Notes.pdf
pol sci Election and Representation Class 11 Notes.pdf
BiplabHalder13
 

Recently uploaded (20)

220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
 
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptxScience-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
 
Erasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES CroatiaErasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES Croatia
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
 
nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...
 
Diversity Quiz Prelims by Quiz Club, IIT Kanpur
Diversity Quiz Prelims by Quiz Club, IIT KanpurDiversity Quiz Prelims by Quiz Club, IIT Kanpur
Diversity Quiz Prelims by Quiz Club, IIT Kanpur
 
Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
 
(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
 
Talking Tech through Compelling Visual Aids
Talking Tech through Compelling Visual AidsTalking Tech through Compelling Visual Aids
Talking Tech through Compelling Visual Aids
 
How to stay relevant as a cyber professional: Skills, trends and career paths...
How to stay relevant as a cyber professional: Skills, trends and career paths...How to stay relevant as a cyber professional: Skills, trends and career paths...
How to stay relevant as a cyber professional: Skills, trends and career paths...
 
Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
 
The Science of Learning: implications for modern teaching
The Science of Learning: implications for modern teachingThe Science of Learning: implications for modern teaching
The Science of Learning: implications for modern teaching
 
managing Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptxmanaging Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptx
 
Opportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive themOpportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive them
 
A Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by QuizzitoA Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by Quizzito
 
Information and Communication Technology in Education
Information and Communication Technology in EducationInformation and Communication Technology in Education
Information and Communication Technology in Education
 
pol sci Election and Representation Class 11 Notes.pdf
pol sci Election and Representation Class 11 Notes.pdfpol sci Election and Representation Class 11 Notes.pdf
pol sci Election and Representation Class 11 Notes.pdf
 

Product Quality: Metrics, Verification, Validation, Testing

  • 1. Arab Open University 2nd Semester, 2006-2007 M301 Unit 5.3 Product Quality: Metrics, Verification, Validation, Testing reem.attas@arabou.org.sa
  • 2. Reem AlAttas © 2 Topic Road Map  Introduction to software quality Verification, validation and testing Measuring software quality factors Testing techniques Formal technical reviews
  • 3. Reem AlAttas © 3 What is software quality? Software that is fit for its purpose and is of sufficiently high quality is said to be of appropriate quality, i.e. in conformance to the requirements and expectations of the customer.
  • 4. Reem AlAttas © 4 Requirements  There are three general types of requirements that have an effect on software product quality:  Product operation requirements how the product will be used by the end user?  Product revision requirements how the product will be changed?  Product transition requirements how the product will be modified for different operating environments?
  • 5. Reem AlAttas © 5 Product operation requirements 1. Correctness: that attribute which determines how well a system fulfils the customer’s overall objectives; 2. Reliability: that attribute which determines system can be expected to perform its intended function; 3. Efficiency: that attribute which determines the level of computing resources required perform its function; 4. Integrity: that attribute which determines how well the data is secured; 5. Usability: that attribute which determines how easy the system is to use.
  • 6. Reem AlAttas © 6 Product revision requirements 1. Maintainability: that attribute which determines how easily bugs can be found and fixed. 2. Flexibility: that attribute which determines the effort required to modify an operational system. 3. Testability: that attribute which determines how easily the system can be tested to show that the customer’s requirements have been met.
  • 7. Reem AlAttas © 7 Product transition requirements 1. Portability: that attribute which determines how easily the system can be used on another machine 2. Reusability: that attribute which determines how easy it is to reuse some of the software to make future developments more cost-effective 3. Interoperability: that attribute which determines the effort required to couple one system to another.
  • 8. Reem AlAttas © 8 Primary Software Quality Factors (SQFs) 1. Correctness. 2. Integrity. 3. Maintainability. 4. Usability.
  • 9. Reem AlAttas © 9 Correctness Measure The popular measure for assessing correctness is defects per thousand lines of code (defects per KLOC) Defect (bug): verified lack of conformance to requirements.
  • 10. Reem AlAttas © 10 Integrity Measure Integrity is measured by considering the proportion of ‘attacks’ on a product as opposed to bona fide uses.
  • 11. Reem AlAttas © 11 Example
  • 12. Reem AlAttas © 12 Topic Road Map Introduction to software quality  Verification, validation and testing Measuring software quality factors Testing techniques Formal technical reviews
  • 13. Reem AlAttas © 13 Verification The process of checking that each system description is selfconsistent, and that different system descriptions are consistent and complete with respect to each other.
  • 14. Reem AlAttas © 14 Validation The process of checking that each system description is consistent with the customer’s requirements.
  • 15. Reem AlAttas © 15 Consistency Two system descriptions are consistent simply means that, where they describe the same part of the system, they do not contradict each other. Consistency with a customer requirement means that the requirement is met.
  • 16. Reem AlAttas © 16 Completeness Every aspect of the customer’s requirements must be met by the system description. More difficult task than showing consistency.
  • 17. Reem AlAttas © 17 Testing The process of executing a software system, or part of a software system, in order to check that it meets its requirements. It is any form of validation or verification that operates on program code.
  • 18. Reem AlAttas © 18 Test Procedure Select some test data. Predict the results that should be expected. Check whether the software conforms to our expectations.
  • 19. Reem AlAttas © 19 Role of Testing Help finding and fixing bugs. Improve the customer’s confidence in a software product. Improve the testing process itself.  A cost–benefit analysis of ‘bugs found’ versus ‘time taken’ can be performed to determine when testing should stop.
  • 20. Reem AlAttas © 20 Types of Testing 1. Usability testing. 2. Developmental testing: checks that developmental activities have been carried out correctly. 3. Requirements-based testing: checks that a system meets the customer’s requirements. 4. Regression testing: occurs during developmental testing and system maintenance, and checks that fixing one bug has not introduced others.
  • 21. Reem AlAttas © 21 Developmental testing stages  Unit testing, in which units of functionality (e.g. The classes in an object-oriented system) are tested in isolation.  Integration testing, in which previously unit- tested units are tested together.  System testing, in which the completed system is tested against the customer’s requirements.
  • 22. Reem AlAttas © 22 Requirements testing stage Acceptance testing, which is performed by the customer, and after which (all being well) the system is accepted as complete.
  • 23. Reem AlAttas © 23 Topic Road Map Introduction to software quality Verification, validation and testing  Measuring software quality factors Testing techniques Formal technical reviews
  • 24. Reem AlAttas © 24 Measuring Quality  The quality of a software product can be measured by obtaining values for the eleven software quality factors (SQFs)  Obtaining such values is not a trivial task, as there is no obvious way of evaluating a product against these factors.  What we must do is to find properties of software products which are measurable, and use these to infer the values for the SQFs. 1. Correctness 2. Reliability 3. Efficiency 4. Integrity 5. Usability 6. Maintainability 7. Flexibility 8. Testability 9. Portability 10. Reusability 11. Interoperability
  • 25. Reem AlAttas © 25 Software Metrics 1. Accuracy 2. Auditability 3. Communication commonality 4. Completeness 5. Complexity 6. Conciseness 7. Consistency 8. Data commonality 9. Execution efficiency 10. Expandability 11. Generality 12. Hardware independence 13. Instrumentation 14. Modularity 15. Operability 16. Robustness 17. Security 18. Self-documentation 19. System independence 20. Traceability 21. Training
  • 26. Reem AlAttas © 26 The Dependence of the SQFs on the Metrics
  • 27. Reem AlAttas © 27 Ex. The Relationship Between Reliability and the Metrics  F  value for the SQF, reliability.  m  measured values for the metrics which relate to the SQF, reliability.  c  weightings indicating the relative importance of the metrics with respect to the SQF, reliability.
  • 28. Reem AlAttas © 28 Measuring System Complexity 1. Lines-of-code Metric: measures the complexity of a method by counting the number of lines-of-code.  More LOC  more errors.  Should comment lines be included in the line count?
  • 29. Reem AlAttas © 29 … Measuring System Complexity 2. McCabe’s Cyclomatic-complexity Metric: measures the complexity of a method by counting the number of independent paths through a method body.  A method body starts and completes its execution defines one independent path.  The number of independent paths through a piece of code can be calculated by counting the number of decision points.  Each if statement adds a decision point.  Each while, do-while and for loop adds a decision point.  Each switch statement adds one decision point for each of the cases it tests for, excluding any default case.  Each try statement adds one decision point per catch block, but any finally block is not a decision point, as it will always be executed.  The operators && and || each add a decision point.
  • 30. Reem AlAttas © 30 … Measuring System Complexity A cyclomatic-complexity of ten or more should be a hint that a method body should be restructured into two or more simpler methods.
  • 31. Reem AlAttas © 31 Modern Object-oriented Metrics  Depth of inheritance tree (DIT): its number of ancestors.  Coupling between objects (CBO): the number of has-a relationships the class has with other classes.  Number of children (NOC): the number of children for that class.  Response for a class (RFAC): the size of the response set for the class, which consists of all the methods of that class together with all the methods of other classes called by those methods.  Lack of cohesion in methods (LCOM): its cohesiveness.  Weighted methods per class (WMPC): its complexity of behavior  the sum of the cyclomatic complexities of each method of the class.
  • 32. Reem AlAttas © 32 Topic Road Map Introduction to software quality Verification, validation and testing Measuring software quality factors  Testing techniques Formal technical reviews
  • 33. Reem AlAttas © 33 Testing Techniques Black-box testing we choose test cases by looking at the specification (i.e. requirements and high-level design) of the system to be tested. White-box testing we choose test cases by looking at the detail of the implementation of the system to be tested.
  • 34. Reem AlAttas © 34 A strategy for black-box testing (using partitioning) 1. For each method in the class, determine the input data space. 2. Partition the input data space into sub- domains. 3. Test all sub-domains given by the case analysis.
  • 35. Reem AlAttas © 35 Step 1
  • 36. Reem AlAttas © 36 Step 2
  • 37. Reem AlAttas © 37 Step 3
  • 38. Reem AlAttas © 38 White-box Testing Techniques Basis-path testing. Loop testing.
  • 39. Reem AlAttas © 39 Basis-path testing  Ensures that all reachable statements in a method are tested at least once.  Select data which will exercise the straight-through path, i.e., loop and if conditions evaluate to false, and only default cases selected in switch statements.  Then, find data that deviates from the straight-through path at the first decision point.  The process is then repeated for each subsequent decision point in the program, varying the flow in each case.
  • 40. Reem AlAttas © 40 Loop testing Used to test loop constructs. In Java, there are three ways in which loops can occur:  Simple loops.  Nested loops.  Concatenated loops.
  • 41. Reem AlAttas © 41 Simple loops forms  Test data should be found for the following cases:  the loop is skipped entirely  the loop is passed through exactly once  the loop is passed through more than once, maximum n times  m times, where 3 < m < n – 2  pass through the loop n – 1, n and n + 1 times.
  • 42. Reem AlAttas © 42 Nested loops form  Approach:  Start with the innermost loop.  Work outwards.  Repeat step 2 until all loops are tested.
  • 43. Reem AlAttas © 43 Concatenated loops  Concatenated loops can be tested separately using sequential simple loop tests
  • 44. Reem AlAttas © 44 Topic Road Map Introduction to software quality Verification, validation and testing Measuring software quality factors Testing techniques  Formal technical reviews
  • 45. Reem AlAttas © 45 Inspections (Formal Technical Reviews) A formal, efficient, and economical method of finding errors in design and code.
  翻译: