What is Manual Testing?
Testing that humans do without the aid of automation tools is called manual testing.
You use manual testing where human intervention is preferred or when automation is expensive or overkill. In most cases, the testing process has both manual and automated testing.
Manual Testing Process
Just because testing happens manually doesn't mean testing is ad-hoc. Manual testing can be structured and process-oriented. Typically the steps followed are:
- Develop a detailed test plan containing schedules, deliverables, resource requirements along with a strategy.
- Brief all the team members on their part in the testing process.
- Create comprehensive test cases containing clear guidelines on how to perform each step of the process.
- When testing begins, get your testing team to carefully execute all the test cases, following all the steps mentioned in the test case.
- Submit the results to your development team.
- Once the development team finishes rectifying the defects, prepare your testing team for retesting.
- Repeat the cycle for all the modules.
- Once the results are satisfactory, perform smoke testing or regression testing.
- Send a final report to management signaling that the software's quality is above the acceptable threshold.
Types of testing in which manual testing can be used:
- Unit Testing
- Acceptance Testing
- System Testing
- Regression Testing
- Smoke Testing
Why Manual Testing?
Automated testing is efficient yet can't match manual testing by a person when it comes to end-user functionality. People who know how the software should work can easily find bugs that automated tools can miss. Therefore, manual testing is recommended, at least at the final step, before releasing the software to customers. Also, you cannot automate testing of some aspects like usability; it can only happen manually.
Advantages of Manual Testing
- Lends a Human perspective - only humans can validate a software's user-friendliness and effectiveness.
- More straightforward - automation tools are pretty complex to operate.
- Lower cost - automation tools are expensive and require skilled resources to set up and maintain.
- Improved customer experience - the overall experience is better for end-users as humans are more intuitive and observant.
Disadvantages of Manual Testing
- Slower - manual testing is time-consuming.
- Not comprehensive - scenarios may get missed if testing is ad-hoc and not well-planned.
- Impractical testing types - testing like load testing, scalability testing, etc., is not possible or very difficult using manual testing.
- Low reliability - manual verification is error-prone.
- Draining - repetitive testing can be tedious for testers.