1 / 29

Software Quality

Software Quality. People’s Quality Expectations. The software systems must do what they are supposed to do. “ do the right things” They must perform these specific tasks correctly or satisfactorily . “ do the things right”. People’s Roles and Responsibilities.

taini
Télécharger la présentation

Software Quality

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Quality

  2. People’s Quality Expectations • The software systems must do what they are supposed to do. “do the right things” • They must perform these specific tasks correctly or satisfactorily. “do the things right”

  3. People’s Roles and Responsibilities • Consumers of software products or services, including customers and users, either internally or externally • Producers of software products, or anyone involved with the development, management, maintenance, marketing, and service of software products

  4. Quality Expectations on the Consumer Side User: The software system performs useful functions as it is specified • Performs the right functions as specified • Performs these functions correctly over a long period of time The V & V of software: Verification & Validation • Many: ease of use or usability • Others: installation and operation – “plug-and- play”

  5. V-V Model

  6. Quality Expectations on the Consumer Side Extended definition of users: smooth operation and interaction between the software and the non-human users in the form of inter-operability, and adaptability. Customer: same as the user, with additional concern for the cost of the software or service.

  7. Quality Expectations on the Producer Side Fulfill contractual obligations by: • producing software products that conform to specifications or • Providing services that conform to service agreement Product and service managers: adherence to pre-selected software process and relevant standards, proper choice of software methodologies, languages and tools

  8. Quality Expectations on the Producer Side Other people on the producer side: • Usability and modifiability (for service) • Maintainability (for maintenance) • Portability (for third party or software packaging providers) • Profitability and customer value (for product marketing)

  9. Quality Frameworks and ISO-9126 Quality frameworks • accommodate various quality views and expectations • Define quality and related attributes, features, characteristics and measurements ISO-9126 (ISO,2001) • Most influential in the Software Engineering • Discusses various adaptations of quality frameworks for specific application environments

  10. ISO-9126 provides a hierarchical framework for quality definition, organized into quality characteristics and sub-characteristics • Functionality • Reliability • Usability • Efficiency • Maintainability • Portability

  11. ISO-9126 FUNCTIONALITY A set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs. - Suitability - Accuracy - Interoperability - Security

  12. ISO-9126RELIABILITY A set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time. - Maturity - Fault tolerance - Recoverability

  13. ISO-9126USABILITY A set of attributes that bear on the effort needed for use, and on the individual assessment of such use, by a stated or implied set of users. - Understandability - Learnability - Operability

  14. ISO-9126EFFICIENCY A set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions. - Time behavior - Resource behavior

  15. ISO-9126MAINTAINABILITY A set of attributes that bear on the effort needed to make specified modifications. - Analyzability - Changeability - Stability - Testability

  16. Alternative Frameworks and Focus on Correctness Correctness => several quality characteristics or sub-characteristics Typically the most important aspect of quality for situations where daily life or business depends on software

  17. Correctness and Defects Defect – some problem with the software, either with external behavior or internal characteristics, there are three types of defects: • Failure: The inability of a system or component to perform its required functions within specified performance requirements. • Fault: An incorrect step, process, or data definition in a computer program. • Error: A human action that produces an incorrect result.

  18. Correctness and Defects NOT • Bugs??? • Debug??? Or Debugging??? INSTEAD Defect detection and removal - Specific activities related to defect discovery, including testing, inspection, etc. - Specific follow-up activities after defect discovery, including defect diagnosis, analysis, fixing, and re-verification

  19. Defect Related Concepts and Relations

  20. Causal Relation Errors Faults Failures

  21. Correctness-centered properties and measurements

  22. Correctness-centered properties and measurements – Consumer Side Failure properties and direct failure measurement: • Information about the specific failures, what they are, how they occur, etc. • Measured directly by examining failure count, distribution, density, etc.

  23. Correctness-centered properties and measurements – Consumer Side Failure likelihood and reliability measurement: captured in various reliability measures, where reliability -> probability of failure-free operations for a specific time period or for a given set of input

  24. Correctness-centered properties and measurements – Consumer Side Failure severity measurement and safety assurance: Accidents - failures with severe consequences, need to be avoided, contained, or dealt with to ensure the safety for the personnel involved and to minimize other damages.

  25. Correctness-centered properties and measurements – Producer Side • Fix Problems or Faults that caused failures • Deal with the injection and activation of other faults • Faults can be analyzed and examined according to: • Types • Relations to specific failures and accidents • Causes • Time and circumstances when they are injected • Distribution and density

  26. Defects in the context of QA and Quality Engineering • Defect prevention • Defect detection and removal • Defect containment Quality engineering includes • Quality planning • Measurement, analysis and feedback

  27. Historical Perspective of Quality Evolving perceptions of quality • Quality --- physical objects (cars, tools, radio, TV, etc • QA --- manufacturing process • Focus --- product conform to specifications • Quality problems --- non-conformance • Quality problems --- observed defects • Shift to expectations of quality, • Focus --- 0 defect • Customer loyalty over conformance • Conformance, adaptability and innovation

  28. Quality in Software Engineering 1. Functional stage - providing the automated functions to replace 2. Schedule stage - introducing important features and new systems on a timely and orderly basis to satisfy urgent user needs 3. Cost stage - reducing the price to stay competitive accompanied by the widespread use of personal computers. 4. Reliability stage - managing users’ quality expectations under the increased dependency on software and high cost or severe damages associated with software failures.

  29. Software Quality • Software quality may include many different attributes and may be defined and perceived differently based on people’s different roles and responsibilities • High quality means none or few problems of limited damage to customers. These problems are encountered by software users and caused by internal software defects.

More Related