So#ware quality assurance - introduc4on Dr Ana Magazinius 1
What is quality? 2
What is a good quality car? 2 and 2 2 minutes 3 characteris4cs 3
What is quality? 4
What is quality? How good or bad something is Merriam- Webster Level of excellence Wik4onary 5
What is so#ware? 6
IEEE defini4on So8ware is computer programs, procedures, and possibly associated documenta4on and data pertaining to the opera4on of a computer system. 7
hat is good quality SW? 2 and 2 2 minutes 3 characteris4cs 8
Quality defini4ons Capability of so#ware to conform to the requirements. ISO/IEC 9001 9
Quality defini4ons Capability of so#ware to conform to the requirements. ISO/IEC 9001 complience with func4onal requirements complience with non- func4onal requirements 10
Good quality? Nokia 3310 11
Would it be good quality if released today? Nokia 3310 12
Quality defini4ons The difficulty in defining quality is to translate future needs of the user into measurable characteris4cs, so that a product can be designed and turned out to give sa4sfac4on at a price that the user will pay. This is not easy, and as soon as one feels fairly successful in the endeavor, he finds that the needs of the consumer have changed, compe4tors have moved on, etc. Deming 13
Quality defini4ons This is not easy, and as soon as one feels fairly successful in the endeavor, he finds that the needs of the consumer have changed, compe4tors have moved on, etc. Deming 14
Perceived quality - Nokia market share 15
Quality model ISO9126 Quality is a causal rela4onship from intangible quality views to tangible so#ware measures. 16
Func4onality - Accuracy Accuracy to expecta4on Are differences allowable between the actual and reasonable expected results? Computa4onal accuracy How o#en does the end user encounter inaccurate results? Precision How o#en does the end user encounter results with inadequate precision? 17
Computa4onal accuracy How o#en does the end user encounter inaccurate results? Record the number of inaccurate computa4ons based on the specifica4ons X = A / T where X should be as close to 0 as possible A = number of inaccurate computa4ons encountered by users T = opera4onal 4me 18
McCall s quality factor model Product opera4on factors Correctness Reliability Efficiency Integrity Usability Product revision factors Product transi4on factors 19
McCall s quality factor model Product opera4on factors Product revision factors Maintainability Flexibility Testability Product transi4on factors 20
McCall s quality factor model Product opera4on factors Product revision factors Product transi4on factors Portability Reusability Interoperability 21
Quality Assurance? 22
Quality Assurance All those planned and systema4c ac4ons necessary to provide adequate confidence that a product or service will sa4sfy requirements for quality. ISO 9000 23
Quality Assurance All those planned and systema4c ac4ons necessary to provide adequate confidence that a product or service will sa4sfy requirements for quality ISO 9000 1) Planned and systema4c paeern of all ac4ons necessary to provide adequate confidence that an item or product conforms to established technical requirements. 2) A set of ac4vi4es designed to evaluate the process by which the products are developed or manufactured IEEE 24
Quality assurance vs. quality control Quality assurance Quality control During the development Final product Ensure quality Withhold low- quality projects 25
In what type of projects do we (not) need quality assurance? 2 and 2 2 minutes 26
Characteris4cs of environments for which SQA methods are developed Contractual condi4ons Subjec4on to customer- supplier rela4onship Required teamwork Coopera4on and coordina4on with other so#ware teams Interfaces with other so#ware systems Turnover of team members Long- term so#ware maintenance 27
Contract between developer and customer Contractual condi4ons Subjec4on to customer- supplier rela4onship Required teamwork Coopera4on and coordina4on with other so#ware teams Interfaces with other so#ware systems Turnover of team members Long- term so#ware maintenance Func4onal requirements Future maintenance needs Budget Time constraints 28
Subjec4on to customer- supplier rela4onship Contractual condi4ons Subjec4on to customer- supplier rela4onship Required teamwork Coopera4on and coordina4on with other so#ware teams Interfaces with other so#ware systems Turnover of team members Long- term so#ware maintenance Con4nuous coopera4on with the customer Feedback on the product Change in requirements 29
Required teamwork Contractual condi4ons Subjec4on to customer- supplier rela4onship Required teamwork Coopera4on and coordina4on with other so#ware teams Interfaces with other so#ware systems Turnover of team members Long- term so#ware maintenance Timetable requirements The team needs to divide the work in order to succeed, everyone has to contribute Diversity in specializa4ons Wish to improve and ensure quality 30
Coopera4on and coordina4on with other so#ware teams Contractual condi4ons Subjec4on to customer- supplier rela4onship Required teamwork Coopera4on and coordina4on with other so#ware teams Interfaces with other so#ware systems Turnover of team members Long- term so#ware maintenance So#ware teams within the same organiza4on Hardware and so#ware teams within the same organiza4on Suppliers development teams Customers development teams (if such take part in the development) 31
Interfaces with other so#ware systems Contractual condi4ons Subjec4on to customer- supplier rela4onship Required teamwork Coopera4on and coordina4on with other so#ware teams Interfaces with other so#ware systems Turnover of team members Long- term so#ware maintenance Input interfaces Data is transferred to your system Output interfaces Your system provides data to other systems Input and output interfaces to the machine s control board (e.g. laboratory control systems, etc.) 32
Turnover of team members Contractual condi4ons Subjec4on to customer- supplier rela4onship Required teamwork Coopera4on and coordina4on with other so#ware teams Interfaces with other so#ware systems Turnover of team members Long- term so#ware maintenance Experts leaving the team Training of the new team members 33
Long- term so#ware maintenance Contractual condi4ons Subjec4on to customer- supplier rela4onship Required teamwork Coopera4on and coordina4on with other so#ware teams Interfaces with other so#ware systems Turnover of team members Long- term so#ware maintenance Need for maintenance arises over 4me Who provides it? In- house development Contractors 34
Quality Assurance All those planned and systema4c ac4ons necessary to provide adequate confidence that a product or service will sa4sfy requirements for quality ISO 9000 35
Components of SQA 1. Pre- project components 2. Project lifecycle components 3. Infrastructure components for error preven4on and improvement 4. Management components 5. SQA standards, system cer4fica4on, and assessment components 6. Human components 36
37
Pre- project components Contract review Clarifica4on of customer s requirements Review of schedule and es4mates Evalua4on of exper4se Evalua4on of risks Evalua4on of customer s ability to fulfill their obliga4ons Development and quality plans 38
Pre- project components Contract review Development and quality plans Project development plan 1. Schedules 2. Resources (staff, etc.) 3. Risk evalua4on 4. Organiza4onal issues (team members, sub- contractors, etc) 5. Project methodology and tools 6. So#ware re- use plans Quality plan 1. Quality goals (measurable) 2. Criteria for star4ng and ending each project stage 3. Lists of reviews, tests and other related ac4vi4es 39
So#ware project lifecycle components Reviews Formal design reviews Peer reviews Expert opinions So#ware tes4ng So#ware maintenance Assurance of the quality of the subcontractors work and the customer supplied parts 40
Reviews Formal design reviews Group of senior professionals (e.g. senior managers and heads of related departments) Review type examples: SRS Design review Test plans Outcomes Immediate approval Approval upon comple4on of ac4on list items Scheduled new review Peer reviews Colleagues review each others work Types Inspec4ons Walkthroughs Outcomes: Detec4on of design and programming faults 41
So#ware project lifecycle components Reviews Expert opinions When in- house exper4se is inadequate Small organiza4ons with not enough staff to par4cipate in formal reviews Small organiza4on under extreme workload (replacing peer- review) Temporary inaccessibility of in- house experts Major disagreements So#ware tes4ng So#ware maintenance Assurance of the quality of the subcontractors work and the customer supplied parts 42
So#ware project lifecycle components Reviews Expert opinions So#ware tes4ng review of running so#ware Manual and automated Recommended that tes4ng is done by an independent team So#ware maintenance Assurance of the quality of the subcontractors work and the customer supplied parts Are there cases where this would not apply? 43
So#ware project lifecycle components Reviews Expert opinions So#ware tes4ng So#ware maintenance Correc4ve Adap4ve Func4onality improvement Assurance of the quality of the subcontractors work and the customer supplied parts 44
So#ware maintenance components Pre- maintenance Maintenance contract review Maintenance plan So#ware development lifecycle components Infrastructure SQA components Managerial control components 45
So#ware maintenance components Pre- maintenance So#ware development lifecycle components For func4onality improvement and adap4ve maintenance tasks Characteris4cs similar to those of project development plans Infrastructure SQA components Managerial control components 46
So#ware maintenance components Pre- maintenance So#ware development lifecycle components Infrastructure SQA components Maintenance procedures and instruc4ons Suppor4ng quality devices (e.g. checklists and templates) Maintenance staff training, retraining and cer4fica4on Maintenance preven4ve and correc4ve ac4ons Configura4on management Control of maintenance documenta4on and quality records 47 Managerial control components
So#ware maintenance components Pre- maintenance So#ware development lifecycle components Infrastructure SQA components Managerial control components Maintenance service control Maintenance quality metrics Maintenance quality costs 48
So#ware project lifecycle components Reviews Expert opinions So#ware tes4ng So#ware maintenance Assurance of the quality of the subcontractors work and the customer supplied parts Contracts Risks if there is mismatch in levels of standardiza4on 49
Infrastructure components for error preven4on and improvement Procedures and work instruc4ons Templates and checklists Staff training, retraining and cer4fica4on Preven4ve and correc4ve ac4ons Configura4on management Documenta4on control (for future improvements) Design of documenta4on Storage of documenta4on 50
Management components Project progress control (including maintenance and contract control) Resource usage Schedules Risk management ac4vi4es Budget So#ware quality metrics So#ware quality costs 51
Management components Project progress control (including maintenance and contract control) So#ware quality metrics Quality of development and maintenance ac4vi4es Development team s produc4vity Helpdesk and maintenance team s produc4vity Schedule devia4ons So#ware quality costs 52
Management components Project progress control (including maintenance and contract control) So#ware quality metrics So#ware quality costs Costs of control Preven4on investment in quality infrastructure not directed to specific projects Appraisal ac4vi4es in a specific project conducted to detect so#ware errors Costs of failures Internal correc4ng faults detected internally External correc4ng failures detected by the customer 53
SQA standards, system cer4fica4on, and assessment components U4liza4on of interna4onal professional knowledge Improvement of coordina4on with other organiza4ons quality systems Objec4ve professional evalua4on and measurement of the achievements of the organiza4ons quality systems 54
Standards Quality management SEI CMM assessment (capability maturity model) ISO 9001 and ISO 9000-3 (quality cer4fica4on) Project process ISO/IEC 12207:2008 (so#ware lifecycle processes) IEEE 1012 (standard for verifica4on and valida4on) 55
Human components Main objec4ves of the SQA s organiza4onal base: Develop and support implementa4on of SQA components Detect devia4on from SQA procedures and methodology Suggest improvements to SQA components 56
Human components Management s role in SQA Defini4on of quality policy (QP) Alloca4on of resources to implement QP Assignment of adequate staff Effec4ve follow- up of QP implementa4on Follow- up on compliance of quality assurance procedures Solu4ons on schedule, budget and customer rela4ons difficul4es The SQA unit SQA trustees, commieees and forums 57
Human components Management s role in SQA The SQA unit s role Prepara4on of annual quality program Consulta4on with in- house staff and outside experts on quality issues Conduct of internal quality assurance audits Leadership of quality assurance various commieees Support of exis4ng quality assurance infrastructure components and their updates, and development of the new ones SQA trustees, commieees and forums 58
Human components Management s role in SQA The SQA unit SQA trustees, commieees and forums Trustees: members of development and maintenance teams with special interest in quality Help with solving of team and local quality problems Commieee members: appointed by development teams or maintenance units: Analysis of problem and failure records + ini4a4on of proper ac4ons Ini4a4on of development of new SQA components Forums: professionals who meet on a voluntary basis for discussions of quality 59
What to consider when construc4ng a SQA system? What is the SQA organiza4onal base? What components will we implement and to what extent? 60
Ques4ons? 61