Software Quality Attributes and Importance in Development

Software Quality Attributes and Importance in Development
Slide Note
Embed
Share

A deep dive into software quality attributes, emphasizing the significance of meeting customer needs, conforming to requirements, and addressing non-functional aspects such as reliability, efficiency, and security. Explore the key elements that define quality in software development, including the impact of bugs on the economy and the role of quality attributes in the testing process.

  • Software Quality
  • Customer Needs
  • Requirements
  • Non-functional
  • Development

Uploaded on Mar 16, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Software Verification and Validation Lecture No. 2

  2. Module 9 Software Quality Attributes

  3. Software Quality Attributes What is Quality Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, implicit characteristics that are expected of all professionally developed software (Pressman) The degree to which a system, component, or process meets specified requirements.

  4. Software Quality Attributes The degree to which a system, component, or process meets customer or user needs or expectations (IEEE) Why Quality You would not like MS Office to occasionally save your documents Competitiveness of International Market

  5. Software Quality Attributes Cost of Quality Software bugs, or errors, are so prevalent and so detrimental that they cost the U.S. economy an estimated $59.5 billion annually, or about 0.6 percent of gross domestic product. (US Dept of Commerce, 2002)

  6. Software Quality Attributes Quality (Our working definition) The totality of features and characteristics of a product, process of service that bear on its ability to satisfy stated or implied needs.

  7. Software Quality Attributes The default document for quality: We need to know where are the stated or implied need Against which we test if they are met We refer to these quality features and characteristics as Quality Attributes They are part of Software requirements specification (SRS ) document

  8. Software Quality Attributes Non-functional Requirements Product transition related Portability Interoperability Reusability Product Operations related Reliability Robustness Efficiency Usability

  9. Software Quality Attributes Safety Security Fault-tolerance Product revision related Maintainability We need to know/gauge from our default document for quality, requirement for assurance of quality and reliability We need to plan accordingly

  10. Software Quality Attributes Quality attribute examples: System should be capable of processing 10 transactions per minute The system should only allow authorized access. Users should be forced to change their passwords every tenth usage System should maintain logs of disk activity END

  11. Module 10: Quality Control vs. Quality Assurance

  12. Quality Control vs. Quality Assurance Quality Assurance It is fault prevention through process design and auditing Creating processes, procedures, tools, jigs etc., to prevent faults from occurring Prevent as much as possible defect injection Process oriented

  13. Quality Control vs. Quality Assurance Quality Control It is fault/failure detection through static and/or dynamic testing of artefacts It is examining of artefacts against pre-determined criteria to measure conformance Product oriented

  14. Quality Control vs. Quality Assurance Quality Assurance (QA) It is a procedure that focuses on providing assurance that quality requested will be achieved QA aims to prevent the defect It is a method to manage the quality- Verification It does not involve executing the program It's a Preventive technique It's a Proactive measure Quality Control (QC) It is a procedure that focuses on fulfilling the quality requested. QC aims to identify and fix defects It is a method to verify the quality- Validation It always involves executing a program It's a Corrective technique It's a Reactive measure

  15. Quality Control vs. Quality Assurance Quality Assurance (QA) It is the procedure to create the deliverables QA involves in full software development life cycle In order to meet the customer requirements, QA defines standards and methodologies It is performed before Quality Control Quality Control (QC) It is the procedure to verify that deliverables QC involves in full software testing life cycle QC confirms that the standards are followed while working on the product It is performed only after QA activity is done

  16. Quality Control vs. Quality Assurance Quality Assurance (QA) Its main motive is to prevent defects in the system. It is a less time-consuming activity QA ensures that everything is executed in the right way, and that is why it falls under verification activity It requires the involvement of the whole team Quality Control (QC) Its main motive is to identify defects or bugs in the system. It is a more time-consuming activity QC ensures that whatever we have done is as per the requirement, and that is why it falls under validation activity It requires the involvement of the Testing team END

  17. Module 11: Product Quality and Process Quality

  18. Product Quality and Process Quality 1. Product Quality 1. Product quality means to incorporate features that have a capacity to meet consumer needs (requirements) 2. gives customer satisfaction by improving products (goods) and making them free from any deficiencies or defects.

  19. Product Quality and Process Quality 3. There are various important aspects which define a product quality like: 1. Storage, Quality of Design 2. Quality of Conformance 3. Reliability, Safety

  20. Product Quality and Process Quality 1. Process Quality 1. Process Quality is defined as all the steps used in the manufacturing the final product. 2. Its focus are on all activities and steps used to achieve a maximum acceptance regardless of its final product.

  21. Product Quality and Process Quality 1. Difference 1.Process quality is one of a number of contributors to product quality. 2.Product quality is the overall quality of the product in question: how well it conforms to the product requirements, specifications, and ultimately customer expectations.

  22. Product Quality and Process Quality 1. Process quality focuses on how well some part of the process of developing a particular product, and getting it into the customer s hands, is working. 2. The process being analyzed in a particular case may have a very broad scope, or it may focus in on minute details of a single step.

  23. Product Quality and Process Quality 1. Product Quality Degree of conformance to specification as defined by the Customer 2. Process Quality Degree of variability in process execution and the minimization of the Cost of Quality END

  24. Module 12: Software verification and validation

  25. Software verification and validation Verification: Process of assessing a software product or system during a particular phase to determine if it meets the requirements/conditions specified at beginning of that phase. It is static and includes substantiation of necessary artifacts, code, design and program.

  26. Software verification and validation This phase includes all the activities that ensure the delivery of best quality product such as design analysis, inspection specification analysis. Some common methods of conducting verification are meetings, inspection and review. and

  27. Software verification and validation Validation: Validation is the process of testing a software product after its development process gets completed It is conducted to determine whether a particular product meets the requirements that were specified for the product

  28. Software verification and validation It is a dynamic process that evaluates a product on parameters that help assess whether it meets the expectations and requirements of the customers Some common methods of conducting validation are white box testing, while box testing and gray box testing. END

  29. Module 13: Difference between Validation and Verification

  30. Difference between Validation & Verification We have gone through Quality control Quality assurance We have covered Verification Validation Let us have a look at difference between validation and verification

  31. Difference between Validation & Verification Verification Validation Are we building the system right? Are we building the right system? Validation is the process of evaluating software at the end of development process to determine whether software meets the customer expectations and requirements. Verification is the process of evaluating products of a development phase to find out whether they meet the specified requirements. Following activities are involved in Validation: Testing like black box testing, white box testing, gray box testing etc. Following activities are involved in Verification: Reviews, Meetings and Inspections.

  32. Difference between Validation & Verification Verification Validation Are we building the system right? Are we building the right system? The objective of Validation is to make sure that the product actually meet up the user s requirements, and check whether the specifications were correct in the first place. The objective of Verification is to make sure that the product being develop is as per the requirements and design specifications. Verification is carried out before the Validation. Validation activity is carried out just after the Verification.

  33. Difference between Validation & Verification Verification Validation Verification is carried out by QA team to check whether implementation software is as per specification document or not. Validation is carried out by testing team. Execution of code is not comes under Verification. Execution of code is comes under Validation. Verification process explains whether the outputs are according to inputs or not. Validation process describes whether the software is accepted by the user or not.

  34. Difference between Validation & Verification Verification Validation Following items are evaluated during Verification: Plans, Requirement Specifications, Design Specifications, Code, Test Cases etc, Following item is evaluated during Validation: Actual product or Software under test. Cost of errors caught in Verification is less than errors found in Validation. Cost of errors caught in Validation is more than errors found in Verification. It is basically manually checking the of documents and files like requirement specifications etc. It is basically checking of developed program based on the requirement specifications documents & files.

  35. Module 14: V and V process

  36. V and V process Verification: "Are we building the product right?" The software should conform to its specification. Validation: product?" The software should do what the user really requires. "Are we building the right

  37. V and V process Verification: "Are we building the product right?" The software should conform to its specification. Validation: product?" The software should do what the user really requires. "Are we building the right

  38. V and V process Validation: process of evaluating a system or a component during or at the end of development process to determine whether it satisfies specified requirements. That is: are we building the right product Verification: process of evaluating a system or a component to determine whether products of a given development phase satisfy the conditions imposed at the start of that phase. That is: are we building the product right

  39. Static Vs. Dynamic V and V Static vs. Dynamic V & V Code and document inspections - Concerned with the analysis of the static system representation to discover problems(static v & v) May be supplement by tool-based document and code analysis Software testing - Concerned with exercising and observing product behaviour (dynamic v & v) The system is executed with test data and its operational behaviour is observed

  40. Static Vs. Dynamic V and V Verification: formal manipulation prove properties performed on model / artefacts Validation: experimentation show error concrete system concrete world formal world Verification is only as good as the validity of the model on which it is based Testing can only show the presence of errors, not their absence

  41. V and V process Verification and validation should establish confidence that the software is fit for its purpose. This does NOT mean completely free of defects. Rather, it must be good enough for its intended use. The type of use will determine the degree of confidence that is needed. This leads us to review of definition of testing, we have already discussed in the previous lecture. That is: Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features of the software item

  42. V and V process Is a whole life-cycle process - V & V must be applied at each stage in the software process. Example: Peer document reviews Has two principal objectives The discovery of defects in a system The assessment of whether or not the system is usable in an operational situation END

  43. Module 15: Critical System Validation

  44. Critical System Validation Validating the reliability, safety and security of computer-based systems Reliability validation Does the measured reliability of the system meet its specification? Is the reliability of the system good enough to satisfy users?

  45. Critical System Validation Safety validation Does the system always operate in such a way that accidents do not occur or that accident consequences are minimised?

  46. Critical System Validation Security validation Is the system and its data secure against external attack? END

More Related Content