What is Manual Testing? What are the benefits and drawbacks of manual testing? give examples in support of your answer?
Published: 2023-09-15 18:00:22

Manual Testing is the testing of the software in which all the steps specified in the test cases are done manually. Some common steps involve entering commands (inputs), verification of the expected behavior (outputs), and reporting of the results are all executed manually by the tester. 

Manual testing requires the tester to be an expert in the domain to ensure all areas are covered and maximum number of bugs. There is always a constant attempt to break the software that the developer has built. If manual testing is carried out properly, the quality of resulting software is better when compared with testing carried out by automation. 

A systematic approach focuses on predetermined test cases and generally involves the following steps:

- Choose a high level test plan where a general methodology is chosen, and resources such as people, computers, and software licenses are identified and acquired.
- Write detailed test cases, identifying clear and concise steps to be taken by the tester, with expected outcomes.
- Assign the test cases to testers, who manually follow the steps and record the results.
- Author a test report, detailing the findings of the testers. The report is used by managers to determine whether the software can be released, and if not, it is used by engineers to identify and correct the problems.

Manual testing is usually carried out in stages in parellel to each software development stage.   Testing starts with Unit testing often carried out by the developer himself using white-box technique. Integration testing focusses on the design and the software architecture. Systems testing where the target software is used/combined with other elements in the system and tested as a whole. Acceptance testing carried out at later stages of software development cycle in which the customer gives a go-ahead for the software release if the results are as expected by the customer.   

The team that carries out the manual testing takes the ownership of the software product  and is more responsible to maintain the quality throughout it's entire lifecycle. The test results and experience gained from the testing are often used in the subsequent releases of the software product and even the test procedures are improved in these releases. 

Other Advantages of manual testing are :
The test operation is Low-cost as no other software tools are used. Humans have the tendency to observe and judge the results better than the automated tools manual testing takes more time to execute when compared with automation testing. Sometimes manual tester can get bored if the test-cases are required to be repeated in each software version release leading to breakage in the software and quality becoming degraded. Manual Testing is more suitable to be carried out in earlier releases of the software.   

When developing web application as an example, Manual tester is required to manually click on the links, enter text data, upload file and check the intended behavior like if clicking the link is taking to the correct page, if the text entered (file uploaded) is saved in the back-end or database.