Software Testing Challenge – Test Ticket Booking Software
In this month’s challenge we continue to do manual testing. This time the focus is on preparing test cases for manual testing of theater ticket booking application. Our assignment would be to find optimal number of test cases and to write them down. So there’s a high probability that we will have a large number of test cases because of different pricing categories. You need to filter them by using two techniques: equivalence partitioning and boundary value analysis. In below sections we will first explain these two concepts.
Boundary Value Analysis
This technique is very useful in finding optimal test data for testing. It is used to find those values for testing data which would most likely provoke unwanted behavior and it is a black box design technique. It is used in the test design phase of STLC although the test data can be refined during the development based on the possible changes in the requirements. This approach is in accordance with Shift Left testing. To explain it we will use a practical example. Let’s say we have a password field which accepts minimum of 8 characters and maximum of 20. Anything less than 8 and greater than 20 is invalid. We need to focus on boundary values in the following manner:
- value just below the lower boundary (7 characters)
- lower boundary value (8 characters)
- just above the lower boundary value (9 characters)
- just below the greater boundary (19 characters)
- greater boundary value (20 characters)
- just above the greater boundary value (21 characters)
Equivalence partitioning
This test case design technique works similar to Boundary Value Analysis, just instead of working with boundary values we select different values from of the value classes. It is commonly used as supplement to Boundary Value Analysis In our previous example with password length we would select any number lower than 8, higher than 20 and one within the valid value class between 8 and 20 excluding the boundary values.
- value lower than 8 (4 characters)
- value within the valid equivalence class (15 characters)
- value higher than upper boundary (30 characters)
The testing assignment
Now as for the assignment there are several ticket categories in our ticket booking software depending on the age and number of people visiting the theater. The main task is to cover all categories with test cases. This way we don’t waste too much time by testing every possible option but instead we find the optimal number of test cases which cover all the categories. Having the test data designed like this we make sure that there is no duplicated work and we save some time for testing.
Let’s say that this software contains a simple dropdown where you choose your age before buying the ticket. The age is displayed as a whole year without any decimals. This selection will influence the price of the ticket that will be charged on checkout. The table below displays different categories and ticket prices for each of them. Your assignment would be to use equivalence partitioning and boundary value analysis to create optimal number of test cases.
Category | 0 – 4 | 5 – 18 | 19 – 65 | > 66 |
Ticket Price | 0 | 10 | 20 | 15 |
Each category must have both valid and invalid test data within the ranges where the most bugs are expected. Let us know in the comment section what were your results. Happy testing!