Software testing is an activity very important role in the projects of software to ensure product quality and the activities that are vital. Today, with the strong development of information technology trends worldwide, the effective promotion of IT application in all aspects of economic life – politics – society is becoming more focused and urgent.
In Vietnam, this concept is not new but has not yet completely familiar. So this article will share some concepts and knowledge in this field:
- What is automation testing?
- Why do you need automation testing?
- Compare automation testing & Manual testing?
- Advantages and disadvantages of automation testing
- When do we should and should not apply automation testing to project?
- The steps for automation testing
- Some test automation tools
1. What is automation testing?
Automated software testing is a process in which software tools execute pre-scripted tests on a software application before it is released into production.
2. Why do you need automation testing?
Automated software testing is the best way to increase the effectiveness, efficiency and coverage of your software testing for multiple reasons:
– Time – speed up the delivery schedule: the test window is reduced and tester can concentrate more on exploratory testing and test cases that can not be automated
– Reduce effort and time performing testing process
– Improved reliability.
– Reduce human boredom
– Advanced your skills to the test programming staff
3. Compare automation testing & Manual testing?
|Manual testing||Automation testing|
|Time||With 1 test cases group –> Spent a lot of time to execute test but it have not to execute repetitive||With 1 scripts group –> No need spent a lot of time to execute test but it have to execute repetitive many times|
|Agile||Execute test by man → can find new bugs & can resolve issues||Execute test by script → can not find new bugs. Fit with regression test|
|Reliable||Depend on factor of man → test result can not exactly||Tools are reliable in complex calculations and tasks → result is consistent & exactly|
|Reusable||If using manual test to test a function repeat many times → spent a lot of time & it is difficult to execute exactly||Can execute test repeat with any time by script reusable. But if write test script that using it a few → spent a lot of time & resource|
|Comprehensive||when execute test required human supervision||we can execute test batches without human interaction|
|Maintainability||Update test case easy and fast||Update script spend more time and cost|
– Advantages of Automation testing:
- Fast: Automated Tools run tests significantly faster than human users
- Repeatable: we can repeat same operations for required number of times
- Programmable: we can use flow control statements for applying logic
- Better Quality Software: Because you can run more tests in less time with fewer resources
- Cost Reduction: when performing checks large number of test case or repeated test case many time
- Can simulate situations
- It is expensive if test script that using it a few or in initial investment
- Costs for maintenance scripts
- We cannot automate all areas
- It has some limitations (It cannot test every thing)
- Difficult maintainability
- Technology vs. people issues
- Requiring testers should have the skills to create test automation scripts
– Regression Testing: Upgrade the software, check the feature was run well and revised features
– The test cases need to do several times, often do regression testing, a number of big test case be implemented in a short time
– Testing need to perform in many different environments
– The project is stable, the technical characteristics are defined in advance, the screen test, the function does not change in the future
– When you want to execute performance tests or load test, test automation is almost the only option
6. The steps for automation testing:
|Create a test script||This stage testing tools used to record the operation to check the software and automatically generates test scripts|
|Edit the test script||Edit to suit requirements|
|Run the test script||Running the test script to test software has launched as the desired results or not?|
|Result evaluation||Evaluate the results after running the test script|
– HP Quick Test Pro
– HP Load Runner
– HP QC
– IBM Robot
– IBM Rational Functional Tester
– QuickTest Professional, WinRunner, Rational Robot, JTest
Summary: The above is some of sharing of theoretical test automation help users better overview of the field. Although I was just a beginner to learn about it but hope that through this article will help us have more knowledge more about test automation
* References from multiple pages