SlideShare una empresa de Scribd logo
1 de 45
Prince Bhanwra 801031024 Thapar University Software Quality & Standards
What isSoftware Quality ?? 1 3 2 High quality software meets the needs of users while being reliable, well supported, maintainable, portable and easily integrated with other tools. Is higher quality better? Is it more expensive? - Not always, on both counts. We will look at how to achievequality, the tradeoffs involved, modeling quality improvement and standards designed to ensure quality.
Making changes to improve software quality requires time and money to: • Spot the problem • Isolate its source • Fix the requirements, design, and code • Test the fix for this problem • Test the fix has not caused new problems • Change the documentation   Cost/BenefitTradeoff
Meeting the needs of users (not to mention marketing) requires adding features.   • However, given a fixed amount of development time and money,    adding features adds bugs and reduces time for testing. • Do the features increase user productivity more than the bugs decrease it..? ,[object Object],  Feature/Bug Tradeoff
But is increasing quality always more expensive, in terms of total cost of production and maintenance? NO   In fact, if you focus on quality from the scratch, then: You tend to produce components with fewer defects, so   • You spend less time debugging, thus   • You have more time in your schedule for improving other aspects of quality, like usability etc. Quality for free?
If you don’t focus on product quality then:  • You tend to produce components with more (hidden) defects, so  	• You have to spend more time fixing these (late), so   	• You have little time for anything else, so   	• You produce poor quality software even though you put huge amounts of effort into defect checking   Thus quality is something that has to be considered throughout the product lifecycle; it cannot be added in later. Skimp Now,	Pay Later
Thus it makes sense to focus on improving component quality before testing, to catch difficult defects early. QualityDelaysareExpensive
A study estimates that experienced software engineers normally inject 100 or more defects per KLOC.   Perhaps half of these are detected automatically (e.g. by the compiler).   So a 50 KLOC program probably contains around 2500 defects to find (semi-)manually.   Suppose we need about five hours to find each of these defects by testing. That’s over 20000 hours for the whole program - bad news. BetterQuality Through Testing?
Code inspection may be able to find up to (say) 70% of these defects in 0.5 hours per defect.   So the first 1750 defects could take 875 hours; then we only have 750 to find in testing at (say) 8 hours each. That’s less than 7000 hours in total - better news. BetterQuality ThroughInspection?
   where:  • y(N ) is fraction of defects removed in step N   • r(N ) is the number of defects removed at step N .   • e(N ) is the number of defects escaping at step N . The difficulty with this equation is that we can only estimate e(N ) as a function of e(1), . . . , e(N  − 1).    Notice that e(N ) can increase when a change injects defects. ModelingQuality Improvement y(N ) =        r(N )    _ r(N )+e(N )
Suppose you have 1000 KLOC with an average of 100 defects per KLOC. That’s 100 000 defects to find.   Scenario 1:   • You have an inspection process which finds 75% of these, leaving 25000 to find in test.   • You then use 4 levels of test, each trapping 50% of remaining defects. That leaves 1562 defects in the final code.     Sounds good so far... Sensitivityto Inspection Yield (1)
Scenario 2:   • Your inspection process only finds 50% of defects, leaving 50000 to find in test.   • The same 4 levels of test each trap 50% of remaining defects. That leaves 3125 defects in the final code.     So a 33% drop in yield in inspection caused a doubling in the number of remaining defects. Thus the effectiveness of your inspection process is crucial. Sensitivity to Inspection Yield (2)
Assuming we start with no defects, Pi = (1 − p)i , where: • p is the probability of injecting a defect at a stage. • i is the number of stages. • P  is the probability of a defect-free product at stage i.       A high probability of fault injection in one step radically drops the overall probability of freedom from defects: (1 − 0.01)10 = 0.904 Sensitivityto Defect Injection (1 − 0.01)9 ∗ (1 − 0.5)1 = 0.4567
Ri = N  ∗ (1 − y)i , where: • N  is the initial number of defects. • y the fraction of defects removed per stage. • i is the number of stages. • Ri is the number of defects remaining at stage i.     Dropping a lot lower on one stage of a high quality defect removal process has a small effect on overall yield. 100000 ∗ (1 − 0.8)5 = 32     Thus being defect-free is better than relying on fixes. Sensitivityto Defect Removal 100000 ∗ (1 − 0.8)4 ∗ (1 − 0.4) = 96
If we had no resource limitations then an 80-40 test-inspection yield is no different from a 40-80 yield.     But test defect correction typically involves more labor than inspection defect correction, so it costs more and the extra labor means . . . more opportunities for defect injection.   So manage for maximum return for minimum cost and, if in doubt, attempt to maximize on early design stages. Yield Management
Most products have safety standards, and many have usability standards, but computer software rarely has such standards.   Can quality be improved by enforcing standards? Unclear:   • It is very difficult to enforce standards on actual program behavior   • Standardizing the process can help make sure that no steps are skipped, but  	• Standardizing to an inappropriate process can reduce 	    productivity, and thus leave less time for quality BetterQuality via Standards?
According to the IEEE Comp. Soc. Software Engineering   Standards Committee a standard can be: • An object or measure of comparison that defines or represents the magnitude of a unit   • A characterization that establishes allowable tolerances or constraints for categories of items,   • A degree (or level) of required excellence (or attainment) Software EngineeringStandards
  Repeatability: e.g. Repeating complex inspection processes Consensus wisdom: 	e.g. Software metrics Cross-specialisation: 	e.g. Software safety standards Customer protection:	 e.g. Quality assurance standards Professional discipline: e.g. V & V standards Badging: e.g. Capability Maturity Model levels WhyBother with Standards?
Comparatively few software products are forced by law to comply with specific standards, and most have comprehensive non-warranty disclaimers. However:   • For particularly sensitive applications (e.g. safety critical) your software will have to meet certain standards before purchase   • US courts have used voluntary standards to establish a supplier’s “duty of care” Legal	Implications	(1)
Adherence to standards is a strong defense against negligence claims (admissible in court in most US states)     There are instances of faults in products being traced back to faults in standards, so     Standards writers must themselves be vigilant against malpractice suits Legal	Implications	(2)
ANSI:	American National Standards Institute. Does not itself make standards but approves them AIAA:	American Institute of Aeronautics and Astronautics (e.g. AIAA R-013-1992 Recommended Practice for Software Reliability). EIA:	Electronic Industries Association (e.g. EIA/IS-632 Systems Engineering)    IEC:	International Electrotechnical Commission (e.g. IEC 61508 Functional Safety - Safety-Related Systems)   IEEE:	Institute of Electrical and Electronics Engineers Computer Society Software Engineering Standards Committee (e.g.IEEE Std 1228-1994 Standard for Software Safety Plans)   ISO:	International Organization for Standardization (e.g. ISO 9000 Standard for SQM & SQA) Some Standards Organizations
ComputerScience Standards Surprisingly few CS standards exist, although one could argue this is because CS is pervasive in others.   Examples:   Terminology: 	IEEE Std 610.12:1990 Standard Glossary of Software Engineering Terminology     Techniques: 	ISO/IEC 8631:1989 Program Constructs and Conventions for their Representation
QualityAssurance Standards Differing views of quality standards:  ,[object Object]
Analytical view (that good measurement frameworks yield high quality). Examples:   Quality management: 	ISO 9000-3 Quality Management and Quality Assurance Standards - Part 3: Guidelines for the application of 9001 to the development, supply, installation and maintenance of computer software   Quality measurement: 	IEEE Std 1061-1992 Standard for Software Quality Metrics Methodology
Dependability Standards (1) ,[object Object]
Dependability of software isn’t just a question of internal measures (e.g. availability, reliability) but also broader issues (e.g. maintainability)  Dependability standards often set integrity levels necessary to maintain system risks within acceptable limits.
Dependability Standards (2) Examples:   Dependability management: 	IEC 300-1(1993) Dependability management Part 1: Dependability programemanagement Risk analysis: 	IEC 1025(1990) Fault Tree Analysis   Reliability: 	AIAA R-013-1992 Recommended Practice for Software Reliability
Safety Standards These traditionally come out of specific industrial sectors (e.g. Nuclear Society, Ministry of Defense), since safety requires deep analysis of the domain as well as the technology.  Examples:   Safety plans: IEEE Std 1228-1994 Standard for Software Safety Plans   Functional safety: IEC 61508 Functional Safety - Safety-Related Systems   Nuclear domain: IEE 603 Criteria for Safety Systems of Nuclear Plants
Resources Standards Although software engineering is in flux, it is possible to standardize on some forms of resources which are used widely across applications.  Examples: Terminology: 	IEEE 610,12-1990 Standard Glossary of Software Engineering terminology   Semantics: 	IEEE P1320.1 Standard Syntax and Semantics for IDEF0   Re-use libraries: 	AIAA G-010-1993 Guide for Reusable Software: Assessment Criteria for Aerospace Application   Tools: 	ISO/IEC 14102:1995 Guideline for the Evaluation and Selection of ASE tools
Product Standards These focus on the products of software engineering, rather than on the processes used to obtain them. Perhaps surprisingly, product standards seem difficult to obtain. Examples:     Product evaluation: ISO/IEC 14598 Software product evaluation     Packaging: ISO/IEC 12119:1994 Software Packages - Quality Requirements and Testing
Process Standards A popular focus of standardization, partly because product standardization is elusive and partly because much has been gained by refining process. Much of software engineering is in fact the study of process.  Examples: Life cycle: 	ISO/IEC 12207:1995 Information Technology - Software Life Cycle Processes   Acquisition: 	ISO/IEC 15026 System and software Integrity Levels   Maintenance: 	IEEE Std 1219-1992 Standard for Software Maintenance   Productivity: 	IEE Std 1045-1992 Standard for Software Productivity Metrics
Company Guidelines Specific companies may develop their own guidelines for system/software design. These define good practice within a company. They often conform to more general standards. Example:   Shell UK Code of Practice: Fire and Gas Detection and Alarm Systems for Offshore Installations. Describes what a fire and gas alarm system must do; prescribes properties of that system; sets goals for achieving those properties; gives examples of typical design solutions.
Trends • Concern about absence of scientific foundation for standards   • Recognition that standards usually aren’t isolated   • Questioning of software (non)warranty agreements
Some Facts ,[object Object]
85% of registered firms report external benefits
Higher perceived quality
Greater customer demand
95% report internal benefits
Greater employee awareness
Increased operational efficiency
Reduced scrap expense,[object Object]
Increased Productivity
Reduced scrap and waste
Record sales level
Catching inferior raw materials before they were used

Más contenido relacionado

La actualidad más candente

Test Estimation using Test Case Point Analysis method
Test Estimation using Test Case Point Analysis methodTest Estimation using Test Case Point Analysis method
Test Estimation using Test Case Point Analysis methodKMS Technology
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010TEST Huddle
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2onsoftwaretest
 
ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0Samer Desouky
 
Fundamentals of testing 1
Fundamentals of testing 1Fundamentals of testing 1
Fundamentals of testing 1Hoang Nguyen
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysisvuqn
 
Otto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialOtto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialTEST Huddle
 
Software Testing - Defect Metrics & Analysis
Software Testing - Defect Metrics & AnalysisSoftware Testing - Defect Metrics & Analysis
Software Testing - Defect Metrics & AnalysisOAK Systems Pvt Ltd
 
Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success TEST Huddle
 
Test Estimation in Practice
Test Estimation in PracticeTest Estimation in Practice
Test Estimation in PracticeTechWell
 
Istqb intro with question answer for exam preparation
Istqb intro with question answer for exam preparationIstqb intro with question answer for exam preparation
Istqb intro with question answer for exam preparationKevalkumar Shah
 
Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsYogindernath Gupta
 
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...TEST Huddle
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case WritingSitdhibong Laokok
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life CycleUdayakumar Sree
 
Defect prevention techniques
Defect prevention techniquesDefect prevention techniques
Defect prevention techniquesZarko Acimovic
 
Testing artifacts test cases
Testing artifacts   test casesTesting artifacts   test cases
Testing artifacts test casesPetro Chernii
 
Test effort estimation
Test effort estimationTest effort estimation
Test effort estimationramesh kumar
 

La actualidad más candente (20)

Test Estimation using Test Case Point Analysis method
Test Estimation using Test Case Point Analysis methodTest Estimation using Test Case Point Analysis method
Test Estimation using Test Case Point Analysis method
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2
 
ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0
 
Fundamentals of testing 1
Fundamentals of testing 1Fundamentals of testing 1
Fundamentals of testing 1
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysis
 
Otto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialOtto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement Potential
 
Software Testing - Defect Metrics & Analysis
Software Testing - Defect Metrics & AnalysisSoftware Testing - Defect Metrics & Analysis
Software Testing - Defect Metrics & Analysis
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success
 
Test Estimation in Practice
Test Estimation in PracticeTest Estimation in Practice
Test Estimation in Practice
 
Istqb intro with question answer for exam preparation
Istqb intro with question answer for exam preparationIstqb intro with question answer for exam preparation
Istqb intro with question answer for exam preparation
 
Istqb ctfl syll 2011
Istqb ctfl syll 2011Istqb ctfl syll 2011
Istqb ctfl syll 2011
 
Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB Certifications
 
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case Writing
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Defect prevention techniques
Defect prevention techniquesDefect prevention techniques
Defect prevention techniques
 
Testing artifacts test cases
Testing artifacts   test casesTesting artifacts   test cases
Testing artifacts test cases
 
Test effort estimation
Test effort estimationTest effort estimation
Test effort estimation
 

Destacado

21 CFR Part 11 Compliance
21 CFR Part 11 Compliance21 CFR Part 11 Compliance
21 CFR Part 11 ComplianceAITalent
 
Introduction to ISO 9000
Introduction to ISO 9000Introduction to ISO 9000
Introduction to ISO 9000Ketan Shahade
 
ISO 9000 Quality Management System - A Presentation by Akshay Anand
ISO 9000 Quality Management System - A Presentation by Akshay AnandISO 9000 Quality Management System - A Presentation by Akshay Anand
ISO 9000 Quality Management System - A Presentation by Akshay AnandAkshay Anand
 
Iso 9000 Presentation
Iso 9000 PresentationIso 9000 Presentation
Iso 9000 Presentationjeff_tuthill
 
ISO 9000
ISO 9000ISO 9000
ISO 900017somya
 

Destacado (7)

Food Regulations, Safety & Quality Standards in India_2012
Food Regulations, Safety & Quality Standards in India_2012Food Regulations, Safety & Quality Standards in India_2012
Food Regulations, Safety & Quality Standards in India_2012
 
21 CFR Part 11 Compliance
21 CFR Part 11 Compliance21 CFR Part 11 Compliance
21 CFR Part 11 Compliance
 
Introduction to ISO 9000
Introduction to ISO 9000Introduction to ISO 9000
Introduction to ISO 9000
 
ISO 9000 Quality Management System - A Presentation by Akshay Anand
ISO 9000 Quality Management System - A Presentation by Akshay AnandISO 9000 Quality Management System - A Presentation by Akshay Anand
ISO 9000 Quality Management System - A Presentation by Akshay Anand
 
Iso 9000 Presentation
Iso 9000 PresentationIso 9000 Presentation
Iso 9000 Presentation
 
FSSAI Act - Presentation
FSSAI Act - PresentationFSSAI Act - Presentation
FSSAI Act - Presentation
 
ISO 9000
ISO 9000ISO 9000
ISO 9000
 

Similar a Soft quality & standards

201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
 
want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.orgnazeer pasha
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
 
Fundamentals of Testing
Fundamentals of TestingFundamentals of Testing
Fundamentals of TestingCode95
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For TestersQA Programmer
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testingBipul Roy Bpl
 
Industrial Training in Software Testing
Industrial Training in Software TestingIndustrial Training in Software Testing
Industrial Training in Software TestingArcadian Learning
 
Chapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxChapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxketurahhazelhurst
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510techweb08
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentationtechweb08
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentationtechweb08
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For TestersGopi Raghavendra
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingCameron Presley
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsPankaj Dubey
 

Similar a Soft quality & standards (20)

201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.org
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
 
Lecture08
Lecture08Lecture08
Lecture08
 
Fundamentals of Testing
Fundamentals of TestingFundamentals of Testing
Fundamentals of Testing
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
 
1st module.....
1st module.....1st module.....
1st module.....
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
Industrial Training in Software Testing
Industrial Training in Software TestingIndustrial Training in Software Testing
Industrial Training in Software Testing
 
Chapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxChapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docx
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentation
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentation
 
testing
testingtesting
testing
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
 
Defect Age
Defect  AgeDefect  Age
Defect Age
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To Testing
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 

Más de Prince Bhanwra

Más de Prince Bhanwra (9)

Ralson ppt
Ralson pptRalson ppt
Ralson ppt
 
Ralson ppt
Ralson pptRalson ppt
Ralson ppt
 
Chap.9 the key process areas for level 4
Chap.9 the key process areas for level 4Chap.9 the key process areas for level 4
Chap.9 the key process areas for level 4
 
Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standards
 
Orthogonal array testing
Orthogonal array testingOrthogonal array testing
Orthogonal array testing
 
Sap seminar prince
Sap seminar princeSap seminar prince
Sap seminar prince
 
Sap seminar prince
Sap seminar princeSap seminar prince
Sap seminar prince
 
My android
My androidMy android
My android
 
My android
My androidMy android
My android
 

Último

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Último (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

Soft quality & standards

  • 1. Prince Bhanwra 801031024 Thapar University Software Quality & Standards
  • 2. What isSoftware Quality ?? 1 3 2 High quality software meets the needs of users while being reliable, well supported, maintainable, portable and easily integrated with other tools. Is higher quality better? Is it more expensive? - Not always, on both counts. We will look at how to achievequality, the tradeoffs involved, modeling quality improvement and standards designed to ensure quality.
  • 3. Making changes to improve software quality requires time and money to: • Spot the problem • Isolate its source • Fix the requirements, design, and code • Test the fix for this problem • Test the fix has not caused new problems • Change the documentation   Cost/BenefitTradeoff
  • 4.
  • 5. But is increasing quality always more expensive, in terms of total cost of production and maintenance? NO   In fact, if you focus on quality from the scratch, then: You tend to produce components with fewer defects, so   • You spend less time debugging, thus   • You have more time in your schedule for improving other aspects of quality, like usability etc. Quality for free?
  • 6. If you don’t focus on product quality then:  • You tend to produce components with more (hidden) defects, so  • You have to spend more time fixing these (late), so   • You have little time for anything else, so   • You produce poor quality software even though you put huge amounts of effort into defect checking   Thus quality is something that has to be considered throughout the product lifecycle; it cannot be added in later. Skimp Now, Pay Later
  • 7. Thus it makes sense to focus on improving component quality before testing, to catch difficult defects early. QualityDelaysareExpensive
  • 8. A study estimates that experienced software engineers normally inject 100 or more defects per KLOC.   Perhaps half of these are detected automatically (e.g. by the compiler).   So a 50 KLOC program probably contains around 2500 defects to find (semi-)manually.   Suppose we need about five hours to find each of these defects by testing. That’s over 20000 hours for the whole program - bad news. BetterQuality Through Testing?
  • 9. Code inspection may be able to find up to (say) 70% of these defects in 0.5 hours per defect.   So the first 1750 defects could take 875 hours; then we only have 750 to find in testing at (say) 8 hours each. That’s less than 7000 hours in total - better news. BetterQuality ThroughInspection?
  • 10.    where:  • y(N ) is fraction of defects removed in step N   • r(N ) is the number of defects removed at step N .   • e(N ) is the number of defects escaping at step N . The difficulty with this equation is that we can only estimate e(N ) as a function of e(1), . . . , e(N − 1).    Notice that e(N ) can increase when a change injects defects. ModelingQuality Improvement y(N ) = r(N ) _ r(N )+e(N )
  • 11. Suppose you have 1000 KLOC with an average of 100 defects per KLOC. That’s 100 000 defects to find.   Scenario 1:   • You have an inspection process which finds 75% of these, leaving 25000 to find in test.   • You then use 4 levels of test, each trapping 50% of remaining defects. That leaves 1562 defects in the final code.     Sounds good so far... Sensitivityto Inspection Yield (1)
  • 12. Scenario 2:   • Your inspection process only finds 50% of defects, leaving 50000 to find in test.   • The same 4 levels of test each trap 50% of remaining defects. That leaves 3125 defects in the final code.     So a 33% drop in yield in inspection caused a doubling in the number of remaining defects. Thus the effectiveness of your inspection process is crucial. Sensitivity to Inspection Yield (2)
  • 13. Assuming we start with no defects, Pi = (1 − p)i , where: • p is the probability of injecting a defect at a stage. • i is the number of stages. • P is the probability of a defect-free product at stage i.       A high probability of fault injection in one step radically drops the overall probability of freedom from defects: (1 − 0.01)10 = 0.904 Sensitivityto Defect Injection (1 − 0.01)9 ∗ (1 − 0.5)1 = 0.4567
  • 14. Ri = N ∗ (1 − y)i , where: • N is the initial number of defects. • y the fraction of defects removed per stage. • i is the number of stages. • Ri is the number of defects remaining at stage i.     Dropping a lot lower on one stage of a high quality defect removal process has a small effect on overall yield. 100000 ∗ (1 − 0.8)5 = 32     Thus being defect-free is better than relying on fixes. Sensitivityto Defect Removal 100000 ∗ (1 − 0.8)4 ∗ (1 − 0.4) = 96
  • 15. If we had no resource limitations then an 80-40 test-inspection yield is no different from a 40-80 yield.     But test defect correction typically involves more labor than inspection defect correction, so it costs more and the extra labor means . . . more opportunities for defect injection.   So manage for maximum return for minimum cost and, if in doubt, attempt to maximize on early design stages. Yield Management
  • 16. Most products have safety standards, and many have usability standards, but computer software rarely has such standards.   Can quality be improved by enforcing standards? Unclear:   • It is very difficult to enforce standards on actual program behavior   • Standardizing the process can help make sure that no steps are skipped, but   • Standardizing to an inappropriate process can reduce productivity, and thus leave less time for quality BetterQuality via Standards?
  • 17. According to the IEEE Comp. Soc. Software Engineering   Standards Committee a standard can be: • An object or measure of comparison that defines or represents the magnitude of a unit   • A characterization that establishes allowable tolerances or constraints for categories of items,   • A degree (or level) of required excellence (or attainment) Software EngineeringStandards
  • 18.   Repeatability: e.g. Repeating complex inspection processes Consensus wisdom: e.g. Software metrics Cross-specialisation: e.g. Software safety standards Customer protection: e.g. Quality assurance standards Professional discipline: e.g. V & V standards Badging: e.g. Capability Maturity Model levels WhyBother with Standards?
  • 19. Comparatively few software products are forced by law to comply with specific standards, and most have comprehensive non-warranty disclaimers. However:   • For particularly sensitive applications (e.g. safety critical) your software will have to meet certain standards before purchase   • US courts have used voluntary standards to establish a supplier’s “duty of care” Legal Implications (1)
  • 20. Adherence to standards is a strong defense against negligence claims (admissible in court in most US states)     There are instances of faults in products being traced back to faults in standards, so     Standards writers must themselves be vigilant against malpractice suits Legal Implications (2)
  • 21. ANSI: American National Standards Institute. Does not itself make standards but approves them AIAA: American Institute of Aeronautics and Astronautics (e.g. AIAA R-013-1992 Recommended Practice for Software Reliability). EIA: Electronic Industries Association (e.g. EIA/IS-632 Systems Engineering)    IEC: International Electrotechnical Commission (e.g. IEC 61508 Functional Safety - Safety-Related Systems)   IEEE: Institute of Electrical and Electronics Engineers Computer Society Software Engineering Standards Committee (e.g.IEEE Std 1228-1994 Standard for Software Safety Plans)   ISO: International Organization for Standardization (e.g. ISO 9000 Standard for SQM & SQA) Some Standards Organizations
  • 22. ComputerScience Standards Surprisingly few CS standards exist, although one could argue this is because CS is pervasive in others.   Examples:   Terminology: IEEE Std 610.12:1990 Standard Glossary of Software Engineering Terminology     Techniques: ISO/IEC 8631:1989 Program Constructs and Conventions for their Representation
  • 23.
  • 24. Analytical view (that good measurement frameworks yield high quality). Examples:   Quality management: ISO 9000-3 Quality Management and Quality Assurance Standards - Part 3: Guidelines for the application of 9001 to the development, supply, installation and maintenance of computer software   Quality measurement: IEEE Std 1061-1992 Standard for Software Quality Metrics Methodology
  • 25.
  • 26. Dependability of software isn’t just a question of internal measures (e.g. availability, reliability) but also broader issues (e.g. maintainability)  Dependability standards often set integrity levels necessary to maintain system risks within acceptable limits.
  • 27. Dependability Standards (2) Examples:   Dependability management: IEC 300-1(1993) Dependability management Part 1: Dependability programemanagement Risk analysis: IEC 1025(1990) Fault Tree Analysis   Reliability: AIAA R-013-1992 Recommended Practice for Software Reliability
  • 28. Safety Standards These traditionally come out of specific industrial sectors (e.g. Nuclear Society, Ministry of Defense), since safety requires deep analysis of the domain as well as the technology. Examples:   Safety plans: IEEE Std 1228-1994 Standard for Software Safety Plans   Functional safety: IEC 61508 Functional Safety - Safety-Related Systems   Nuclear domain: IEE 603 Criteria for Safety Systems of Nuclear Plants
  • 29. Resources Standards Although software engineering is in flux, it is possible to standardize on some forms of resources which are used widely across applications. Examples: Terminology: IEEE 610,12-1990 Standard Glossary of Software Engineering terminology   Semantics: IEEE P1320.1 Standard Syntax and Semantics for IDEF0   Re-use libraries: AIAA G-010-1993 Guide for Reusable Software: Assessment Criteria for Aerospace Application   Tools: ISO/IEC 14102:1995 Guideline for the Evaluation and Selection of ASE tools
  • 30. Product Standards These focus on the products of software engineering, rather than on the processes used to obtain them. Perhaps surprisingly, product standards seem difficult to obtain. Examples:     Product evaluation: ISO/IEC 14598 Software product evaluation     Packaging: ISO/IEC 12119:1994 Software Packages - Quality Requirements and Testing
  • 31. Process Standards A popular focus of standardization, partly because product standardization is elusive and partly because much has been gained by refining process. Much of software engineering is in fact the study of process. Examples: Life cycle: ISO/IEC 12207:1995 Information Technology - Software Life Cycle Processes   Acquisition: ISO/IEC 15026 System and software Integrity Levels   Maintenance: IEEE Std 1219-1992 Standard for Software Maintenance   Productivity: IEE Std 1045-1992 Standard for Software Productivity Metrics
  • 32. Company Guidelines Specific companies may develop their own guidelines for system/software design. These define good practice within a company. They often conform to more general standards. Example:   Shell UK Code of Practice: Fire and Gas Detection and Alarm Systems for Offshore Installations. Describes what a fire and gas alarm system must do; prescribes properties of that system; sets goals for achieving those properties; gives examples of typical design solutions.
  • 33. Trends • Concern about absence of scientific foundation for standards   • Recognition that standards usually aren’t isolated   • Questioning of software (non)warranty agreements
  • 34.
  • 35. 85% of registered firms report external benefits
  • 41.
  • 45. Catching inferior raw materials before they were used
  • 46.
  • 47. 95% improvement in delivery time
  • 48. Reduced defects from 3% to 0.5%
  • 49. 40% reduction in product cycle time.
  • 50. 20% increase in on-time delivery
  • 52. Facilitated trade in international markets
  • 53.
  • 54.
  • 55. 50% of registered companies have decreased number of customer audits.
  • 56. 69% of registered companies have a competitive advantage in their market.
  • 57.
  • 58. The firms that failed to seek registration experienced substantial deterioration in return on assets, productivity and sales. Registered companies avoided such declines.Source: http://www.manufacturingnews.com/news/02/0830/art1.html
  • 59.
  • 60.
  • 61. Save countless hours of your time by editing these proven procedures instead of starting from scratch.
  • 62. These procedures document processes to meet the requirements of the standard, and are ready for you to tailor for your organization.
  • 63.
  • 64.
  • 65.
  • 69. Internal Auditor Training Materials package
  • 71.
  • 72. 85% of registered firms report external benefits
  • 78.
  • 79. It’s not just about the visuals, but strengthening MESSAGE.
  • 80. Software Quality & Standards Thank you !! Query..?

Notas del editor

  1. Humphrey (2002)
  2. This is why cleanrooms are so clean.
  3. Prevents idiosyncrasy: e.g. Standards for primitives in programming languages
  4. EIAfor applying systems engineering techniques/process to the development of all kinds of systems.
  5. IEC: International Electrotechnical Commission AIAA: American Institute of Aeronautics and Astronautics
  6. IEC: International Electrotechnical Commission
  7. AIAA: American Institute of Aeronautics and Astronautics
  8. IEC: International Electrotechnical Commission