Automation testing: is the testing that is using scripts and can be done automatically. It is always more efficient and effective to test a software system. By using an automatic technique, we can build our own test scripts, and run the automated test on the software.
What to automated?
- Repetitive functions, e.g. login, registration;
- Where number of user access the software simultaneously;
- GUI items, connections to different systems like databases, etc.
- Regression test items.
When to automated?
- Requirements do not change frequently.
- Access the application for load and performance with many virtual users.
- Steady Software with respect to manual testing.
- Obtainability of time.
- Huge and serious projects.
- Projects that need to test the same areas often
Benefit of automated?
1. Increase productivity, 2. Save money, 3. Reduce test time, 4. Reduction of repetitive work
1. Starting cost is really high, e.g. time, labor, money cost. 2. Not 100% of test cases can be automated, User Interface, UX, documentation, installation, etc., and unfixed/unstable functions, needs to be manually done. 3. Requirement of programming knowledge.
Manual testing: test cases are executed manual without any support from tools or scripts. When? – get a newly developed software, so manually do a smoke test to see whether each of the functions are working find; -when the system is not yet developed/not stable, manual is better than automation.
Benefit of manual?
1. More flexible, so we can do what we want to test the system, instead of using the fixed scripts; 2. Can be applied on some unstable system, when the software is not yet developed.
1. Needs labor efforts. 2. Not reliable due to human errors. 3. Time consuming.