Full file at

Chapter 2

Introduction to Quality and Metrics in Software Engineering

True/False Questions

  1. Software metrics measure the effectiveness of the processes employed and the software being constructed
  1. T
  2. F
  1. Implementation and unit testing are the only phases which require quality and metrics
  2. T
  3. F
  1. The more closely a software product meets its requirements the higher its quality
  1. T
  2. F
  1. There is usually no correlation between defects and quality
  1. T
  2. F
  1. Code inspection is the only way to detect defects within a product.]
  1. T
  2. F
  1. Software verification and validation (V&V) is a process that is done during the maintenance phase of the software life cycle
  1. T
  2. F
  1. Only at the end of each software project, data or measurements are collected to ascertain the effectiveness of the processes employed and the software being constructed
  1. T
  2. F
  1. Metrics only measure the various aspects of a project such as the quality of the software itself
  1. T
  2. F
  1. It is important that “software quality” has a consistent meaning within the project’s stakeholders
  1. T
  2. F
  1. In practice, most software systems do not contain defects and therefore always meet their requirements
  1. T
  2. F
  1. Agile projects emphasize the attainment of quality through continual interaction with the customer in person, early implementation, and continual, cumulative testing
  1. T
  2. F
  1. You do not need quantifiable, objective measures to provide visibility into a project it is difficult to measure a project’s progress in terms of whether it is on schedule, whether it is meeting its quality goals, and whether it is ready to ship to customers.
  1. T
  2. F

Multiple Choice Questions

  1. During the software development life-cycle Verification ensures that:
  2. The code being built compiles correctly
  3. All testing is complete
  4. Each step in the development process is carried out correctly
  5. The stakeholders for the project are satisfied with the results
  6. Agile projects emphasize the attainment of quality through:
  1. continual interactions with the customer, early implementation and continual, cumulative testing
  2. a single interaction with the customer, early implementation and continual, cumulative testing
  3. continual interactions with the customer and early implementation only
  4. Continual interactions with the customer, early implementation and continual testing
  1. Metrics are collected and analyzed throughout the software life cycle, and help with the following:
  2. Determining software quality level
  3. Tracking schedule progress
  4. Process improvement
  5. All of the above
  1. It is useful to identify a set of software quality metrics, which are a subset of the total metricscollected for a project. These metrics are specifically focused on the quality characteristics of software and of the processes employed during the software life cycle. Important quality metrics include:
  2. Defect density
  3. both A and C only
  4. Customer problems
  5. Cost and scheduling
  6. All of the above
  1. A common indicator of software quality is the reliability of a system, as measured by its availability or the frequency of system crashes over a period of time. A typical metric to measure this is:
  2. average number of failures
  3. mean time to failure
  4. median time to failure
  5. customer satisfaction survey
  1. According to your text, Verification and Validation can be defined as:
  2. Ensuring that each artifact is built to its specification
  3. Checking that the artifact satisfies its specification.
  4. Providing betas to customers to ensure the correct product is being developed.
  5. Giving a customer satisfaction survey to ensure that the specifications were met
  6. A and B are the correct answers
  7. B and D are the correct answers
  1. Software metrics can be classified into the following broad categories:
  2. Product metrics and Process metrics
  3. Code metrics and Test metrics
  4. Customer metrics and End-user metrics
  5. None of the above
  1. Defect density refers to the following:
  2. How complex the defect is to fix
  3. The number of defects relative to the software size expressed in thousands of lines of code
  4. The amount of time it takes to fix the defect
  5. None of the above
  1. The collection of quality metric information will help with the following:
  2. Determining the quality level
  3. Estimating project schedules
  4. Tracking schedule progress
  5. All of the above
  6. B only
  1. A quality goal of a software development process is to:
  2. Hide as many defects as possible
  3. Remove as many defects as possible as early in the development life cycle as possible
  4. Only fix the critical defects
  5. None of the above
  1. A quality goal of a software development process is not to:
  2. Hide as many defects as possible
  3. Remove as many defects as possible as early in the development life cycle as possible
  4. Only fix the critical defects
  5. None of the above
  1. As defined by the book which is not a quality metric:
  2. defect density
  3. customer satisfaction
  4. mean time to failure
  5. upper management satisfaction

Short Answer Questions

  1. 25. How does Verification and Validation improve the software which is being produced during a software project? Why does V&V improve the software that is being produced?
  2. Students’ answers may vary, however, all answers should contain the fact that Verification ensures that each part of the development process is carried out correctly. This ultimately ensures that milestones are created to ensure that before the project team exits a development process phase, they are on track. Validation ensures that each software artefact produced meets the requirements as specified in a prior phase. This can be done through rigorous testing or code inspection.
  1. Type: E
  2. 26. Generally, describe software quality metrics. Please provide some examples of quality metrics.
  1. Software quality metrics provide a way to measure how close software satisfies the requirements defined for the project. Software quality metrics specifically measure the degree of compliance to these requirements. It is imperative for quality metrics to be quantifiable and measurable in a clear way. An example of a quality metric might be, the system response time when loading cannot exceed 5 seconds. This example is a measurable quality attribute of a system.
  1. Type: E
  2. 27. What are software defects and what is their effect on the quality of the software project?
  1. Software defects are defined as a deviation from what’s required for the software development life cycle phase. Software defects cause quality degradation due to the fact that they cause the software to behave in an unintended manner. Defects are the clearest manifestation of a quality shortfall. Finding software defects as soon as possible within the software development life-cycle is imperative to keeping project costs to a minimum. As the later defects are found within the software development life-cycle the more costly it is to fix the defect.
  1. Type: E
  2. 28. Describe the cost of detecting and repairing a defect during the maintenance phase of the software development life-cycle. How important is it to find defects earlier in the software development life-cycle?
  1. Students’ answers may vary. However all answers should include the following. The cost of detecting and repairing a defect late in the software development life-cycle can be exponentially costly. In short the later in the development life-cycle a defect is found, the more costly it will be to repair it. Figure 2.4 describes the cost of a defect throughout the software development life-cycle. As you can see, per each phase of the software development life cycle, the cost continues to grow, being the most expensive during the maintenance phase of the project. Therefore, it is imperative to find defects as early on as possible within the software development life-cycle due to the fact that irrespective of quality perception, the actual cost of finding defects late in the SDLC can be staggering.
  1. Type: E
  2. 29. What is a Software Quality Assurance Plan? Please describe the purpose of a SQAP.
  1. A SQAP is a document for expressing an overall approach to quality that is conducted throughout the entire software development life-cycle. The purpose of SQAP is to define all aspects of quality for the project. The document should cover:
  2. The organizational structure of the quality team
  3. A list of documentation to be created governing the development, verification and validation, use and
  4. maintenance of the software (e.g., software requirements specification, verification and validation plan,
  5. software design specification, etc.)
  6. The definition and schedule of inspections to be conducted and how they are to be conducted
  7. The metrics to be collected, monitored, and analyzed
  8. References to software test plans
  9. How problem reporting is to be managed and conducted
  1. Type: E
  2. Describe some of the quality metrics listed in this chapter. Please add onto this list and think of other quality metrics. Why do you feel these are important to measure?
  1. Students answers should include the following quality metrics:
  2. Defect density
  3. Mean time to failure
  4. Customer problems
  5. Customer satisfaction
  6. Students answers will vary on other quality metrics, and example might be Critical defects. However, their explanation will vary as to why they are important to measure. Their focus should be on how the metrics can measure code quality in relationship to resources, features and time.

© 2010 John Wiley & Sons Ltd.