Fundamentals of testing
Three categories of test case design techniques - ✔️✔️1) Black box techniques
2) White box techniques
3) Experience based techniques
State transition testing - ✔️✔️Uses a state diagram to list out all of the possible states
and transitions that can occur to ensure each are tested
Test condition - ✔️✔️An item or event of a component or system that could be verified
by one or more test cases
Test case - ✔️✔️A set of input values, execution preconditions, expected results, and
execution postconditions, such as to exercise a part of the code
Test procedure specification - ✔️✔️A sequence of actions for the execution of a test
Reasons to know test coverage - ✔️✔️1) Provide a quantitative measure of the quality
of testing that has been done
2) Provides a way of estimating how much more testing is needed
Specification based techniques - ✔️✔️Black box testing - test cases derived directly
from a specification or a model of a system or proposed system (documentation)
5 types of specification based techniques - ✔️✔️1) Equivalence partitioning
2) Boundary value analysis
3) Decision table testing
4) State transition testing
5) Use case testing
Equivalence partitioning - ✔️✔️Reduces the number of tests needed by considering
partitions are the only test cases needed
Boundary value analysis - ✔️✔️Looks for tests that focus on the possible boundaries of
inputs, noting that most errors occur there
Decision table testing - ✔️✔️Uses a table to list out all possible inputs and actions that
can arise to ensure each are tested