Manual testing is a very important process in SDLC (Software Development Lifecycle), where testers execute test cases without any automated testing tools. Testers perform the tests manually, to verify end user behavior. It helps to identify defects in the software and gaps between user requirements and actual software developed. There are different types or techniques of manual testing like Regression Testing, Ad-hoc Testing, Exploratory Testing, Usability Testing, User Acceptance Testing (UAT) and Accessibility Testing.
Let's see benefits of the manual testing with few examples.
Manual testing can identify usability issues which is not possible using automation.
e.g. Manual tester can identify adding products and checkout process is not user friendly for ecommerce website.Exploratory/ experienced based testing helps to identify defects based on human intuition and experience of the domain.
e.g. Banking domain expert can identify the defects in banking software based on expertise without predefined test cases.Manual testing is cost effective for small Projects.
e.g. Developing and testing simple static website with user contact information form. In this scenario, manual testing approach will be cost efficient with a limited budget and resources.Manual testing provides flexibility in rapid Changing environment.
e.g. In an agile environment, requirements evolves rapidly. Manual testing approach can quickly adapt to the new changes and incorporate it into testing process.Manual testing enables Accessibility Testing.
e.g. This involves manually validating whether the application is accessible to users with different disabilities to ensure global compliance with accessibility standards.Manual Testers can provide subjective evaluations/ judgments, which is critical for usability and end user experience.
We have gone through some of the benefits of manual testing. Now we will see what are drawbacks of manual testing with respective examples.
Drawbacks of manual testing -
Manual testing is very time consuming process.
e.g. In case of regression testing for large complex applications like banking or ecommerce platform, executing a large set of test cases manually can be very time consuming and not practical.Repetitive tasks can lead to error due to human behavior.
e.g. Regression testing, which involves repetitively running the same set of test cases is monotonous task which can lead to human error.Limitations/ inability in doing Performance and Load Testing.
e.g. Simulating thousands of concurrent users to test large ecommerce website performance under load will not be possible using manual testing.Manual testing will be ineffective for Continuous Integration and Deployment (CI/CD)
e.g. In a CI/CD pipeline code changes are deployed frequently. However manual testing will be a bottleneck in the rapid delivery of code deployments and delivery to production environment.Limited reusability in manual testing in multiple environments/ browsers.
Test cases need to be manually executed each time for all different browsers supported which limits reusability of manual testing.
Conclusion - There are different benefits and drawbacks of using manual testing in software development lifecycle. Depending on budget and business requirements, manual testing techniques can be used with or without combination with automation testing to achieve the goal for delivering quality product.
Top comments (0)