SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Software Defects and
SW Reliability Assessment
Kristine Hejna
Maybe you don’t know
• A lot of good work has been done on Software
Defect Metrics.
• Everyone makes mistakes
– Ok, you probably know that – Internalize it!
• You can apply many traditional quality
concepts to software development
– But Zero Defects is not applicable
This should be of interest to quality people interested
in assessing software quality across the lifecycle,
software engineers interested in improving product
quality, and reliability engineers who have not seen
how reliability is assessed in software.
This is not about testing.
Starting Points
• Software Development Life Cycle(SDLC) means
waterfall or agile, iterative, evolutionary, or ?
• A defect is anything that will cause you to change
something you thought you had finished
By caring about defect metrics you understand that you will
have to record and analyze information that doesn’t add
value to your product. It may reduce the cost of the value-
added steps, or reduce other non-value-added work.
All SW Dev has a lifecycle
• Ideally –
– Requirements – learn what the user needs, and what that means
in a computer system
– Design – choose the method for meeting the needs that is
sufficient and cost-effective
– Code (or Implement) - create the sequenced commands and
instructions to the computer system to implement the design
– Test – check that
• Your code implements the design
• Your product satisfies the user need
– Deliver and Support
Dimensions of Software Quality
• Accessibility: The degree to which software can be used comfortably by a wide variety of people, including those
who require assistive technologies like screen magnifiers or voice recognition.
• Compatibility: The suitability for use in different environments like different Operating Systems, Browsers, etc.
• Concurrency: The ability of software to service multiple requests to the same resources at the same time.
• Efficiency: The ability of software to perform well or achieve a result without wasted energy, resources, effort,
time or money.
• Functionality: The ability of software to carry out the functions as specified or desired.
• Installability: The ability of software to be installed in a specified environment.
• Localizability: The ability of software to be used in different languages, time zones etc.
• Maintainability: The ease with which software can be modified (adding or enhancing features, fixing bugs, etc)
• Performance: The speed at which software performs under a particular load.
• Portability: The ability of software to be transferred easily from one location to another.
• Reliability: The ability of software to perform a required function under stated conditions for stated period of time
without any errors.
• Scalability: The measure of software’s ability to increase or decrease in performance in response to changes in
software’s processing demands.
• Security: The extent of protection against unauthorized access, invasion of privacy, theft, loss of data, etc.
• Testability: The ability of software to be easily tested.
• Usability: The degree of software’s ease of use.
Track the Defects
• Record all instances that you or others discover that will make you change the
requirements, the design, the code, the test, the documentation, or any other part
of the product you had assumed didn’t need more work.
• Use a tool, it makes it much easier.
• Track the date, and who found it. You might find one person is a really picky
reviewer.
• Record the lifecycle phase when the defect occurred (did you miss a
requirement?), and when it was found (and the customer won’t accept sans serif
fonts at the final turnover test.)
• Track the cause. With practice and a little thought about how you go about
things, you will find that you have a limited set of causes. This is where
Orthogonal Defect Classification comes in.
Analyze the Defects
• Why collect this info unless you can learn
something?
– One thing you learn is each development is different
• Different team
• Different environment
• Different product
• Different types and numbers of defects
– SW not truly “repeatable process”
• Enough similarities to benefit from analysis
Example –
Different defect profiles
Comm
Satellite
Antenna
• HW focus
• New team
Modem
• HW Focus
• Experienced
team
New Signal
• Message focus
• New team
Old signal
• Message Focus
• Old team
Reliability –
Reduce defects after delivery
0
5
10
15
20
25
30
35
Requirements Design Code Test cycle 1 Test Cycle 2 Test Cycle 3 Post Delivery
Fake Data
insert Detect Rayleigh
FACT: Defect discovery plotted over time as a frequency chart follows a Rayleigh distribution.
Rayleigh Distributions
• Ship Shape
• A target level
for defects
found after
delivery marked
on your plot and
tells you when
you can ship at
that defect
level.
Reliability Growth Function
• Gets better with
time (duh)
• Follows an S
curve (also
unsurprising)
• Inverse Rayleigh
Requirements Defects
• Customers can leave out information that they take for granted.
– “You can crowd the screens with options, I don’t
care” As long as you make the options far enough apart that I can use a
touch interface.
• You can misunderstand, or flub your translation.
• They can be vague, or so detailed that they can’t be tested with
deliverable code (need to have debug features compiled on, for
example).
TERMINOLOGY:
Defects are inserted or injected. This
sounds like you meant it to happen. Don’t
worry about it. They happen, nobody is
perfect.
Design Defects
• When the design will not actually satisfy the
requirements, or when it is incomplete, often with
respect to off-nominal conditions, or failure to
consider constraints.
– Developers tend to think about achieving the
functionality, not about what could go wrong.
– Engineers tend to think within their specialty, which is
why we want “specialty engineering” involved in
design review as well as systems engineers
• Human factors, security, reliability, mechanical
Code Defects
• “Correct” code and lint
• Code that doesn’t do what you think you said
• Insecure code, fragile code, inefficient code
• Code that doesn’t implement the design or
• Code that doesn’t satisfy the requirements
• It is often more valuable to the coder than the
project to track the kinds of coding mistakes
Test Defects
• Seems like something that should not happen
• Happened at my job last week
• People staying up late to finish something take
shortcuts
• Could be configuration management -
– Not the right test config, or data
• Could be testers didn’t get the same message from
the requirements
Classifying Defects - Cause
• Orthogonal Defect Classification (ODC)
– developed in late 1980’s and 1990’s.
– is known to reduce the time taken to perform root
cause analysis by over a factor of 10. The gains come
primarily from a different approach to root cause
analysis, where the ODC data is generated rapidly (in
minutes, as opposed to hours per defect) and analytics
used for the cause and effect analysis
Classifying Defect Causes
• You can use ODC, but it can be unsatisfying
• Allow speculation on cause or description of the problem
– at least 256 characters
• It might be nice to have a separate field for text and a
drop down for faster categorization
• Cause or reason could be the lack of one of the
Dimensions of Software Quality
• More work for analysis, can lead to better long term
results and reliability analysis.
Classifying Defects - Severity
• DEFECT SEVERITY – How bad is the problem?
– Severity and Priority not the same
– Severity and Impact are (usually) the same
• Critical: Defect affects the critical functionality & prevents further application
testing. No workaround.
• Major: Major functionality not working but able to test application. It has
workaround but not obvious.
• Minor: Doesn’t work right, but has a usable workaround
• Trivial: Not as good as it could be or should be, but still works.
Classifying Defects
Priority and Probability
• Priority – how soon does it need to be fixed?
– Sometimes a defect needs to be fixed right away even
when it has a workaround.
– For instance, a feature needed for a demonstration
• Probability – how likely is it to be encountered
– Like risk, probability assessed on 2 factors
– (Frequency of feature use) X (noticeability of bug)
• A spelling error on main page, on an obscure word
More classifications
• Status
– Open – Closed – Deferred – Cancelled – Rejected
– I suggest also “assigned”, “in work”
– Check workflows in tools like Jira
• Once it has been fixed – what component/module
had the problem
Reliability Analysis
• Predicting distribution by time and severity of
defect detections during post-delivery operation.
– Usually not a bathtub model for software –
• It doesn’t wear out and get worse
– Not a Poisson model, with randomly encountered
objects along the path
– Follows the same Rayleigh if you continue to update
the software (fix the found bugs)
– Make use of the defect probability assessment
Resources - Online
• Orthogonal Defect Classification
– http://researcher.watson.ibm.com/researcher/view_gro
up.php?id=480
– https://en.wikipedia.org/wiki/Orthogonal_Defect_Clas
sification
• Standards
– http://standards.ieee.org/findstds/standard/software_an
d_systems_engineering.html
Resources - Online
• Software Reliability
– https://en.wikipedia.org/wiki/Software_reliability_testing -
10K foot level, use its references
– http://johnmusa.com/
– http://www.weibull.com/hotwire/issue84/relbasics84.htm
– http://www.se.rit.edu/~swen-
350/slides/SoftwareReliabilityEngineering.pdf
– http://www.dote.osd.mil/docs/dote-temp-
guidebook/Sw_ReliabilityGrowthApproach_RAMS2013_v1a.p
df
Resources - Online
• Defect Classification for testers
– http://www.requirementdriventesting.com/software-
test-methodology-rdtrule6/
– http://www.softwaretestingstuff.com/2008/05/classific
ation-of-defects-bugs.html
– http://softwaretestingfundamentals.com/defect/
– http://www.softwaretestingclass.com/
– http://www.testingexcellence.com/
– severity-and-priority-difference/
– defect-clustering-in-software-testing/

Contenu connexe

Tendances

Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming Fatemeh Karimi
 
Software Testing As a Career Path
Software Testing As a Career PathSoftware Testing As a Career Path
Software Testing As a Career PathRock Interview
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandDavid O'Dowd
 
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...IBM Danmark
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)Amardeep Vishwakarma
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XPVashira Ravipanich
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingaaina_katyal
 
Career Paths for Software Professionals
Career Paths for Software ProfessionalsCareer Paths for Software Professionals
Career Paths for Software ProfessionalsAhmed Misbah
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppNaresh Jain
 
Introduction to Quality Improvement
Introduction to Quality ImprovementIntroduction to Quality Improvement
Introduction to Quality ImprovementJoan Dembowski
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
Non functional requirements. do we really care…?
Non functional requirements. do we really care…?Non functional requirements. do we really care…?
Non functional requirements. do we really care…?OSSCube
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLCPaul Yang
 
Exploratory Mobile Testing Webinar_XBOSoft_jean_annharrison
Exploratory Mobile Testing Webinar_XBOSoft_jean_annharrisonExploratory Mobile Testing Webinar_XBOSoft_jean_annharrison
Exploratory Mobile Testing Webinar_XBOSoft_jean_annharrisonXBOSoft
 

Tendances (20)

Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
Software Testing As a Career Path
Software Testing As a Career PathSoftware Testing As a Career Path
Software Testing As a Career Path
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XP
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Career Paths for Software Professionals
Career Paths for Software ProfessionalsCareer Paths for Software Professionals
Career Paths for Software Professionals
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
XP In 10 slides
XP In 10 slidesXP In 10 slides
XP In 10 slides
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
 
Introduction to Quality Improvement
Introduction to Quality ImprovementIntroduction to Quality Improvement
Introduction to Quality Improvement
 
Software Design
Software DesignSoftware Design
Software Design
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Non functional requirements. do we really care…?
Non functional requirements. do we really care…?Non functional requirements. do we really care…?
Non functional requirements. do we really care…?
 
NYC MeetUp 10.9
NYC MeetUp 10.9NYC MeetUp 10.9
NYC MeetUp 10.9
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLC
 
Exploratory Mobile Testing Webinar_XBOSoft_jean_annharrison
Exploratory Mobile Testing Webinar_XBOSoft_jean_annharrisonExploratory Mobile Testing Webinar_XBOSoft_jean_annharrison
Exploratory Mobile Testing Webinar_XBOSoft_jean_annharrison
 
Getting deep
Getting deepGetting deep
Getting deep
 

Similaire à Software Defects and SW Reliability Assessment

Topic production code
Topic production codeTopic production code
Topic production codeKavi Kumar
 
Bug best practice
Bug best practiceBug best practice
Bug best practicegaoliang641
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauroMatt Tesauro
 
Continuous testing for continuous delivery
Continuous testing for continuous deliveryContinuous testing for continuous delivery
Continuous testing for continuous deliveryDavid Hart
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycleHoangThiHien1
 
PA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdfPA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdfhulk smash
 

Similaire à Software Defects and SW Reliability Assessment (20)

Topic production code
Topic production codeTopic production code
Topic production code
 
Design testabilty
Design testabiltyDesign testabilty
Design testabilty
 
Bug best practice
Bug best practiceBug best practice
Bug best practice
 
Unit 1.pptx
Unit 1.pptxUnit 1.pptx
Unit 1.pptx
 
CIS512_Topic1.pptx
CIS512_Topic1.pptxCIS512_Topic1.pptx
CIS512_Topic1.pptx
 
Software process models
Software process modelsSoftware process models
Software process models
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
The Waterfall Model
The Waterfall ModelThe Waterfall Model
The Waterfall Model
 
QA Basics and PM Overview
QA Basics and PM OverviewQA Basics and PM Overview
QA Basics and PM Overview
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
 
Continuous testing for continuous delivery
Continuous testing for continuous deliveryContinuous testing for continuous delivery
Continuous testing for continuous delivery
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Agile
AgileAgile
Agile
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
White box testing
White box testingWhite box testing
White box testing
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycle
 
PA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdfPA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdf
 

Dernier

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 

Dernier (20)

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

Software Defects and SW Reliability Assessment

  • 1. Software Defects and SW Reliability Assessment Kristine Hejna
  • 2. Maybe you don’t know • A lot of good work has been done on Software Defect Metrics. • Everyone makes mistakes – Ok, you probably know that – Internalize it! • You can apply many traditional quality concepts to software development – But Zero Defects is not applicable This should be of interest to quality people interested in assessing software quality across the lifecycle, software engineers interested in improving product quality, and reliability engineers who have not seen how reliability is assessed in software. This is not about testing.
  • 3. Starting Points • Software Development Life Cycle(SDLC) means waterfall or agile, iterative, evolutionary, or ? • A defect is anything that will cause you to change something you thought you had finished By caring about defect metrics you understand that you will have to record and analyze information that doesn’t add value to your product. It may reduce the cost of the value- added steps, or reduce other non-value-added work.
  • 4. All SW Dev has a lifecycle • Ideally – – Requirements – learn what the user needs, and what that means in a computer system – Design – choose the method for meeting the needs that is sufficient and cost-effective – Code (or Implement) - create the sequenced commands and instructions to the computer system to implement the design – Test – check that • Your code implements the design • Your product satisfies the user need – Deliver and Support
  • 5. Dimensions of Software Quality • Accessibility: The degree to which software can be used comfortably by a wide variety of people, including those who require assistive technologies like screen magnifiers or voice recognition. • Compatibility: The suitability for use in different environments like different Operating Systems, Browsers, etc. • Concurrency: The ability of software to service multiple requests to the same resources at the same time. • Efficiency: The ability of software to perform well or achieve a result without wasted energy, resources, effort, time or money. • Functionality: The ability of software to carry out the functions as specified or desired. • Installability: The ability of software to be installed in a specified environment. • Localizability: The ability of software to be used in different languages, time zones etc. • Maintainability: The ease with which software can be modified (adding or enhancing features, fixing bugs, etc) • Performance: The speed at which software performs under a particular load. • Portability: The ability of software to be transferred easily from one location to another. • Reliability: The ability of software to perform a required function under stated conditions for stated period of time without any errors. • Scalability: The measure of software’s ability to increase or decrease in performance in response to changes in software’s processing demands. • Security: The extent of protection against unauthorized access, invasion of privacy, theft, loss of data, etc. • Testability: The ability of software to be easily tested. • Usability: The degree of software’s ease of use.
  • 6. Track the Defects • Record all instances that you or others discover that will make you change the requirements, the design, the code, the test, the documentation, or any other part of the product you had assumed didn’t need more work. • Use a tool, it makes it much easier. • Track the date, and who found it. You might find one person is a really picky reviewer. • Record the lifecycle phase when the defect occurred (did you miss a requirement?), and when it was found (and the customer won’t accept sans serif fonts at the final turnover test.) • Track the cause. With practice and a little thought about how you go about things, you will find that you have a limited set of causes. This is where Orthogonal Defect Classification comes in.
  • 7. Analyze the Defects • Why collect this info unless you can learn something? – One thing you learn is each development is different • Different team • Different environment • Different product • Different types and numbers of defects – SW not truly “repeatable process” • Enough similarities to benefit from analysis
  • 8. Example – Different defect profiles Comm Satellite Antenna • HW focus • New team Modem • HW Focus • Experienced team New Signal • Message focus • New team Old signal • Message Focus • Old team
  • 9. Reliability – Reduce defects after delivery 0 5 10 15 20 25 30 35 Requirements Design Code Test cycle 1 Test Cycle 2 Test Cycle 3 Post Delivery Fake Data insert Detect Rayleigh FACT: Defect discovery plotted over time as a frequency chart follows a Rayleigh distribution.
  • 10. Rayleigh Distributions • Ship Shape • A target level for defects found after delivery marked on your plot and tells you when you can ship at that defect level.
  • 11. Reliability Growth Function • Gets better with time (duh) • Follows an S curve (also unsurprising) • Inverse Rayleigh
  • 12. Requirements Defects • Customers can leave out information that they take for granted. – “You can crowd the screens with options, I don’t care” As long as you make the options far enough apart that I can use a touch interface. • You can misunderstand, or flub your translation. • They can be vague, or so detailed that they can’t be tested with deliverable code (need to have debug features compiled on, for example). TERMINOLOGY: Defects are inserted or injected. This sounds like you meant it to happen. Don’t worry about it. They happen, nobody is perfect.
  • 13. Design Defects • When the design will not actually satisfy the requirements, or when it is incomplete, often with respect to off-nominal conditions, or failure to consider constraints. – Developers tend to think about achieving the functionality, not about what could go wrong. – Engineers tend to think within their specialty, which is why we want “specialty engineering” involved in design review as well as systems engineers • Human factors, security, reliability, mechanical
  • 14. Code Defects • “Correct” code and lint • Code that doesn’t do what you think you said • Insecure code, fragile code, inefficient code • Code that doesn’t implement the design or • Code that doesn’t satisfy the requirements • It is often more valuable to the coder than the project to track the kinds of coding mistakes
  • 15. Test Defects • Seems like something that should not happen • Happened at my job last week • People staying up late to finish something take shortcuts • Could be configuration management - – Not the right test config, or data • Could be testers didn’t get the same message from the requirements
  • 16. Classifying Defects - Cause • Orthogonal Defect Classification (ODC) – developed in late 1980’s and 1990’s. – is known to reduce the time taken to perform root cause analysis by over a factor of 10. The gains come primarily from a different approach to root cause analysis, where the ODC data is generated rapidly (in minutes, as opposed to hours per defect) and analytics used for the cause and effect analysis
  • 17. Classifying Defect Causes • You can use ODC, but it can be unsatisfying • Allow speculation on cause or description of the problem – at least 256 characters • It might be nice to have a separate field for text and a drop down for faster categorization • Cause or reason could be the lack of one of the Dimensions of Software Quality • More work for analysis, can lead to better long term results and reliability analysis.
  • 18. Classifying Defects - Severity • DEFECT SEVERITY – How bad is the problem? – Severity and Priority not the same – Severity and Impact are (usually) the same • Critical: Defect affects the critical functionality & prevents further application testing. No workaround. • Major: Major functionality not working but able to test application. It has workaround but not obvious. • Minor: Doesn’t work right, but has a usable workaround • Trivial: Not as good as it could be or should be, but still works.
  • 19. Classifying Defects Priority and Probability • Priority – how soon does it need to be fixed? – Sometimes a defect needs to be fixed right away even when it has a workaround. – For instance, a feature needed for a demonstration • Probability – how likely is it to be encountered – Like risk, probability assessed on 2 factors – (Frequency of feature use) X (noticeability of bug) • A spelling error on main page, on an obscure word
  • 20. More classifications • Status – Open – Closed – Deferred – Cancelled – Rejected – I suggest also “assigned”, “in work” – Check workflows in tools like Jira • Once it has been fixed – what component/module had the problem
  • 21. Reliability Analysis • Predicting distribution by time and severity of defect detections during post-delivery operation. – Usually not a bathtub model for software – • It doesn’t wear out and get worse – Not a Poisson model, with randomly encountered objects along the path – Follows the same Rayleigh if you continue to update the software (fix the found bugs) – Make use of the defect probability assessment
  • 22. Resources - Online • Orthogonal Defect Classification – http://researcher.watson.ibm.com/researcher/view_gro up.php?id=480 – https://en.wikipedia.org/wiki/Orthogonal_Defect_Clas sification • Standards – http://standards.ieee.org/findstds/standard/software_an d_systems_engineering.html
  • 23. Resources - Online • Software Reliability – https://en.wikipedia.org/wiki/Software_reliability_testing - 10K foot level, use its references – http://johnmusa.com/ – http://www.weibull.com/hotwire/issue84/relbasics84.htm – http://www.se.rit.edu/~swen- 350/slides/SoftwareReliabilityEngineering.pdf – http://www.dote.osd.mil/docs/dote-temp- guidebook/Sw_ReliabilityGrowthApproach_RAMS2013_v1a.p df
  • 24. Resources - Online • Defect Classification for testers – http://www.requirementdriventesting.com/software- test-methodology-rdtrule6/ – http://www.softwaretestingstuff.com/2008/05/classific ation-of-defects-bugs.html – http://softwaretestingfundamentals.com/defect/ – http://www.softwaretestingclass.com/ – http://www.testingexcellence.com/ – severity-and-priority-difference/ – defect-clustering-in-software-testing/