Manual Testing
Published: 2023-10-28 09:30:14

Manual Testing is one of the software testing technique in which a set of predefined test cases are executed by the testers to validate the functionality and features of an application.

Manual Testing is carried out in all the applications before the test cases are automated. Manual testing does not require prior knowledge of any testing tools.

**Why Manual testing is required?**

- Manual testing is often utilized to ensure that team is delivering an error free , stable application to customer based on the requirement 

- Manual testing aids the tester to design the test case optimally after understanding the entire application's end to end flow.

- Manual testing ensures that defects are rectified by the developers before the test cases are being automated or the code being deployed to higher environment 

- Majority of key features of the application are validated during manual testing phase , hence the defects are reported at early stage to developers

**<u>Steps involved in Manual Testing:</u>**
**Requirement analysis:** It is the initial phase of testing where the analysis of the requirement document of SDLC takes places. In depth analysis of requirement takes place based on the functional requirement document and specifications provided by the customer after which planning occurs.
**Test planning :** It is a crucial phase of STLC and in this phase the testers determines the estimated efforts and cost of the application testing. Identification of resources , tools , machines ,  team formation , preparation of test plan , reviews of test plan , test plan signoff are the sub-tasks involved in the planning phase.
**Test Design:** In the design phase testers determines the test data to develop the test cases. Test requirement traceability matric is created along with test scenarios and test cases.
**Test Execution:** In the test execution phase features are tested in the designated environment using the test cases designed. Testers compares the actual result against the expected result during test case execution.
**Defect /Bug reporting:** Defect reporting is carried out throughout the testing phase. Detailed defect reports are created , tracked and reported to developers using the defect management tool.
**Test Closure:** It is the final phase of end to end testing process of STLC. Test closure involves the assurance of product quality and the documentation of entire testing process.  


<u>**Advantages of Manual Testing :**</u>
**No prior knowledge required over tool :** Only product knowledge is required to carry out black box testing. Any tester can easily pick the task. 
**No environment limitation :** Testers are not limited to any environment , browsers ,devices or OS .Testers can execute the testcases in multiple environment , device and OS.
**Optimized test cases planning :** After performing black box testing manual testers can plan for an optimized test case planning that can be automated.
**High possibility of exploratory testing :** Exploratory testing is totally dependent on the testers experience to perform Ad-hoc testing and explore the defects in the developed software.
**Effective for frequently changing requirement and GUI designs :** For a dynamically changing software , manual testing is highly recommended as automation requires time to change the code.
**Less expensive:** It does not require any tools or specific requirement to perform manual testing for a developed software.




<u>**Limitations of Manual testing  :**</u>
**Time Consuming :** Manual testing consumes more time to execute the test cases based on the size of the project. 
**Less accurate :** Highly prone to human errors. So it is less accurate compared to automation testing.
**No Reusability :** Every regression testing requires a tester to re-execute the entire testing again. Manual testing or the report from manual testing can not be reused.
**Less Reliable :** After every deployment there would be a change introduced in code , so until manual testing is carried out the application is not reliable.

<u>**Illustration of Manual testing:**</u>
Validating a steam car wash booking application along with payment gateway and notification process .
Test case 1 : Validate that user is able to login and create an account for booking a slot for steam car wash in the application 
Test case 2: Validate that user is able to book a slot on Saturday 11 am for steam car wash with available members in team to clean 
Test case 3: Validate that user is able to make payment fir the selected slot in available payment methods (UPI , Cards and EMI) 
Test case 4: Validate that application is sending a confirmation message and mail to the registered email and phone number.