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.
I am thinking about writing an automation testing script to test a web page. I am just evaluating whether it is worth to doing that or not. Because I do to know whether automation testing is running faster than manual testing or not. Is there any case that automation testing run slower than manual testing when test a web page or a web site?
For your question, this depends on the testing environment. If the web page load time takes too long, then the automation testing case may fail, and when you find it has failed, you need to run the automation testing case again from start. You can not handle the failure in time. If you manually test this web page, you can be more flexible to handle many failed cases. If you want to handle all the failed cases in the automation testing script, you need more time to write the automation testing script. This depends on you. And I advise you that you can trigger an email or short message if the automation testing script encounter such failed cases and then you can handle it manually in time.