Test Design Testing Techniques :
- BAV (Boundary Value Analysis )
- ECP (Equivalence Class Partition)
- Decision Table Based Testing
- State Transition
- Error Guessing Testing
1. BAV (Boundary Value Analysis):
- The technique specify to validate the boundary validation.
- It is based on testing at the boundaries.
- We will be testing both the valid and invalid input values in the BVA.
Conditions are like :
Min Max
Min-1 Max-1
Min+1 Max+1
The above 6 conditions are enough.
BAV (Boundary Value Analysis ) Example:
Password field accept 6-32 character then we only test for :-
Min : 6 Max : 32
Min-1 : 5 Max-1 : 31
Min+1 : 7 Max+1 : 33
These 6 conditions are enough for password field testing.
2. ECP (Equivalence Class Partition):
- The technique specify to test for valid and invalid combination.
- The idea behind this technique is to divide a set of test conditions into groups or sets that can be considered the same.
- It is a black-box testing technique or specification-based testing technique in which we group the input data into logical partitions called equivalence classes.
ECP Example:
Any mail id field accepts alpha and numeric data :
Valid Data Invalid Data
A – Z All special character
a – z
0 – 9
If a Text field accept 1000 -1500 the partition should be:
Valid Data Invalid Data
1000 – 1500 a – z
A – Z
Numbers < 1000
Numbers > 1500
All special character
3. Decision Table Based Testing:
- Decision table testing is a software testing technique used to test system behavior for different input combinations.
- In this methodology the various input combinations and the accompanying system behavior (Output) are tabulated.
- This is a systematic approach.
- Decision Table Testing is a Black Box test design technique (behavioral or behavior-based technique).
- When a system has complex business rules, then the decision table testing technique helps in identifying the correct test cases.
Example: How to Create a Login Screen Decision Base Table
Let's make a login screen with a decision table. A login screen with User id and Password Input boxes and submit button.
The condition is simple if the user provides correct username and password the user will be redirected to the homepage. If any of the input is wrong, an error message will be displayed.
T – Make sure to use Correct username/password
F – Incorrect username/password
E – An error message is displayed
H – The home screen is displayed
Interpretation:
Case 1 – Username and password both were correct, and the user navigated to homepage
Case 2 – Username was correct, but the password was wrong. The user is shown an error message.
Case 3 – Username was wrong, but the password was correct. The user is shown an error message.
Case 4 – Username and password both were wrong. The user is shown an error message.
While converting this to test case, we can create 2 scenarios :
First one :
Enter correct username and correct password and click on Submit button, and the expected result will be the user
Should be navigated to homepage.
Second one from the below scenario:
- Enter Correct username and incorrect password and click on Submit button, and the expected result will be the user should get an error message.
- Enter incorrect username and incorrect password and click on Submit button, and the expected result will be the user should get an error message.
- Enter incorrect username and correct password and click on Submit button, and the expected result will be the user should get an error message.
As they essentially test the same rule.
4. State Transition:
- State transition testing helps to analyze behavior of an application for different input conditions.
- In this test outputs are triggered by changes to the input conditions or changes to 'state' of the system.
- In other words, tests are designed to execute valid and invalid state transitions.
- Testers can provide positive and negative input test values and record the system behavior. It is the model on which the system and the tests are based.
- It is a black box testing which is used for real time systems with various states and transitions involved.
When to Use State Transition?
- This can be used when a tester is testing the application for a finite set of input values.
- When we have sequence of events that occur and associated conditions that apply to those events
- This will allow the tester to test the application behavior for a sequence of input values.
When to Not Rely On State Transition?
- When the testing is not done for sequential input combinations.
- If the testing is to be done for different functionalities like exploratory testing.
Example:
Let’s consider an Login page function where if the user enters the invalid password three times the account will be locked.
In this system, if the user enters a valid password in any of the first three attempts the user will be logged in successfully. If the user enters the invalid password in the first or second try, the user will be asked to re-enter the password. And finally, if the user enters incorrect password 3rd time, the account will be blocked.
In the table when the user enters the correct PIN, state is transitioned to S5 which is Access granted. And if the user enters a wrong password he is moved to next state. If he does the same 3rd time, he will reach the account blocked state.
5. Error Guessing Testing:
- Testing is conducted by performing invalid operations and validate the error massage is displaying or not .
- The Error massage should meaningful to understand.
- It is a type of testing method in which prior experience in testing is used to uncover the defects in software. It is an experience based test technique in which the tester uses his/her past experience or intuition to gauge the problematic areas of a software application.
Example:
- We need to test a program which read’s a file. What happen if the program gets a file which is empty OR The file does not exist???
- Enter blank space into text fields
- Use max limits of files to be uploaded
Please watch below video for more details: