Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... ·...
Transcript of Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... ·...
![Page 1: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/1.jpg)
Techniques for Improving So4ware Quality
So#ware Quality Quality Audit and Cer>fica>on
Master in Computer Engineering
Roberto García ([email protected])
![Page 2: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/2.jpg)
Introduc>on
• So#ware quality assurance is a planned and systema>c program of ac:vi:es designed to ensure that a system has the desired characteris>cs
• In so4ware quality, the best place to focus is on the process, incorporate quality assurance components
![Page 3: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/3.jpg)
Components of a So4ware Quality Program
• Informal technical reviews. Include desk-‐checking the design or the code or walking through the code with a few peers – Common prac>ce before a formal review
![Page 4: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/4.jpg)
Components of a So4ware Quality Program
• Formal technical reviews. Includes code inspec:ons, peer reviews, customer reviews or external audits – When: the process goes through “quality gates”, periodic reviews that check quality before moving to next development stage
Requirements à Design à Development à Deployment
![Page 5: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/5.jpg)
Components of a So4ware Quality Program
• So#ware-‐quality objec:ves. Important to set explicit quality objec:ves, from among the external and internal characteris>cs – Without them, programmers might work to maximize characteris>cs different from the important ones
![Page 6: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/6.jpg)
Components of a So4ware Quality Program
• Explicit quality-‐assurance ac:vity. Organiza>on must show programmers that quality is a priority and make the quality-‐assurance ac>vity explicit – Usually, quality perceived as a secondary goal – Programmers that "complete" their programs quickly, are rewarded more than programmers looking for quality results
– Consequently, programmers don't make quality their first priority
![Page 7: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/7.jpg)
Components of a So4ware Quality Program
• Tes:ng strategy. Develop a test strategy in conjunc>on with the product requirements, design and development – Test: compare what should the so4ware do and what it actually does
– Integrated into development process…
![Page 8: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/8.jpg)
Tes>ng Strategy
![Page 9: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/9.jpg)
Components of a So4ware Quality Program
• So#ware-‐engineering guidelines. Guidelines should control the technical character of the so4ware as it's developed – Guidelines apply to all so4ware development ac>vi>es, including problem defini>on, requirements development, architecture, coding and system tes>ng
![Page 10: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/10.jpg)
Components of a So4ware Quality Program
• External audits. Technical reviews performed by an external team to determine the status of a project or the quality of a product being developed
![Page 11: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/11.jpg)
Other components with quality effects
• They aren't explicitly quality-‐assurance ac>vi>es but also affect so4ware quality: – Change-‐control procedures – Measurement of results – Prototyping
![Page 12: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/12.jpg)
Other components with quality effects
• Change-‐control procedures. Avoid uncontrolled changes, destabilize and degrade quality:
• In requirements, disrupt design and coding • In design, code disagrees with requirements • In the code, inconsistencies and uncertain>es about what has been reviewed and tested
– Version Control Systems (VCS): • Standalone (CVS, Subversion, Git,…) • Word processors (Microso4 Office, OpenOffice,…) • Content Management Systems (Drupal, Joomla,…) • Wikis (MediaWiki, TWiki, Trac (wiki+svn)…)
![Page 13: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/13.jpg)
Other components with quality effects
• Measurement of results. Measure results of the quality-‐assurance plan to know whether it is working and perform controlled changes to improve it – Examples: error detec>on rates for each technique
![Page 14: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/14.jpg)
Other components with quality effects
• Prototyping. The development of realis:c models of a system's key func>ons – parts of a user interface to determine usability – cri>cal calcula>ons to determine execu>on >me – typical data sets to check memory requirements
Prototyping can lead to be`er designs, be`er matches with user needs, and improved maintainability (Gordon and Bieman 1991)
![Page 15: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/15.jpg)
Rela>ve Effec>veness of Quality Techniques
• The various quality-‐assurance prac>ces don't all have the same effec:veness
• Some prac>ces are be`er at detec>ng defects than others, and different methods find different kinds of defects – Prac>ces Effec>veness: percentage of defects they detect out of the total defects…
![Page 16: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/16.jpg)
Defect Detec>on Rates Rate Defect-detection techniques Lowest Modal Highest Informal design reviews 25% 35% 40%
Formal design inspections 45% 55% 65%
Informal code reviews 20% 25% 35%
Formal code inspections 45% 60% 70%
Modeling or prototyping 35% 65% 80%
Personal desk-checking of code 20% 40% 60%
Unit test 15% 30% 50%
New function (component) test 20% 30% 35%
Integration test 25% 35% 40%
Regression test 15% 25% 30%
System test 25% 40% 55%
Low-volume beta test (<10 sites) 25% 35% 40%
High-volume beta test (>1,000 sites) 60% 75% 85% Source: Adapted from Programming Produc>vity (Jones 1986a), "So4ware Defect-‐Removal
Efficiency" (Jones 1996), and "What We Have Learned About Figh>ng Defects" (Shull et al. 2002).
![Page 17: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/17.jpg)
Defect Detec>on Rates
• Maximum modal rate 75%, average 40% • Defect-‐detec>on methods work be`er in combina:on – Typical organiza>on: test-‐heavy defect-‐removal approach
à 85% – Leading organiza>ons: combine techniques à 95%
• Human techniques (inspec>ons, walk-‐throughs,…) beHer for certain errors than computer-‐based tes>ng, and the opposite – For instance, code reading detects more interface defects and func>onal tes>ng detected more control defects
![Page 18: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/18.jpg)
Cost of Finding Defects
• Some defect-‐detec>on prac>ces cost more than others – The most economical prac>ces result in the least cost per defect found
• Most studies have found that inspec>ons are cheaper than tes>ng
![Page 19: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/19.jpg)
Cost of Fixing Defects
• The longer a defect remains in the system, the more expensive it becomes to remove
• An effec>ve so4ware-‐quality program includes a combina:on of techniques that apply to all stages of development
• Recommenda>on: – Formal inspec>ons of all requirements, all architecture and designs for system cri>cal parts
– Modelling or prototyping – Code reading or inspec>ons – Execu>on tes>ng
![Page 20: Techniques*for*Improving** So4ware*Quality**ocw.udl.cat/enginyeria-i-arquitectura/software... · DefectDetec>on*Rates* Rate Defect-detection techniques Lowest Modal Highest Informal](https://reader034.fdocuments.net/reader034/viewer/2022042401/5f10a7587e708231d44a2a59/html5/thumbnails/20.jpg)
Exercise
• For the proposed diagram for the Project Management Process of your company: 1. Integrate into the process quality assurance
components: • Informal and Formal Technical Reviews, So4ware-‐quality objec>ves, Tes>ng Strategy, External Audits, Change Control Procedures and Prototyping • A measure/s of results of the quality assurance plan
2. Indicate how you will make explicit the quality-‐assurance ac>vity