Equivalence partitioning
This technique involves splitting input values into valid and invalid partitions and selecting representative values from each section as test data. It can be used to reduce the number of test cases. Suppose we have an integer variable N in the range from -99 to 99. So the positive equivalence classes are [-99, -10], [-9, -1], 0, [1, 9], [10, 99], and invalid (negative) classes are <-99,> 99, null and non-numeric strings.
Boundary value analysis
A technique that includes defining the boundaries of the input values and selecting as test data the values that are on the boundaries, and also inside and outside the boundaries. Many systems tend to behave incorrectly when reaching boundary values, therefore, the estimation of the application values boundaries is very important. When testing, use the following values: minimum, (minimum-1), maximum, (maximum + 1), and standard values. For example, in the case of -99 <= N <= 99, the set will be as follows: -100, -99, -98, -10, -9 -1, 0, 1, 9, 10, 98, 99, 100.
Transition table testing
Test scenarios are selected based on whether the state is changed correctly or incorrectly. Suppose we want to buy a movie ticket and book our seat. We choose the order form, select a seat and click the "Book" button. The seat we have chosen immediately becomes unavailable for another record since the first record led to a change in the database.
User scenario testing
Individual user scenarios are written in order to test whether the system functions correctly when processing one or another set of user actions.