Download presentation
Presentation is loading. Please wait.
1
2007 2 Software Quality Assurance - Outline ä What is Software Quality assurance(SQA)? ä Quality Concepts. ä Software Quality Assurance Activities. ä Software Reviews and their importance ä Statistical SQA. ä Software Reliability ä ISO 9000 approach to SQA
2
2007 3 What is SQA? ä Software Quality Assurance is an umbrella activity that is applied throughout the software process...
3
2007 4 It encompasses.. ä A quality management approach ä Effective software engineering technology ä Formal technical reviews that are applied throughout the software process ä A multitiered testing strategy ä Control of software documentation and changes to it ä A procedure to assure compliance with software development standards ä Measurement and reporting techniques
4
2007 5 Quality ??? ä Quality refers to any measurable characteristics such as correctness, maintainability, portability, testability, usability, reliability, efficiency, integrity, reusability and interoperability.
5
2007 6 Quality Concepts ä Quality of Design refers to the characteristics that designer’s specify for an item. ä Quality Control is the series of inspections, reviews and tests used throughout the development cycle to ensure that each work product meets the requirements placed upon it. ä Quality of Conformance is the degree to which the design specifications are followed during manufacturing.
6
2007 7 (cont'd)... ä Quality policy refers to the basic aims and objectives of an organization regarding quality as stipulated by the management. ä Quality assurance consists of the auditing and reporting functions of management. ä Cost of Quality includes all costs incurred in the pursuit of quality or in performing quality related activities such as appraisal costs, failure costs and external failure costs.
7
2007 8 (cont'd)... ä Quality planning is the process of assessing the requirements of the procedure and of the product and the context in which these must be observed. ä Quality testing is assessment of the extent to which a test object meets given requirements ä Quality assurance plan is the central aid for planning and checking the quality assurance. ä Quality assurance system is the organizational structure, responsibilities, procedures, processes and resources for implementing quality management.
8
2007 9 Relative cost of correcting an error
9
2007 10 Defn. of Software Quality Assurance ä Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software.
10
2007 Cost of Quality ä Prevention costs include ä quality planning ä formal technical reviews ä test equipment ä Training ä Internal failure costs include ä rework ä repair ä failure mode analysis ä External failure costs are ä complaint resolution ä product return and replacement ä help line support ä warranty work
11
2007 11 SQA Group Plan ä Evaluations to be performed ä Audits and reviews to be performed ä Standards that are applicable to the project ä Procedures for error reporting and tracking ä Documents to be produced by the SQA group ä Amount of feedback provided to software project team
12
2007 12 SQA Group Activities ä Participates in the development of the projects software process description ä Reviews software engineering activities to verify compliance with the defined software process. ä Audits designated software work products to verify compliance with those defined as part of the software process.
13
2007 13 (cont'd)... ä Ensures that deviations in software work and work products are documented and handled according to a document procedure. ä Records any non-compliance and reports to senior management.
14
2007 14 Software Reviews ä ‘Filter’ for the software engineering process ä ‘Purify’ the software work products that occur as a result of analysis, design, and coding. ä Achieve technical work of more uniform, greater and more predictable quality. ä Detect errors and problems at the earliest possible time.
15
2007 15 Formal Technical Reviews ä To uncover errors in function, logic, or implementation for any representation of the software ä To verify that software meets its requirements ä To ensure that software representation meets predefined standards ä To achieve software development in a uniform manner ä To make projects more manageable
16
2007 The Players review leader producer recorder reviewer standards bearer (SQA) maintenanceoracle user rep
17
2007 Conducting the Review be prepared—evaluate product before the review review the product, not the producer keep your tone mild, ask questions instead of making accusations 1. 2. 3. stick to the review agenda raise issues, don't resolve them avoid discussions of style—stick to technical correctness schedule reviews as project tasks record and report all review results 4. 5. 6. 7. 8.
18
2007 ä trained leader ä agenda established ä reviewers prepare in advance ä producer presents product ä “reader” presents product ä recorder takes notes ä checklists used to find errors ä errors categorized as found ä issues list created ä team must sign-off on result ä IPR—informal peer review WT—Walkthrough ä IN—Inspection RRR—round robin review Review Options Matrix IPRWTIN RRR nomaybemaybemaybenomaybenonononoyesyesyesyesnoyesnonoyesyes yesyesyesnoyesyesyesyesyesyesyesyesyesnonoyesnonoyesmaybe *
19
2007 Metrics Derived from Reviews inspection time per page of documentation inspection time per KLOC or FP errors uncovered per reviewer hour errors uncovered per preparation hour errors uncovered per SE task (e.g., design) number of minor errors (e.g., typos) number of errors found during preparation number of major errors (e.g., nonconformance to req.) (e.g., nonconformance to req.) inspection effort per KLOC or FP
20
2007 Defect Amplification Model
21
2007 Defect Amplification with Reviews
22
2007 Cost Comparison of Error Repair
23
2007 16 Review Guidelines.. ä Review the product, not producer ä Set an agenda and maintain it ä Limit the debate ä Enunciate problem areas, not to solve every problem noted ä Take written notes ä Allocate resources and time schedule for FTR’s ä Limit the number of participants and insist upon advance preparation ä Develop a checklist for each work product to be reviewed ä Training for all reviewer’s ä Reviewing earlier reviews
24
2007 Additional Structures ä Requirements Control Board ä All requirement changes must be formally reviewed and approved ä Software Control Board ä All design changes must be formally reviewed and approved ä Interface Control Board
25
2007 Statistical SQA Product & Process measurement... an understanding of how to improve quality... Collect information on all defects Find the causes of the defects Move to provide fixes for the process
26
2007 17 Statistical Quality Assurance ä Implies information about software defects is collected and categorized ä An attempt is made to trace each defect to its underlying cause ä Isolate the vital few causes of the major source of all errors ä Then move to correct the problems that have caused the defects
27
2007 Categories of Errors ä Incomplete or erroneous specification (IES) ä Misinterpretation of customer comm (MCC) ä Intentional deviation from specification (IDS) ä Violation of programming standards (VPS) ä Error in data representation (EDR) ä Inconsistent module interface (IMI) ä Error in design logic (EDL)
28
2007 Categories of Errors (cont'd) ä Incomplete or erroneous testing (IET) ä Inaccurate or incomplete documentation (IID) ä Error in programming lang. Translation (PLT) ä Ambiguous or inconsistent human-computer interface (HCI) ä Miscellaneous (MIS) ä Most often IES, MCC and EDR are the vital few causes for majority of errors.
29
2007 18 Definitions ä E i = the total number of errors uncovered during the i th step in the software engineering process ä S i = the number of serious errors ä M i = the number of moderate errors ä T i = the number of minor errors ä PS = size of the product (LOC, design statements, pages of documentation)
30
2007 19 error index ä Phase index for each step and then error index is calculated PI i = w s (S i /E i )+w m (M i /E i )+w t (T i /E i ) ä Formula:
31
2007 20 Software Reliability ä Defined as the probability of failure free operation of a computer program in a specified environment for a specified time. ä It can measured, directed and estimated ä A measure of software reliability is mean time between failures where ä MTBF = MTTF + MTTR ä MTTF = mean time to failure ä MTTR = mean time to repair
32
2007 21 Software Availability ä Availability =MTTF/(MTTF + MTTR) * 100% ä Software availability is the probability that a program is operating according to requirements at a given point in time
33
2007 Software Safety ä Processes that help reduce the probability that critical failures will occur due to SW ä Hazard analyses ä Identify hazards that could call failure ä Develop fault tree ä Identify all possible causes of the hazard ä Formally review the remedy for each ä Redundancy ä Require a written software safety plan ä Require independent verification & validation
34
2007 Example Fault Tree -- Thermal Loss of heat Power failure Computer failure Incorrectinput SW failed to throw switch... Computer failure SW failed to throw switch... Logic reversed
35
2007 Software Safety ä Redundancy ä Replicated at the hardware level ä Similar vs.. dis-similar redundancy ä Verification ä Assuring that the software specifications are met ä Validation ä Assuring that the product functions as desired ä Independence
36
2007 22 Overview of SQA Plan ä Purpose of Plan ä References ä Management ä Documentation ä Standards, Practices and Conventions ä Reviews and Audits ä Test ä Problem Reporting and Corrective action ä Tools, Techniques and Methodologies ä Code Control ä Media Control ä Supplier control ä Records Collection, Maintenance and Retention ä Training ä Risk Management
37
2007 23 ISO 9000 Quality Standards ä ISO 9000 describes quality assurance elements in generic terms that can be applied to any business. ä It treats an enterprise as a network of interconnected processes. ä To be ISO-complaint processes should adhere to the standards described. ä Elements include organizational structure, procedures, processes and resources. ä Ensures quality planning, quality control, quality assurance and quality improvement.
38
2007 24 ISO 9001 ä An international standard which provides broad guidance to software developers on how to Implement, maintain and improve a quality software system capable of ensuring high quality software ä Consists of 20 requirements... ä Differs from country to country..
39
2007 25 ISO 9001 (cont'd)..requirements ä Management responsibility ä Quality system ä Contract review ä Design Control ä Document and data control ä Purchasing ä Control of customer supplied product ä Product identification and traceability ä Process control ä Inspection and testing ä Control of inspection, measuring and test equipment
40
2007 26 ISO 9001 (cont'd).. ä Inspection and test status ä Control of non- confirming product ä Corrective and preventive action ä Handling, storage, packaging, preservation and delivery ä Control of quality records ä Internal quality audits ä Training ä Servicing ä Statistical techniques
41
2007 27 Summary- ä SQA must be applied at each step ä SQA might be complex ä Software reviews are important SQA activities ä Statistical SQA helps improve product quality and software process ä Software Safety is essential for critical systems ä ISO 9001 standardizes the SQA activities
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.