SWQuality Assurance Lecture 12 PDF
Document Details
Uploaded by EntrancingFoxglove
Faculty of Science
Tags
Related
Summary
Lecture notes on software quality assurance. The document covers quality attributes, costs of poor quality, and various causes of errors in software development, including faulty requirements, communication failures, and coding errors. It also describes internal and external quality characteristics. This lecture is likely part of a software engineering course.
Full Transcript
SWQuality Assurance Lecture 12 2 SQA Outline 1. Understanding SW Quality Attributes 2. Understand the value of SW QA 3. Quality Landscape 4. SW QA Jobs and Certificates 5. Effectiveness of QA Techniques Quality: According to ISO 8402: The totality of features and character...
SWQuality Assurance Lecture 12 2 SQA Outline 1. Understanding SW Quality Attributes 2. Understand the value of SW QA 3. Quality Landscape 4. SW QA Jobs and Certificates 5. Effectiveness of QA Techniques Quality: According to ISO 8402: The totality of features and characteristics of a product or a service that bear on its ability to satisfy stated or implied needs. 8 Software: According to IEEE: Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system. According to IEEE: (1)The degree to which a system, component, or process meets specified requirements. (2)The degree to which a system, component, or process meets customer or user needs or expectations. Software Quality: This definition suggests 3 requirements to be met by the developer: Specific functional requirements (o/p) The software quality standards mentioned in the contract Good Software Engineering Practices 1. What is SW Quality? Customer’s Perspective – System does not crash – System follows documentation & contract – System is logical and easy to use Developer’s Perspective – System is easy to change – System is easy to understand – System is pleasant to work on External Quality Characteristic Correctness. – The degree to which a system is free from faults in its specification, design, and implementation. Usability. – The ease with which users can learn and use a system. Efficiency. – Minimal use of system resources, including memory and execution time. 9 External Quality Characteristic Reliability – The ability of a system to perform its required functions under stated conditions whenever required—having a long mean time between failures. Robustness – The degree to which a system continues to function in the presence of invalid inputs or stressful environmental conditions. External Quality Characteristic Integrity – The degree to which a system prevents unauthorized or improper access to its programs and data. – Ensuring that data is accessed properly Adaptability – The extent to which a system can be used, without modification, in applications or environments other than those for which it was specifically designed. Internal Quality Characteristic Maintainability – The ease with which you can modify a software system to change or add capabilities, improve performance, or correct defects. Flexibility 16 – The extent to which you can modify a system for uses or environments other than those for which it was specifically designed. Internal Quality Characteristic Reusability – The extent to which and the ease with which you can use parts of the system in other systems. Understandability / Readability – The ease with which you can comprehend a system at organizational and detailed levels. Causes of Errors #1: Faulty Requirements The root cause of software errors – Incorrect requirement definitions – Incomplete definitions – Unclear or implied requirements – Missing requirements – Inclusion of unneeded requirements (many projects have gone amuck for including far too many requirements that will never be used. Impacts budgets, complexity, development time, … 19 Causes #2: Communication Failure Misunderstanding of instructions in requirements documentation Misunderstanding of written changes during development. Misunderstanding of oral changes during development. Lack of attention to client messages by developers dealing with requirement changes and to client responses by clients to developer questions. Causes #4: Logical design errors Erroneous algorithms. Process definitions that contain sequencing errors. Erroneous definition of boundary 15 conditions. 1 6 Causes #5 Coding Errors Causes #5: Coding Errors Too many to list – broad range of reasons cause programmers to make coding errors. These – include misunderstanding the design documentation, linguistic errors in the programming languages, errors in the application of CASE and other development tools, errors in data selection, and so forth. Causes #6: Non-compliance with documentation and coding instructions Almost every development unit has its own documentation and coding standards. To support this requirement, the unit develops and publicizes its templates and coding instructions. Members of the development team or unit are required to comply with these requirements. Non-compliance hinders future development. Causes #7: Shortcomings of the Testing Process Likely the part of the development process cut short most frequently! Incomplete test plans Parts of application not tested or not tested thoroughly! Failure to document, report detected errors and faults Failure to fix the errors. Causes #8: Documentation Errors Errors in the design documents – Trouble for subsequent redesign and reuse. Errors in the documentation within the software for the User Manuals Errors in on-line help, if available. Listing of non-existing software functions – Planned early but dropped; remain in documentation! Meaningless error messages. 2. The Cost of Poor Quality Money Time Resources Lives Reputation Business Failure Costs Internal – Rework – Repair – Failure analysis External – Resolving complaints – Returning and replacing product – Help line Prevention Costs Prevention – Planning – Managing and collecting information – Reviews Appraisal – Inspection – Testing The Cost of Poor Quality