In this article, we will try to answer some of the basic frequently asked questions related to manual testing such as what is manual testing, what are the limitations and does it have any future, etc. This article is mainly meant for somebody new in software testing, but some part with the article can help the experienced testers also?
Let us first check what is Manual Software Testing with an example?
As the name suggested in manual testing, we do the testing without using any test tools to automate some part to the work. In typical manual testing, you will be given test cases in excel or uploaded to any other tool. Your job is to open the test case and the application under test. Then manually go through each step written in the test cases and perform accordingly. So in a simple test case of login functional check says it has the following steps.
1. Open the application in a web browser
2. Click on login
3. Put user id and password in the fields
4. Click on submit button.
5. The application should show you a screen with a successful login message.
In the manual testing process, all the above-mentioned steps must be done manually without taking help of any testing tools. On contrary in test automation, you will have a testing tool which will record all the above steps you have done, and then you can run the automation scripts repeatedly to perform the above steps. So now I guess you have a clear understand on manual testing in software test.
What are the advantages of manual testing over automation?
This is one of the questions always asked in many forums what is the future of manual testing and should we move to automation for a better testing career. Let me tell you automation testing cannot be a substitute of manual testing. Below are some of the advantages of manual software testing:
Firstly, in manual testing, you can take the full advantage of testers experience. He can come out with lots of ad-hoc test cases and find good defects on the fly. In test automation that is impossible. Furthermore, it has been observed most of good defects are found by doing some exploratory kind of testing instead of just going through the test steps written as a test case. So test automation cannot substitute the experience and underlying knowledge of the tester to find good bugs in the application.
Secondly, the test result of the automation is always limited. In manual testing a tester can describe a complex defect in a better way or even can sit with the developer to show it.
Thirdly, a manual testing is the only option during the initial stage of the application. When the application is in regression phase and stable then you can automate the basic functions within the application. In an unstable build if you automate something in the next changed build that will surely break.
Fourthly, of course, the manual testing is a cheaper option for many of the organizations as automation takes lots of time, effort and training before it gives you any ROI.
What are some disadvantages of Manual Testing?
Now we will look into some of the disadvantages of manual testing.
First, you cannot cover all code paths using manual testing. Cost and time will not permit you to do that.
Second, a lot of errors related to timing, deadlock, resource conflicts, multi-threading is difficult to capture through manual testing.
Third, for performance testing you need to generate a huge amount of load and large number of concurrent users to simulate the real-life load and in manual testing that is not possible
Fourth, manual testing takes more time than automation, and if you have to execute a large number of test cases in short time then manual testing is not the solution.
Fifth, manual testing involves human error but automation can run the test script again and again without any error.
Future of manual testing
So in conclusion manual testing is a mandatory part of any testing project, and it will be more complete if you add test automation with it. But go for automation only if you have a regression suit which will have a big number of test cases, and you need to run them quite few times in the future, then. This will justify the cost of automation.