SE401 · Black Box Testing Techniques · Annotated SlidesBlack-Box Testing Techniques
Original
Overview

Black-Box Testing Techniques

The black-box version of the test-design lecture: equivalence partitioning, boundary value analysis, decision tables, state transition and use-case testing, non-functional testing, error guessing and exploratory testing.

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 117 slides
  1. 1 Slide 1
  2. 2 • The test development process • Categories of test design techniques
  3. 3 • Before we start testing, we need to know
  4. 4 • The test design process can be done in different ways, from very informal (little or no documentation), to very formal.
  5. 5 1. Test analysis 2. Test design
  6. 6 • The test basis documentation is analyzed in order to determine what to test, i.e. to identify the test conditions .
  7. 7 • “Throw a wide net!” • First; identify as many test conditions as possible
  8. 8 • During test design:
  9. 9 • In order to know what the system should do, we need to have a source of information about the correct behavior of the system an oracle
  10. 10 • During test implementation the test cases are organized in the test procedures
  11. 11 • The test execution schedule defines:
  12. 12 • Writing the test procedure is another opportunity to prioritize the tests, to ensure that the best testing is done in the time available.
  13. 13 Slide 13
  14. 14 • The
  15. 15 • Aug 1, 2012.
  16. 16 "Zombie Software" Blamed for Knight Capital Trading Snafu • A new algorithmic trading program had just been installed, and began
  17. 17 • SEC launched an investigation in Nov 2012. Findings:
  18. 18 Slide 18
  19. 19 Recall the difference between static and dynamic test techniques:
  20. 20 Categories of test design techniques
  21. 21 Slide 21
  22. 22 • Derive test cases from the functional specifications
  23. 23 • Derive systematically test cases from specification • Test cases are derived from how the software is constructed for
  24. 24 • Testing software against a specification of its external behavior without knowledge of internal implementation details
  25. 25 • Incorrect or missing functions • Interface errors
  26. 26 • How is functional validity tested? • How are system behavior and performance tested?
  27. 27 • Inputs
  28. 28 • Defining the input domain
  29. 29 • Early.
  30. 30 • Program code is not necessary
  31. 31 • Different testing strategies (functional, structural, fault-based, model- based) are most effective for different classes of faults
  32. 32 • Functional test is applicable in testing at all granularity levels:
  33. 33 1. Decompose the specification
  34. 34 Functional Specifications
  35. 35 An Example: Postal Code Lookup
  36. 36 Example: Representative Values
  37. 37 Slide 37
  38. 38 Single Defect Assumption : Failures are rarely the result of the
  39. 39 • The basic idea is to divide a set of test conditions into sub groups or sub sets (partitions) that can be considered the same .
  40. 40 • A black-box testing method that divides the input domain of a program into classes of data from which test cases are derived
  41. 41 • Typically the universe of all possible test cases is so large that you cannot try them all
  42. 42 • Partition the test cases into "equivalence classes” • Each equivalence class contains a set of "equivalent" test cases
  43. 43 Equivalence Partitioning
  44. 44 Equivalence Partitioning
  45. 45 Equivalence Partitioning
  46. 46 • When designing test cases, you may use different definitions of “equivalence”, each of which will partition the test case space
  47. 47 • When designing test cases, you may use different definitions of “equivalence”, each of which will partition the test case space
  48. 48 • Test multiple values in each equivalence class. • Often you’re not sure if you have defined the equivalence classes
  49. 49 Guidelines for Defining Equivalence Classes
  50. 50 • Look for ranges of numbers or values • Look for memberships in groups
  51. 51 Equivalence Partitioning - examples
  52. 52 Equivalence Partitioning - examples
  53. 53 Equivalence Partitioning - examples
  54. 54 Equivalence Partitioning - examples
  55. 55 Equivalence Partitioning - examples
  56. 56 • Technique
  57. 57 • Technique
  58. 58 • Test values, sizes, or quantities near the design limits
  59. 59 • A greater number of errors occur at the boundaries of the input domain rather than in the "center"
  60. 60 1. If an input condition specifies a range bounded by values a b and , test cases should be designed with values a b and as well as values just above and just below a b and
  61. 61 • When choosing values from an equivalence class to test, use the values that are most likely to cause the program to fail
  62. 62 • Create test cases to test boundaries of equivalence classes
  63. 63 Boundary Value Analysis - examples
  64. 64 Boundary Value Analysis - examples
  65. 65 Boundary Value Analysis - examples
  66. 66 • Numeric values are often entered as strings which are then converted to numbers internally [int x = atoi(str);]
  67. 67 • Don't get so wrapped up in testing boundary cases that you neglect to test "normal" input values
  68. 68 • Doesn’t require much thought • May miss internal boundaries
  69. 69 • Notes
  70. 70 • Why do both equivalence partitioning and boundary value analysis? • Boundary values are usually extreme values
  71. 71 • Equivalence Class Testing is appropriate when input data is defined in terms of intervals and sets of discrete values.
  72. 72 • Decision tables are a good way
  73. 73 • When creating decision tables, the specification is analyzed, and actions of the system are identified.
  74. 74 • Decision tables
  75. 75 Rule 1 Rule 2 Rule 3 Rule 4 Rule Rule Rule 7 Rule 8 5 6
  76. 76 Rule 1 Rule 2 Rule 3 Rule 4 Rule Rule Rule 7 Rule 5 6 8
  77. 77 Rule 1 Rule 2 & 6 Rule 3 Rule 4 Rule Rule & 8 5 7
  78. 78 • Example- Decision table for credit-card
  79. 79 Decision Table testing
  80. 80 Decision Table testing
  81. 81 • Decision tables are a good way to:
  82. 82 • A system can be in a finite number of different states. This aspects of the system can be described as a ‘finite state machine’ ; a state
  83. 83 • State transition testing
  84. 84 • A ‘finite state machine’ is often shown as a state diagram • ATM PIN example.
  85. 85 • How many tests do we need to exercise every state?
  86. 86 State transition testing
  87. 87 • Why state transition testing?
  88. 88 • Tests can be designed
  89. 89 • Use case describes interactions between actors (users and the system), which produce a result of value to a system user
  90. 90 • Identify test cases that exercise the whole system on a transaction by transaction basis
  91. 91 • Each use case has pre-conditions, which need to be met for a use case to work successfully.
  92. 92 Use case testing
  93. 93 • Very useful for designing acceptance tests with customer/user participation. • Describe the ‘process flows’ through a system base on its actual likely use.
  94. 94 • Black-box testing
  95. 95 Slide 95
  96. 96 • Many systems perform multiple concurrent activities
  97. 97 • Measure the system's performance
  98. 98 Performance Testing
  99. 99 • Test the system at the limits of normal use • Test every limit on the program's behavior defined in the requirements
  100. 100 • Test the system under extreme conditions (i.e., beyond the limits of normal use)
  101. 101 • Any system that manages sensitive information or performs sensitive functions may become a target for intrusion (i.e., hackers)
  102. 102 Security Testing
  103. 103 • Is the user interface intuitive, easy to use, organized, logical? • Does it frustrate users?
  104. 104 Usability Testing
  105. 105 • Try turning the power off or otherwise crashing the program at arbitrary points during its execution
  106. 106 • Test on all required hardware configurations
  107. 107 • Test to make sure the program is compatible with other programs it is supposed to work with
  108. 108 • Test all instructions given in the documentation to ensure their completeness and accuracy
  109. 109 Slide 109
  110. 110 • Tests are derived from the tester’s skill and intuition and their experience with similar applications and technologies.
  111. 111 • Error guessing = a commonly used experienced-based technique. • Generally testers anticipate defects based on experience.
  112. 112 • Exploratory testing = concurrent test design, test execution, test logging and learning,
  113. 113 • The most widely practiced form of functional testing • The tester uses his or her domain knowledge, experience, or intuition
  114. 114 • Complex mathematical (or algorithmic) calculations • Worst case situations (similar to robustness)
  115. 115 • Experience really helps • Frequently done by the customer or user
  116. 116 • The choice of which test techniques to use depends on a number of factors, including:
  117. 117 • Case Study – Knight Capital • Testing techniques
Slide 1 / 117

Slide 1

Slide 1: Slide 1
Slide 2 / 117

• The test development process • Categories of test design techniques

Slide 2: • The test development process • Categories of test design techniques
Slide 3 / 117

• Before we start testing, we need to know

Slide 3: • Before we start testing, we need to know
Slide 4 / 117

• The test design process can be done in different ways, from very informal (little or no documentation), to very formal.

Slide 4: • The test design process can be done in different ways, from very informal (little or no documentation), to very formal.
Slide 5 / 117

1. Test analysis 2. Test design

Slide 5: 1. Test analysis 2. Test design

Notes

  1. Test development: test analysis (what to test: test conditions) → test design (how: test cases) → test implementation (procedures, scripts, schedule).

Slide 6 / 117

• The test basis documentation is analyzed in order to determine what to test, i.e. to identify the test conditions .

Slide 6: • The test basis documentation is analyzed in order to determine what to test, i.e. to identify the test conditions .
Slide 7 / 117

• “Throw a wide net!” • First; identify as many test conditions as possible

Slide 7: • “Throw a wide net!” • First; identify as many test conditions as possible
Slide 8 / 117

• During test design:

Slide 8: • During test design:
Slide 9 / 117

• In order to know what the system should do, we need to have a source of information about the correct behavior of the system an oracle

Slide 9: • In order to know what the system should do, we need to have a source of information about the correct behavior of the system an oracle
Slide 10 / 117

• During test implementation the test cases are organized in the test procedures

Slide 10: • During test implementation the test cases are organized in the test procedures
Slide 11 / 117

• The test execution schedule defines:

Slide 11: • The test execution schedule defines:
Slide 12 / 117

• Writing the test procedure is another opportunity to prioritize the tests, to ensure that the best testing is done in the time available.

Slide 12: • Writing the test procedure is another opportunity to prioritize the tests, to ensure that the best testing is done in the time available.
Slide 13 / 117

Slide 13

Slide 13: Slide 13

Notes

  1. Knight Capital (2012): dead "zombie" code reactivated during a deployment lost $440M in 45 minutes: missing regression and deployment testing.

Slide 14 / 117

• The

Slide 14: • The
Slide 15 / 117

• Aug 1, 2012.

Slide 15: • Aug 1, 2012.
Slide 16 / 117

"Zombie Software" Blamed for Knight Capital Trading Snafu • A new algorithmic trading program had just been installed, and began

Slide 16: "Zombie Software" Blamed for Knight Capital Trading Snafu • A new algorithmic trading program had just been installed, and began
Slide 17 / 117

• SEC launched an investigation in Nov 2012. Findings:

Slide 17: • SEC launched an investigation in Nov 2012. Findings:
Slide 18 / 117

Slide 18

Slide 18: Slide 18
Slide 19 / 117

Recall the difference between static and dynamic test techniques:

Slide 19: Recall the difference between static and dynamic test techniques:

Notes

  1. Black-box (specification-based) vs. white-box (structure-based) vs. experience-based techniques.

Slide 20 / 117

Categories of test design techniques

Slide 20: Categories of test design techniques
Slide 21 / 117

Slide 21

Slide 21: Slide 21
Slide 22 / 117

• Derive test cases from the functional specifications

Slide 22: • Derive test cases from the functional specifications
Slide 23 / 117

• Derive systematically test cases from specification • Test cases are derived from how the software is constructed for

Slide 23: • Derive systematically test cases from specification • Test cases are derived from how the software is constructed for
Slide 24 / 117

• Testing software against a specification of its external behavior without knowledge of internal implementation details

Slide 24: • Testing software against a specification of its external behavior without knowledge of internal implementation details
Slide 25 / 117

• Incorrect or missing functions • Interface errors

Slide 25: • Incorrect or missing functions • Interface errors
Slide 26 / 117

• How is functional validity tested? • How are system behavior and performance tested?

Slide 26: • How is functional validity tested? • How are system behavior and performance tested?
Slide 27 / 117

• Inputs

Slide 27: • Inputs
Slide 28 / 117

• Defining the input domain

Slide 28: • Defining the input domain
Slide 29 / 117

• Early.

Slide 29: • Early.
Slide 30 / 117

• Program code is not necessary

Slide 30: • Program code is not necessary
Slide 31 / 117

• Different testing strategies (functional, structural, fault-based, model- based) are most effective for different classes of faults

Slide 31: • Different testing strategies (functional, structural, fault-based, model- based) are most effective for different classes of faults
Slide 32 / 117

• Functional test is applicable in testing at all granularity levels:

Slide 32: • Functional test is applicable in testing at all granularity levels:
Slide 33 / 117

1. Decompose the specification

Slide 33: 1. Decompose the specification
Slide 34 / 117

Functional Specifications

Slide 34: Functional Specifications
Slide 35 / 117

An Example: Postal Code Lookup

Slide 35: An Example: Postal Code Lookup
Slide 36 / 117

Example: Representative Values

Slide 36: Example: Representative Values
Slide 37 / 117

Slide 37

Slide 37: Slide 37
Slide 38 / 117

Single Defect Assumption : Failures are rarely the result of the

Slide 38: Single Defect Assumption : Failures are rarely the result of the
Slide 39 / 117

• The basic idea is to divide a set of test conditions into sub groups or sub sets (partitions) that can be considered the same .

Slide 39: • The basic idea is to divide a set of test conditions into sub groups or sub sets (partitions) that can be considered the same .

Notes

  1. Equivalence partitioning: divide inputs into classes expected to behave the same; one test per class (valid and invalid).

Exam angle

PredictionQ1

A field accepts integers 1–100. The equivalence classes are:

Slide 40 / 117

• A black-box testing method that divides the input domain of a program into classes of data from which test cases are derived

Slide 40: • A black-box testing method that divides the input domain of a program into classes of data from which test cases are derived
Slide 41 / 117

• Typically the universe of all possible test cases is so large that you cannot try them all

Slide 41: • Typically the universe of all possible test cases is so large that you cannot try them all
Slide 42 / 117

• Partition the test cases into "equivalence classes” • Each equivalence class contains a set of "equivalent" test cases

Slide 42: • Partition the test cases into "equivalence classes” • Each equivalence class contains a set of "equivalent" test cases
Slide 43 / 117

Equivalence Partitioning

Slide 43: Equivalence Partitioning
Slide 44 / 117

Equivalence Partitioning

Slide 44: Equivalence Partitioning
Slide 45 / 117

Equivalence Partitioning

Slide 45: Equivalence Partitioning
Slide 46 / 117

• When designing test cases, you may use different definitions of “equivalence”, each of which will partition the test case space

Slide 46: • When designing test cases, you may use different definitions of “equivalence”, each of which will partition the test case space
Slide 47 / 117

• When designing test cases, you may use different definitions of “equivalence”, each of which will partition the test case space

Slide 47: • When designing test cases, you may use different definitions of “equivalence”, each of which will partition the test case space
Slide 48 / 117

• Test multiple values in each equivalence class. • Often you’re not sure if you have defined the equivalence classes

Slide 48: • Test multiple values in each equivalence class. • Often you’re not sure if you have defined the equivalence classes
Slide 49 / 117

Guidelines for Defining Equivalence Classes

Slide 49: Guidelines for Defining Equivalence Classes
Slide 50 / 117

• Look for ranges of numbers or values • Look for memberships in groups

Slide 50: • Look for ranges of numbers or values • Look for memberships in groups
Slide 51 / 117

Equivalence Partitioning - examples

Slide 51: Equivalence Partitioning - examples
Slide 52 / 117

Equivalence Partitioning - examples

Slide 52: Equivalence Partitioning - examples
Slide 53 / 117

Equivalence Partitioning - examples

Slide 53: Equivalence Partitioning - examples
Slide 54 / 117

Equivalence Partitioning - examples

Slide 54: Equivalence Partitioning - examples
Slide 55 / 117

Equivalence Partitioning - examples

Slide 55: Equivalence Partitioning - examples
Slide 56 / 117

• Technique

Slide 56: • Technique

Notes

  1. Boundary value analysis: errors cluster at edges: test min, max and just outside/inside them.

Exam angle

PredictionQ1

For a valid range 18–65, two-value BVA tests:

Slide 57 / 117

• Technique

Slide 57: • Technique
Slide 58 / 117

• Test values, sizes, or quantities near the design limits

Slide 58: • Test values, sizes, or quantities near the design limits
Slide 59 / 117

• A greater number of errors occur at the boundaries of the input domain rather than in the "center"

Slide 59: • A greater number of errors occur at the boundaries of the input domain rather than in the "center"
Slide 60 / 117

1. If an input condition specifies a range bounded by values a b and , test cases should be designed with values a b and as well as values just above and just below a b and

Slide 60: 1. If an input condition specifies a range bounded by values a b and , test cases should be designed with values a b and as well as values just above and just below a b and
Slide 61 / 117

• When choosing values from an equivalence class to test, use the values that are most likely to cause the program to fail

Slide 61: • When choosing values from an equivalence class to test, use the values that are most likely to cause the program to fail
Slide 62 / 117

• Create test cases to test boundaries of equivalence classes

Slide 62: • Create test cases to test boundaries of equivalence classes
Slide 63 / 117

Boundary Value Analysis - examples

Slide 63: Boundary Value Analysis - examples
Slide 64 / 117

Boundary Value Analysis - examples

Slide 64: Boundary Value Analysis - examples
Slide 65 / 117

Boundary Value Analysis - examples

Slide 65: Boundary Value Analysis - examples
Slide 66 / 117

• Numeric values are often entered as strings which are then converted to numbers internally [int x = atoi(str);]

Slide 66: • Numeric values are often entered as strings which are then converted to numbers internally [int x = atoi(str);]
Slide 67 / 117

• Don't get so wrapped up in testing boundary cases that you neglect to test "normal" input values

Slide 67: • Don't get so wrapped up in testing boundary cases that you neglect to test "normal" input values
Slide 68 / 117

• Doesn’t require much thought • May miss internal boundaries

Slide 68: • Doesn’t require much thought • May miss internal boundaries
Slide 69 / 117

• Notes

Slide 69: • Notes
Slide 70 / 117

• Why do both equivalence partitioning and boundary value analysis? • Boundary values are usually extreme values

Slide 70: • Why do both equivalence partitioning and boundary value analysis? • Boundary values are usually extreme values
Slide 71 / 117

• Equivalence Class Testing is appropriate when input data is defined in terms of intervals and sets of discrete values.

Slide 71: • Equivalence Class Testing is appropriate when input data is defined in terms of intervals and sets of discrete values.
Slide 72 / 117

• Decision tables are a good way

Slide 72: • Decision tables are a good way

Notes

  1. Decision tables: combinations of conditions → actions; each rule (column) is a test case; collapse rules whose outcome doesn’t depend on a condition.

Exam angle

PredictionQ1

Four independent binary conditions give at most how many rules?

Slide 73 / 117

• When creating decision tables, the specification is analyzed, and actions of the system are identified.

Slide 73: • When creating decision tables, the specification is analyzed, and actions of the system are identified.
Slide 74 / 117

• Decision tables

Slide 74: • Decision tables
Slide 75 / 117

Rule 1 Rule 2 Rule 3 Rule 4 Rule Rule Rule 7 Rule 8 5 6

Slide 75: Rule 1 Rule 2 Rule 3 Rule 4 Rule Rule Rule 7 Rule 8 5 6
Slide 76 / 117

Rule 1 Rule 2 Rule 3 Rule 4 Rule Rule Rule 7 Rule 5 6 8

Slide 76: Rule 1 Rule 2 Rule 3 Rule 4 Rule Rule Rule 7 Rule 5 6 8
Slide 77 / 117

Rule 1 Rule 2 & 6 Rule 3 Rule 4 Rule Rule & 8 5 7

Slide 77: Rule 1 Rule 2 & 6 Rule 3 Rule 4 Rule Rule & 8 5 7
Slide 78 / 117

• Example- Decision table for credit-card

Slide 78: • Example- Decision table for credit-card
Slide 79 / 117

Decision Table testing

Slide 79: Decision Table testing
Slide 80 / 117

Decision Table testing

Slide 80: Decision Table testing
Slide 81 / 117

• Decision tables are a good way to:

Slide 81: • Decision tables are a good way to:
Slide 82 / 117

• A system can be in a finite number of different states. This aspects of the system can be described as a ‘finite state machine’ ; a state

Slide 82: • A system can be in a finite number of different states. This aspects of the system can be described as a ‘finite state machine’ ; a state

Notes

  1. State transition testing: states, events, transitions and actions; cover every valid transition and try invalid (null) ones.

Exam angle

PredictionQ1

Testing an ATM that locks the card after 3 wrong PINs is best done with:

Slide 83 / 117

• State transition testing

Slide 83: • State transition testing
Slide 84 / 117

• A ‘finite state machine’ is often shown as a state diagram • ATM PIN example.

Slide 84: • A ‘finite state machine’ is often shown as a state diagram • ATM PIN example.
Slide 85 / 117

• How many tests do we need to exercise every state?

Slide 85: • How many tests do we need to exercise every state?
Slide 86 / 117

State transition testing

Slide 86: State transition testing
Slide 87 / 117

• Why state transition testing?

Slide 87: • Why state transition testing?
Slide 88 / 117

• Tests can be designed

Slide 88: • Tests can be designed
Slide 89 / 117

• Use case describes interactions between actors (users and the system), which produce a result of value to a system user

Slide 89: • Use case describes interactions between actors (users and the system), which produce a result of value to a system user

Notes

  1. Use-case testing: one test per main and alternative flow; good for acceptance and system tests.

Slide 90 / 117

• Identify test cases that exercise the whole system on a transaction by transaction basis

Slide 90: • Identify test cases that exercise the whole system on a transaction by transaction basis
Slide 91 / 117

• Each use case has pre-conditions, which need to be met for a use case to work successfully.

Slide 91: • Each use case has pre-conditions, which need to be met for a use case to work successfully.
Slide 92 / 117

Use case testing

Slide 92: Use case testing
Slide 93 / 117

• Very useful for designing acceptance tests with customer/user participation. • Describe the ‘process flows’ through a system base on its actual likely use.

Slide 93: • Very useful for designing acceptance tests with customer/user participation. • Describe the ‘process flows’ through a system base on its actual likely use.
Slide 94 / 117

• Black-box testing

Slide 94: • Black-box testing
Slide 95 / 117

Slide 95

Slide 95: Slide 95
Slide 96 / 117

• Many systems perform multiple concurrent activities

Slide 96: • Many systems perform multiple concurrent activities
Slide 97 / 117

• Measure the system's performance

Slide 97: • Measure the system's performance

Notes

  1. Non-functional: performance (response time), load (expected volume), stress (beyond the limits), security, usability, recovery, compatibility.

Exam angle

PredictionQ1

Pushing a system beyond its normal capacity to see how it fails is:

Slide 98 / 117

Performance Testing

Slide 98: Performance Testing
Slide 99 / 117

• Test the system at the limits of normal use • Test every limit on the program's behavior defined in the requirements

Slide 99: • Test the system at the limits of normal use • Test every limit on the program's behavior defined in the requirements
Slide 100 / 117

• Test the system under extreme conditions (i.e., beyond the limits of normal use)

Slide 100: • Test the system under extreme conditions (i.e., beyond the limits of normal use)
Slide 101 / 117

• Any system that manages sensitive information or performs sensitive functions may become a target for intrusion (i.e., hackers)

Slide 101: • Any system that manages sensitive information or performs sensitive functions may become a target for intrusion (i.e., hackers)
Slide 102 / 117

Security Testing

Slide 102: Security Testing
Slide 103 / 117

• Is the user interface intuitive, easy to use, organized, logical? • Does it frustrate users?

Slide 103: • Is the user interface intuitive, easy to use, organized, logical? • Does it frustrate users?
Slide 104 / 117

Usability Testing

Slide 104: Usability Testing
Slide 105 / 117

• Try turning the power off or otherwise crashing the program at arbitrary points during its execution

Slide 105: • Try turning the power off or otherwise crashing the program at arbitrary points during its execution
Slide 106 / 117

• Test on all required hardware configurations

Slide 106: • Test on all required hardware configurations
Slide 107 / 117

• Test to make sure the program is compatible with other programs it is supposed to work with

Slide 107: • Test to make sure the program is compatible with other programs it is supposed to work with
Slide 108 / 117

• Test all instructions given in the documentation to ensure their completeness and accuracy

Slide 108: • Test all instructions given in the documentation to ensure their completeness and accuracy
Slide 109 / 117

Slide 109

Slide 109: Slide 109
Slide 110 / 117

• Tests are derived from the tester’s skill and intuition and their experience with similar applications and technologies.

Slide 110: • Tests are derived from the tester’s skill and intuition and their experience with similar applications and technologies.
Slide 111 / 117

• Error guessing = a commonly used experienced-based technique. • Generally testers anticipate defects based on experience.

Slide 111: • Error guessing = a commonly used experienced-based technique. • Generally testers anticipate defects based on experience.

Notes

  1. Error guessing: use experience to anticipate likely mistakes (empty inputs, zero, nulls).

Slide 112 / 117

• Exploratory testing = concurrent test design, test execution, test logging and learning,

Slide 112: • Exploratory testing = concurrent test design, test execution, test logging and learning,

Notes

  1. Exploratory testing: simultaneous learning, test design and execution, often time-boxed.

Slide 113 / 117

• The most widely practiced form of functional testing • The tester uses his or her domain knowledge, experience, or intuition

Slide 113: • The most widely practiced form of functional testing • The tester uses his or her domain knowledge, experience, or intuition
Slide 114 / 117

• Complex mathematical (or algorithmic) calculations • Worst case situations (similar to robustness)

Slide 114: • Complex mathematical (or algorithmic) calculations • Worst case situations (similar to robustness)
Slide 115 / 117

• Experience really helps • Frequently done by the customer or user

Slide 115: • Experience really helps • Frequently done by the customer or user
Slide 116 / 117

• The choice of which test techniques to use depends on a number of factors, including:

Slide 116: • The choice of which test techniques to use depends on a number of factors, including:
Slide 117 / 117

• Case Study – Knight Capital • Testing techniques

Slide 117: • Case Study – Knight Capital • Testing techniques