Original article: manual v. Automated Testing again
In the "Future of software testing" series I wrote, some people criticized me for being a dual-faced team. Both manual and automated testing are supported, just like politicians in the United States, I don't know whether to kiss the baby or the mother of the baby. Obviously, this is not an either-or-another thing. However, I want to clarify some points.
The focus of the debate is on when to choose which testing method and under which circumstances manual testing is more appropriate or automated testing is more appropriate. There is a view that automated testing is more suitable for regression testing and API testing, and manual testing is more suitable for acceptance testing and GUI testing. I think this simple view deviates us from the real problem.
I think the essence of the problem is not related to API, Gui, regression, or function. We should start with whether the code is business logic-related or basic code. This is precisely because manual testing and automated testing are distinguished.
The business logic Code corresponds to the functions that investors or users pay. Is actually done. Basic Code ensures that the business logic code runs in the appropriate environment. The basic code enables the business logic code to be used for multiple users, making it safer and more localized. This is a platform that supports business logic.
Obviously, both types of code must be tested. Intuitively, manual testing is more suitable for testing business logic, as this part of human learning is easier than automated. I think this intuition is too good.
Manual testers are most suitable for field experts who can put complicated business logic in the brain, the most powerful test tool. In addition, manual testing is slow, so the tester has time to observe and analyze subtle logical problems. Although the speed is slower, it is easier.
From
Automation is better than testing the underlying details. Automation can test crashes, hangs, error return values, return codes, exceptions, and memory usage. Fast but difficult. It is difficult to perform automated testing on business logic.
Difficult and risky. Think about it later. I think Vista is too dependent on automated testing. If you can add more manual testers, the effect will be better.
Therefore, whether you want to test the API or GUI, regression testing, or the first test, the selected test method depends on the bug you want to discover. Of course there will be exceptions, but in general, manual testing is better than testing business logic, while automated testing is better than testing the underlying architecture.
This is my opinion. Select the appropriate method based on the actual situation.
James Whittaker posted on
Alex translation on
Reprinted, please specify as the translator