SE401 · Testing Metrics and Tools · Annotated SlidesTesting Metrics and Tools
Original
Overview

Testing Metrics and Tools

Why measure testing, base vs. calculated metrics (test-case productivity, execution and pass rates, defect density, defect leakage, defect removal efficiency, coverage), test tool classes (management, static, design, execution, performance, monitoring), benefits and risks of tools, and interview questions on QA vs. QC and verification vs. validation.

How to read this page

Every original slide is shown unchanged. Yellow marks on a slide point to a numbered note: hover or tap a mark to jump to its note, and hover a note to see its marks. Questions tagged Past exam appeared on a real paper; Prediction questions are likely angles, not confirmed. Pick an answer to each question: a wrong pick tells you why it is wrong, so you can try again.

All 97 slides
  1. 1 Slide 1
  2. 2 • Testing Metrics • Testing Tools
  3. 3 • Metrics can be defined as “STANDARDS OF MEASUREMENT” • Metric is a unit used for describing or measuring an attribute
  4. 4 • "We cannot improve what we cannot measure" and Test Metrics helps us to do exactly the same.
  5. 5 • Software testing metrics or software test measurement is the quantitative indication of extent, capacity, dimension, amount or size of
  6. 6 • You cannot improve what you cannot measure
  7. 7 • Take decision for next phase of activities • Evidence of the claim or prediction
  8. 8 test metrics is to use the data for
  9. 9 Types of Test Metrics
  10. 10 • Identification of correct testing metrics is very important. Few things need to be considered before identifying the test metrics
  11. 11 • Manual test metrics are classified into two classes
  12. 12 • Base metrics is the raw data collected by Test Analyst during the test case development and execution (# of test cases executed, # of test
  13. 13 • Major Base Metrics:
  14. 14 • Major Calculated Metrics:
  15. 15 • Major Calculated Metrics:
  16. 16 • Major Calculated Metrics:
  17. 17 • Major Calculated Metrics:
  18. 18 • Major Calculated Metrics:
  19. 19 • Major Calculated Metrics:
  20. 20 • Major Calculated Metrics:
  21. 21 • Major Calculated Metrics:
  22. 22 • Major Calculated Metrics:
  23. 23 • Major Calculated Metrics:
  24. 24 • Major Calculated Metrics:
  25. 25 • Major Calculated Metrics:
  26. 26 • Major Calculated Metrics:
  27. 27 • Major Calculated Metrics:
  28. 28 • Major Calculated Metrics:
  29. 29 • The total amount of time spent actually testing the product measured in test hours
  30. 30 • Code Coverage (How much of the code is being exercised?)
  31. 31 • Defect removal percentage
  32. 32 • Fundamental test metrics are a combination of Base Metrics that can then be used to produce Calculated Metrics .
  33. 33 • Major Calculated Software Test
  34. 34 Slide 34
  35. 35 Slide 35
  36. 36 • Test tools can be used for one or more activities that support testing:
  37. 37 • Tools can have one or more purposes, depending on the context:
  38. 38 • Tools are classified according to the testing activities that they support.
  39. 39 • Characteristics
  40. 40 • Test management tools and application lifecycle management tool (ALM)
  41. 41 • Tools for static testing
  42. 42 • Review process tools
  43. 43 • Static analysis tools (D)
  44. 44 • Static analysis tools (D)
  45. 45 Static analysis tools (D)
  46. 46 • Static analysis tool example: Source Monitor
  47. 47 • Static analysis tool example: Source Monitor
  48. 48 • JDepend
  49. 49 • Modeling tools (D)
  50. 50 • Modeling tool example: StarUML
  51. 51 • The major benefit of static testing tools and modeling tools is the cost effectiveness of finding more defects at an earlier time in the
  52. 52 • Test design tools • Model-based testing tools
  53. 53 • Test design tools
  54. 54 • Model-based testing
  55. 55 • TDD -Test driven development tool (D)
  56. 56 • Test execution tools • Coverage tools
  57. 57 • Test execution tools
  58. 58 • Test harnesses (D) and Unit test framework tools (D)
  59. 59 • Drivers
  60. 60 • Test harnesses (D) and Unit test framework tools (D)
  61. 61 • Characteristics of test harness and unit test framework tools
  62. 62 • Test comparators
  63. 63 • Test data for performance testing
  64. 64 • Tests should reflect realistic (correct) scenarios
  65. 65 • Common features of test data preparation tools
  66. 66 • Monitoring tools identifying problems and sending an alert message to the administrator (e.g. network administrator)
  67. 67 Monitoring tools
  68. 68 • Features or characteristics of dynamic analysis tools include support for
  69. 69 Dynamic analysis tools (D)
  70. 70 • There are tools specialized for use in a particular type of application
  71. 71 • There are tools specialized for use in a particular type of application. • Example:
  72. 72 • Testers may use:
  73. 73 • Simply purchasing or leasing a tool does not guarantee success with that tool!
  74. 74 • Reduce repetitive work (running regression tests, re-entring the same test data, etc.)
  75. 75 • Greater consistency and repeatability
  76. 76 • Objective assessment
  77. 77 • Ease of access to information about the tests or test effort
  78. 78 • Unrealistic expectations for the tool (functionality and ease of use) • Underestimating time, cost, effort for the introduction of a tool (training,
  79. 79 • Tools are not magic! • They can do very well what they have been designed to do, but they
  80. 80 • This type of tool often requires significant effort in order to achieve significant benefits.
  81. 81 • The design of the load to be generated by the tool • Timing aspects probe effect
  82. 82 • There is a risk that the changes to make old code to conform to new standard will introduce an unexpected side effect
  83. 83 • They need to interface with other tools or spreadsheets in order to produce information in the best format for the current needs of the
  84. 84 Slide 84
  85. 85 • When can we stop testing?
  86. 86 • What is difference between QA, QC and Software Testing?
  87. 87 • Quality Assurance (QA) : QA refers to the planned and systematic way of monitoring the quality of process which is followed to produce a quality product. QA
  88. 88 What is verification and validation? • Verification: process of evaluating work-products of a development
  89. 89 Explain Branch Coverage and Decision Coverage. • Branch Coverage is testing performed in order to ensure that every
  90. 90 • The term "static analysis" is conflated, but here we use it to mean a collection of algorithms and techniques used to analyze source code in
  91. 91 Questions:
  92. 92 • Testing “Phases” • Static vs. Dynamic Testing
  93. 93 • Definition - What does Quality Assurance (QA)
  94. 94 • Software quality assurance (SQA) is a process that ensures that developed
  95. 95 • The area of Software Quality Assurance can be broken down into a number of smaller areas such as
  96. 96 don’t build it
  97. 97 • Recognizing the ACM and IEEE code of ethics for engineers: • PUBLIC - Software testers shall act consistently with the public interest. • CLIENT AND EMPLOYER - Software testers shall act in a manner that is in the best interests of their client and
Slide 1 / 97

Slide 1

Slide 1: Slide 1
Slide 2 / 97

• Testing Metrics • Testing Tools

Slide 2: • Testing Metrics • Testing Tools
Slide 3 / 97

• Metrics can be defined as “STANDARDS OF MEASUREMENT” • Metric is a unit used for describing or measuring an attribute

Slide 3: • Metrics can be defined as “STANDARDS OF MEASUREMENT” • Metric is a unit used for describing or measuring an attribute

Notes

  1. "You cannot improve what you cannot measure": metrics show progress, quality and where to act.

Slide 4 / 97

• "We cannot improve what we cannot measure" and Test Metrics helps us to do exactly the same.

Slide 4: • "We cannot improve what we cannot measure" and Test Metrics helps us to do exactly the same.
Slide 5 / 97

• Software testing metrics or software test measurement is the quantitative indication of extent, capacity, dimension, amount or size of

Slide 5: • Software testing metrics or software test measurement is the quantitative indication of extent, capacity, dimension, amount or size of
Slide 6 / 97

• You cannot improve what you cannot measure

Slide 6: • You cannot improve what you cannot measure
Slide 7 / 97

• Take decision for next phase of activities • Evidence of the claim or prediction

Slide 7: • Take decision for next phase of activities • Evidence of the claim or prediction
Slide 8 / 97

test metrics is to use the data for

Slide 8: test metrics is to use the data for
Slide 9 / 97

Types of Test Metrics

Slide 9: Types of Test Metrics
Slide 10 / 97

• Identification of correct testing metrics is very important. Few things need to be considered before identifying the test metrics

Slide 10: • Identification of correct testing metrics is very important. Few things need to be considered before identifying the test metrics
Slide 11 / 97

• Manual test metrics are classified into two classes

Slide 11: • Manual test metrics are classified into two classes
Slide 12 / 97

• Base metrics is the raw data collected by Test Analyst during the test case development and execution (# of test cases executed, # of test

Slide 12: • Base metrics is the raw data collected by Test Analyst during the test case development and execution (# of test cases executed, # of test

Notes

  1. Base metrics: raw counts (test cases written, executed, passed, failed, blocked; defects found). Calculated metrics are derived from them.

Slide 13 / 97

• Major Base Metrics:

Slide 13: • Major Base Metrics:
Slide 14 / 97

• Major Calculated Metrics:

Slide 14: • Major Calculated Metrics:

Notes

  1. Examples: % test cases executed = executed / total × 100; pass rate = passed / executed × 100; defect density = defects / size (KLOC).

Exam angle

PredictionQ1

200 test cases, 160 executed, 120 passed. The pass rate of executed tests is:

Slide 15 / 97

• Major Calculated Metrics:

Slide 15: • Major Calculated Metrics:
Slide 16 / 97

• Major Calculated Metrics:

Slide 16: • Major Calculated Metrics:
Slide 17 / 97

• Major Calculated Metrics:

Slide 17: • Major Calculated Metrics:
Slide 18 / 97

• Major Calculated Metrics:

Slide 18: • Major Calculated Metrics:
Slide 19 / 97

• Major Calculated Metrics:

Slide 19: • Major Calculated Metrics:
Slide 20 / 97

• Major Calculated Metrics:

Slide 20: • Major Calculated Metrics:
Slide 21 / 97

• Major Calculated Metrics:

Slide 21: • Major Calculated Metrics:
Slide 22 / 97

• Major Calculated Metrics:

Slide 22: • Major Calculated Metrics:
Slide 23 / 97

• Major Calculated Metrics:

Slide 23: • Major Calculated Metrics:
Slide 24 / 97

• Major Calculated Metrics:

Slide 24: • Major Calculated Metrics:
Slide 25 / 97

• Major Calculated Metrics:

Slide 25: • Major Calculated Metrics:
Slide 26 / 97

• Major Calculated Metrics:

Slide 26: • Major Calculated Metrics:
Slide 27 / 97

• Major Calculated Metrics:

Slide 27: • Major Calculated Metrics:
Slide 28 / 97

• Major Calculated Metrics:

Slide 28: • Major Calculated Metrics:
Slide 29 / 97

• The total amount of time spent actually testing the product measured in test hours

Slide 29: • The total amount of time spent actually testing the product measured in test hours
Slide 30 / 97

• Code Coverage (How much of the code is being exercised?)

Slide 30: • Code Coverage (How much of the code is being exercised?)
Slide 31 / 97

• Defect removal percentage

Slide 31: • Defect removal percentage

Notes

  1. Defect removal efficiency (DRE) = defects found before release / (before + after release) × 100.

Exam angle

PredictionQ1

90 defects found in testing, 10 found by customers after release. DRE =

Slide 32 / 97

• Fundamental test metrics are a combination of Base Metrics that can then be used to produce Calculated Metrics .

Slide 32: • Fundamental test metrics are a combination of Base Metrics that can then be used to produce Calculated Metrics .
Slide 33 / 97

• Major Calculated Software Test

Slide 33: • Major Calculated Software Test
Slide 34 / 97

Slide 34

Slide 34: Slide 34
Slide 35 / 97

Slide 35

Slide 35: Slide 35
Slide 36 / 97

• Test tools can be used for one or more activities that support testing:

Slide 36: • Test tools can be used for one or more activities that support testing:

Notes

  1. Tools support test management, static testing, test design, execution and logging, performance and monitoring.

Slide 37 / 97

• Tools can have one or more purposes, depending on the context:

Slide 37: • Tools can have one or more purposes, depending on the context:
Slide 38 / 97

• Tools are classified according to the testing activities that they support.

Slide 38: • Tools are classified according to the testing activities that they support.
Slide 39 / 97

• Characteristics

Slide 39: • Characteristics
Slide 40 / 97

• Test management tools and application lifecycle management tool (ALM)

Slide 40: • Test management tools and application lifecycle management tool (ALM)
Slide 41 / 97

• Tools for static testing

Slide 41: • Tools for static testing
Slide 42 / 97

• Review process tools

Slide 42: • Review process tools
Slide 43 / 97

• Static analysis tools (D)

Slide 43: • Static analysis tools (D)

Notes

  1. Static analysis tools (SpotBugs, checkstyle, JDepend) find defects in code without running it.

Slide 44 / 97

• Static analysis tools (D)

Slide 44: • Static analysis tools (D)
Slide 45 / 97

Static analysis tools (D)

Slide 45: Static analysis tools (D)
Slide 46 / 97

• Static analysis tool example: Source Monitor

Slide 46: • Static analysis tool example: Source Monitor
Slide 47 / 97

• Static analysis tool example: Source Monitor

Slide 47: • Static analysis tool example: Source Monitor
Slide 48 / 97

• JDepend

Slide 48: • JDepend
Slide 49 / 97

• Modeling tools (D)

Slide 49: • Modeling tools (D)
Slide 50 / 97

• Modeling tool example: StarUML

Slide 50: • Modeling tool example: StarUML
Slide 51 / 97

• The major benefit of static testing tools and modeling tools is the cost effectiveness of finding more defects at an earlier time in the

Slide 51: • The major benefit of static testing tools and modeling tools is the cost effectiveness of finding more defects at an earlier time in the
Slide 52 / 97

• Test design tools • Model-based testing tools

Slide 52: • Test design tools • Model-based testing tools
Slide 53 / 97

• Test design tools

Slide 53: • Test design tools
Slide 54 / 97

• Model-based testing

Slide 54: • Model-based testing
Slide 55 / 97

• TDD -Test driven development tool (D)

Slide 55: • TDD -Test driven development tool (D)
Slide 56 / 97

• Test execution tools • Coverage tools

Slide 56: • Test execution tools • Coverage tools
Slide 57 / 97

• Test execution tools

Slide 57: • Test execution tools

Notes

  1. Test execution tools run scripted tests; harnesses and unit frameworks provide drivers and stubs.

Slide 58 / 97

• Test harnesses (D) and Unit test framework tools (D)

Slide 58: • Test harnesses (D) and Unit test framework tools (D)
Slide 59 / 97

• Drivers

Slide 59: • Drivers
Slide 60 / 97

• Test harnesses (D) and Unit test framework tools (D)

Slide 60: • Test harnesses (D) and Unit test framework tools (D)
Slide 61 / 97

• Characteristics of test harness and unit test framework tools

Slide 61: • Characteristics of test harness and unit test framework tools
Slide 62 / 97

• Test comparators

Slide 62: • Test comparators
Slide 63 / 97

• Test data for performance testing

Slide 63: • Test data for performance testing
Slide 64 / 97

• Tests should reflect realistic (correct) scenarios

Slide 64: • Tests should reflect realistic (correct) scenarios
Slide 65 / 97

• Common features of test data preparation tools

Slide 65: • Common features of test data preparation tools
Slide 66 / 97

• Monitoring tools identifying problems and sending an alert message to the administrator (e.g. network administrator)

Slide 66: • Monitoring tools identifying problems and sending an alert message to the administrator (e.g. network administrator)
Slide 67 / 97

Monitoring tools

Slide 67: Monitoring tools
Slide 68 / 97

• Features or characteristics of dynamic analysis tools include support for

Slide 68: • Features or characteristics of dynamic analysis tools include support for
Slide 69 / 97

Dynamic analysis tools (D)

Slide 69: Dynamic analysis tools (D)
Slide 70 / 97

• There are tools specialized for use in a particular type of application

Slide 70: • There are tools specialized for use in a particular type of application
Slide 71 / 97

• There are tools specialized for use in a particular type of application. • Example:

Slide 71: • There are tools specialized for use in a particular type of application. • Example:
Slide 72 / 97

• Testers may use:

Slide 72: • Testers may use:
Slide 73 / 97

• Simply purchasing or leasing a tool does not guarantee success with that tool!

Slide 73: • Simply purchasing or leasing a tool does not guarantee success with that tool!
Slide 74 / 97

• Reduce repetitive work (running regression tests, re-entring the same test data, etc.)

Slide 74: • Reduce repetitive work (running regression tests, re-entring the same test data, etc.)

Notes

  1. Benefits: less repetitive work, consistency, objective assessment. Risks: unrealistic expectations, underestimated effort, over-reliance on the tool.

Slide 75 / 97

• Greater consistency and repeatability

Slide 75: • Greater consistency and repeatability
Slide 76 / 97

• Objective assessment

Slide 76: • Objective assessment
Slide 77 / 97

• Ease of access to information about the tests or test effort

Slide 77: • Ease of access to information about the tests or test effort
Slide 78 / 97

• Unrealistic expectations for the tool (functionality and ease of use) • Underestimating time, cost, effort for the introduction of a tool (training,

Slide 78: • Unrealistic expectations for the tool (functionality and ease of use) • Underestimating time, cost, effort for the introduction of a tool (training,
Slide 79 / 97

• Tools are not magic! • They can do very well what they have been designed to do, but they

Slide 79: • Tools are not magic! • They can do very well what they have been designed to do, but they
Slide 80 / 97

• This type of tool often requires significant effort in order to achieve significant benefits.

Slide 80: • This type of tool often requires significant effort in order to achieve significant benefits.
Slide 81 / 97

• The design of the load to be generated by the tool • Timing aspects probe effect

Slide 81: • The design of the load to be generated by the tool • Timing aspects probe effect
Slide 82 / 97

• There is a risk that the changes to make old code to conform to new standard will introduce an unexpected side effect

Slide 82: • There is a risk that the changes to make old code to conform to new standard will introduce an unexpected side effect
Slide 83 / 97

• They need to interface with other tools or spreadsheets in order to produce information in the best format for the current needs of the

Slide 83: • They need to interface with other tools or spreadsheets in order to produce information in the best format for the current needs of the
Slide 84 / 97

Slide 84

Slide 84: Slide 84
Slide 85 / 97

• When can we stop testing?

Slide 85: • When can we stop testing?

Notes

  1. Stop testing when exit criteria are met: coverage, defect rates, deadlines, budget, acceptable residual risk.

Slide 86 / 97

• What is difference between QA, QC and Software Testing?

Slide 86: • What is difference between QA, QC and Software Testing?
Slide 87 / 97

• Quality Assurance (QA) : QA refers to the planned and systematic way of monitoring the quality of process which is followed to produce a quality product. QA

Slide 87: • Quality Assurance (QA) : QA refers to the planned and systematic way of monitoring the quality of process which is followed to produce a quality product. QA
Slide 88 / 97

What is verification and validation? • Verification: process of evaluating work-products of a development

Slide 88: What is verification and validation? • Verification: process of evaluating work-products of a development
Slide 89 / 97

Explain Branch Coverage and Decision Coverage. • Branch Coverage is testing performed in order to ensure that every

Slide 89: Explain Branch Coverage and Decision Coverage. • Branch Coverage is testing performed in order to ensure that every
Slide 90 / 97

• The term "static analysis" is conflated, but here we use it to mean a collection of algorithms and techniques used to analyze source code in

Slide 90: • The term "static analysis" is conflated, but here we use it to mean a collection of algorithms and techniques used to analyze source code in
Slide 91 / 97

Questions:

Slide 91: Questions:
Slide 92 / 97

• Testing “Phases” • Static vs. Dynamic Testing

Slide 92: • Testing “Phases” • Static vs. Dynamic Testing
Slide 93 / 97

• Definition - What does Quality Assurance (QA)

Slide 93: • Definition - What does Quality Assurance (QA)
Slide 94 / 97

• Software quality assurance (SQA) is a process that ensures that developed

Slide 94: • Software quality assurance (SQA) is a process that ensures that developed
Slide 95 / 97

• The area of Software Quality Assurance can be broken down into a number of smaller areas such as

Slide 95: • The area of Software Quality Assurance can be broken down into a number of smaller areas such as
Slide 96 / 97

don’t build it

Slide 96: don’t build it
Slide 97 / 97

• Recognizing the ACM and IEEE code of ethics for engineers: • PUBLIC - Software testers shall act consistently with the public interest. • CLIENT AND EMPLOYER - Software testers shall act in a manner that is in the best interests of their client and

Slide 97: • Recognizing the ACM and IEEE code of ethics for engineers: • PUBLIC - Software testers shall act consistently with the public interest. • CLIENT AND EMPLOYER - Software testers shall act in a manner that is in the best interests of their client and