Common Manual Testing Techniques
Manual testing is the process of testing a software application without using any automation tools. In this method, the tester assumes as the end user and checks on the application whether its working as expected.
Below are the commonly used manual testing techniques.
-
BLACK BOX TESTING
Black box testing is a method where the tester does not know what's happening internally with the code and logic of the application. They only have knowledge on the input and the expected output.
The main goal is to check on the application whether it's giving the correct output for the given input.Example: In any login page of an application, if username and password are provided, the user should either be able to login successfully or an error message should be displayed.
Black box is mainly divided into:
1. **Functional Testing**:
It checks whether the features of the application are working as expected.
**TYPES OF FUNCTIONAL TESTING:**
1. **SMOKE TESTING:** Checks whether the basic features of the application are working as expected.
2. **SANITY TESTING:** Checks a specific functionaity after any small changes are made in the application.
3. **REGRESSION TESTING**: Ensures existing features are not affected after the new changes in the application.
4. **RETESTING**: Verifies that a previously failed test cases are fixed and working as expected.
5. **INTEGRATION TESTING**: Checks whether different modules/features work together correctly.
6. **UNTI TESTING**: Tests individual components/features of the application. Mostly this is performed by developers.
7. **EXPLORATORY TESTING**: Tester explores the application without any test cases preparation.
8. **AD-HOC TESTING**: Random testing without any planning.
9. **END-TO-END TESTING**: Tests the complete working of the application.
10. **USER ACCEPTANCE TESTING(UAT)**: This is performed by end users/clients to check if the system is working based on the requirement provided.
2. **NON-FUNCTIONAL TESTING**:
It checks on the working of the system rather focusing on what it does. It helps in improving the overall user experience of the application.
**TYPES OF NON-FUNCTIONAL TESTING:**
1. **PERFORMACE TESTING:** Checks how fast and responsive the application works.
2. **USABILITY TESTING**: Checks whether the application is easy to use and user-friendly.
3. **SECURITY TESTING:** Checks whether the application is protected from all kind of unauthorized access
-
WHITE BOX TESTING
White box testing is a method where the tester has knowledge about the internal working of the code and the application structure. They check how the code works internally if there's any problem or confusion when testing.
This test is mostly done by developers or testers with programming knowledge.Example: Checking on the conditions or the looping statements in the code and confirming that they're working as expected.
-
GREY BOX TESTING:
It's a combination of black box testing and white box testing which means the tester has partial knowledge of the internal code. It helps in testing both functionality and internal system.Example: Tester knows some backend logic but tests through the UI.
BOUNDRY VALUE ANALYSIS (BVA):
BVA is a testing technique used to test values at the boundaries(edges) of an input range.
As mostly errors occur at the minimum and maximum limits rater that at the middle values. Therefore, instead of testing all inputs, testers can mainly focus on boundary values.
**IMPORTANCE OF BOUNDARY VALUES:**
1. Most defects occur at edge values
2. Reduces the no. of test cases
3. Improves test coverage
4. Saves time and effort
WORKING OF BVA:
In BVA, the below values are tested:
. Minimum value (n)
. Above minimum (n+1)
. Maximum value (n)
. Below maximum (n-1)
. Values outside the range(invalid values)
EXAMPLE:
Consider an input that has values from 1 to 100
On applying BVA: n = 1
-> 0 = invalid (n-1)
-> 1 = minimum value (n)
-> 2 = above minimum (n+1)
-> 99 = below minimum (n -1)
-> 100 = maximum value (n)
-> 101 = invalid (n+1)
Therefore, instead of testing all number between 1 to 100, we only test the edge values. 1 and 100 are boundaries.
-> Values around them (2 and 99) are also tested because errors usually occur near these limits.
-> Invalid values like 0 and 101 are tested to check if system correctly eliminates them.
DECISION TABLE TESTING:
Decision Table Testing is a technique used to test systems where the output depends on multiple conditions. It helps in identifying all possible combinations of inputs and ensures that every scenario is tested.
**IMPORTANCE OF DECISION TABLE TESTING:**
. It reduces missing test cases
. It's highly useful for complex business logics
. Improves test coverage
. Easy to understand for simple conditions
EXAMPLE:
Consider an ATM Machine it has conditions like:
1. Card is valid
2. PIN is correct
|-------------------------------------------|
| Card Valid PIN Correct Result |
|-------------------------------------------|
| Yes Yes Cash withdrawn |
| Yes No Error Message |
| No Yes Error Message |
| No No Error Message |
|-------------------------------------------|
FUTURE OF MANUAL TESTING IN THE AGE OF AI
The growth of AI and automation tools is changing rapidly where many testing tasks are now handed by automation, which actually saves time an effort.
However, manual testing still plays an important role an will continue to do so in future as well.
**ROLE OF AI IN TESTING:**
AI helps in improving the testing process by automating test cases, reducing human efforts, increasing speed and efficiency and identifying the possible defects.
MANUAL TESTING IS IMPORTANT:
Even with AI, manual testing cannot be completely replaced because, humans can think logically and identify unexpected issues that tools may fail to do until there's an external information provided to them that there's a defect occurring.
Manual Testers can check user interface and overall experience and the ease of use of the application.
Exploratory testing required human creativity and understanding, which AI cannot fully achieve.
FUTURE OF TESTING:
It'll surely be a combination of both manual and automation testing.
-> Testers will use automation tools for tasks that indeed saves time and effort and gives higher productivity.
-> Manual testing will focus on complex and critical scenarios.
Manual testing is not going away but is evolving with technology. AI will support testers and will not replace as human skills like thinking, creativity and understanding user behavior will always be important.
Therefore, MANUAL TESTING + AI = BEST TESTING and learning manual testing makes the strongest foundation for a career in software testing.
Top comments (0)