Automation testing’s goal is to make all human tester-designed test cases to be executed automatically. This can make the manual tests more quick and effective.
For example, if you want to manually test the login function for one system, and there has 100000 user account, you need to input username and password for each user account and verify the test case for each user account, it is so tedious and inefficiency to test the login function manually. If you run this test case with automation testing software, it is so easy and efficient to test all these 100000 user accounts.
1. What Does Automation Testing Includes?
So what does automation testing mean and what does automation testing include? Automation testing includes both functional automation testing and performance automation testing in general.
- Functional automation testing: Automated test for functional test cases for regression test.
- Performance automation testing: Automated test for performance test cases which is not functional test cases. One example is to test the response time for a system under stress access.
Because functional automation and performance automation based on different theoretical basis and driving concepts, there have different test tools for them.
2. The Benefits Of Automation Testing.
- Effective build verification ( smoke ) testing: When never a software build is ready, whether it is a daily build or a release build, we need to run smoke tests to verify that the build is testable and acceptable for more large-scale test effort. We also need to make sure the main function is working appropriately. Without automation, we always need a lot of time (maybe hours or days) to do smoke testing manually. But if we automate smoke testing, we can run smoke tests script when a build is ready regardless of day or night. And get the result in no time (maybe minutes or in one hour). And the build quality can also be verified by a developer using a smoke test automation testing script before delivering it to the testing team.
- Testing at any time: With automated tools, testing can be scheduled to run at any time and in time. You just need to write a test script, set its scheduled run time, then everything is ok. The test case can be run day or night, and this will save a lot of time and money. You can do more important issues while the automated script running.
- Defect reproduce is easy: Human tester can not always remember every test step in a test case. So some defects can not be reproduced. But with the automated test, every step and input parameters can be written in script files, so every test case and a defect found in the test case can be reproduced easily.
- Human tester can do more complex issues: When the new build is ready, there has a lot of old test cases will be running on the new build. This is called a regression test. But in general, regression tests can not produce more new bugs because those test cases have been verified before. So we can automate the regression test, then human testers can do more tests on a new feature or new functions which maybe generate lots of new defects.
- Cover more function with huge test data: It is impossible for human testers to input 1000000 usernames and passwords into the login system to test the login test case. But it is very easy and quick for automated test tools to do such a boring thing. And automated test tools can use huge data combinations to verify test cases which called Data-Driven Test with only one test script.
- More reliable than human tester: Because automate test script will use the same test data in the same test step order exactly, so each regression test processed by automating test script is reliable than human tester dose. Humans maybe make mistakes with a long time working.