Testing Techniques Flashcards
Define testing techniques.
Procedures that are used to identify and select test conditions that can be targeted by tests.
What is shift left testing? What is the noted benefit?
Testing that starts earlier in the development process; considered to make testing more efficient and effective.
Describe how the best testing technique is selected.
There is no single perfect technique and it is important to understand the goals of testing to determine the appropriate technique.
List six common testing techniques.
- Equivalence partitioning
- Boundary value analysis
- Decision tables
- Combinatorial
- Exploratory testing
- API testing
Define what equivalence partitioning (EP) is used for and its focus.
Used to reduce the number of specific tests while still assuring broad coverage. Focused on determining a set of input values to use during testing.
Describe the application of equivalence partitioning.
A set of possible values is divided into a partition, or equivalence classes, in which all values in the partition will be handled the same way by the software.
Are partitions considered valid or invalid in equivalence partitioning?
Both.
Describe how valid partition values should be handled.
All values in a valid partition should be accepted or processed by the software with no errors.
What is a risk of equivalence partitioning?
When partitions are established with values that actually receive different processing.
What types of defects are found in equivalence partitioning?
Usually functional and deals with incorrect handling of various sets of data.
Describe how coverage is determined for equivalence partitioning.
Determined by dividing the number of partitions for which of value has been tested by the total number of partitions identified.
Define boundary value analysis (BVA). (i.e., what does it concentrate on?)
An extension of equivalence partitioning, and concentrates on testing the values that fall on or near the boundaries of partitions.
In boundary value analysis, what is required to test the boundaries of ranges?
Ordered partitions (i.e. range of numbers).
What is the approach for boundary value analysis testing? Which approach is most common?
Testing uses a two-value or three-value approach. Two-value is more common.
Describe two-value boundary value analysis.
Actual boundary value (valid partition) and value that falls immediately outside of the partition (invalid partition).
Describe three-value boundary value analysis.
Value immediately before boundary (valid), value on the boundary (valid), value immediately outside of the boundary (invalid).
Describe the application of boundary value analysis (i.e., what does it determine?)
Determines if values on and over the boundary are handled properly.
Describe the types of defects found in boundary value analysis.
Detects defects due to incorrect usage of a relational operator (such as greater than, less than, or =).
How is coverage determined for boundary value analysis?
Determined based on how many boundaries are tested divided by the number of boundaries there are.
Describe where decision tables are used and what they help to define for an organization.
Used in requirements engineering and testing to help define how business rules should be handled.
What do decision tables consist of?
Consists of two halves of a table; top half shows conditions to be tested (one condition per row), bottom half shows expected results from set of conditions (one results per row).
Describe the application of decision tables (i.e., what are they often used as?). What can also be derived from them?
Often used as a shortcut to creating detailed test cases, serves as an organized checklist. Can also be used to derive additional results from the software.
What type of defects are targeted in decision tables? What can it help identify?
Targets incorrect outcomes, and can help identify condition combinations that are not handled or where the expected outcome is unknown.
How is coverage determined for decision tables?
Determined by the number of columns by at least one test divided by the possible combinations.