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.
Define combinatorial testing technique by explaining what it limits.
Used to limit the number of combinations of supposedly non-interacting (independent) parameters or conditions that need to be tested.
How does combinatorial testing apply algorithms? What does it identify/not identify?
Applies algorithms built into tools that mathematically reduce the number of combinations to a manageable set. Only identifies efficient combinations of test conditions, not outcomes.
What are the three most common tools and approaches in combinatorial testing? Describe each one.
- Pairwise testing: all pairs of combinations are tested together, but not all possible combinations
- Classification trees: allows users to create a diagram of a “tree” that shows variables to be tested and then applies an algorithm that will cover all singles, pairs, tupels, etc. of the combination of the variables
- Orthogonal arrays: uses preset arrays of values to determine the combinations to be tested
Describe the application of combinatorial testing. (i.e., types of variables)
Any testing with non-interacting conditions or variables (environment variables, internal variables).
What types of defects are identified in combinatorial testing?
Identifies defects where a particular combination that should be handled is not or where there is an interaction between conditions.
Describe how coverage is determined in combinatorial testing.
Determined by dividing the number of test combinations by the number of combinations generated by the specific tool or technique.
Define exploratory testing.
Combination of learning how the software works (exploring) and testing that it works as expected.
Exploratory testing is often ________-based.
Session
How is exploratory testing documented?
Session sheets are filled out at the conclusion of testing to log unexpected occurrences for further investigation.
What is timeboxing?
Used to set a time limit for a session.
When is the exploratory testing technique most effective? (Referring to who is conducting it.)
Most effective when conducted by an experienced tester who is trained to detect issues that an untrained operator could easily miss.
What is exploratory testing sometimes called?
Smoke testing or sanity testing.
Describe the application of exploratory testing (i.e. what is it suited for?).
Suited to an environment where quick feedback is needed regarding overall quality of the software.
What types of defects are found in exploratory testing?
Functional issues, but also non-functional issues in areas of usability and performance.
How is coverage determined in exploratory testing? What can be equated?
Determining coverage is a drawback of this type of testing. It varies widely, possible to equate a test session to a test case.
Define the focus of API testing and its categorization as a technique.
Focuses on interfaces between software components; more of an approach as opposed to a technique.
What is the focus of API testing?
Focuses on information passed between the application and web service, error recovery, and data handling.
Describe the application of API testing. What does it require the use of?
Used in cases where the UI is not yet available, or is unstable; requires the use of tools or programming to access the APIs (such as Postman or Swagger).
What types of defects are found in API testing?
Variety of defects (functional, error handling, error recovery, performance, etc.)
How is coverage determined in API testing? What should be checked?
Coverage is dependent on the capabilities of the API; all input and output parameters should be checked with variety of valid and invalid data.