Overview of test automation

3
Every software development team tests (unit Test) products and software, Development team have delivered with some defects. Testing Team (Test Engineers ) catch the errors (bugs) before deliver product is released. Testing Team does the testing in two ways Manual Software Testing: Manual Software Testing is done by a person sitting in front of a computer go through the application carefully each screen, trying various output and input combinations, compare the result to the expected result and recording their observations. Manual testing are repeated during development cycle, enhancement and other situation like multiple operating environment and hardware configurations. Automated Software Testing Tools: Automated Software Testing Tools is able to playback pre-recorded and predefined actions compare the results to the expected results and report the success and failure of the manual tests to a tester. Once automated tests are created they can easily be repeated and they can be extended to perform tasks impossible with manual testing. Because of this, big companies have found that automated software testing is essential of successful big (long term) development projects. Advantages of Automated software testing tools Save time and money: Software tests have to be repeated often during development cycles to ensure quality. Every time source code is modified software tests should be repeated. For each release of the software it may be tested on all supported operating systems and hardware configurations. Manually repeating these tests is costly and time consuming. Once created, automated tests can be run over and over again at no additional cost and they are much faster than manual tests. Automated software testing can reduce the time to run repetitive tests from days to hours. A time savings that translates directly into cost savings. Improve Accuracy:

Transcript of Overview of test automation

Page 1: Overview of test automation

Every software development team tests (unit Test) products and software, Development team have delivered with some defects. Testing Team (Test Engineers ) catch the errors (bugs) before deliver product is released.

Testing Team does the testing in two ways

Manual Software Testing:

Manual Software Testing is done by a person sitting in front of a computer go through the application carefully each screen, trying various output and input combinations, compare the result to the expected result and recording their observations. Manual testing are repeated during development cycle, enhancement and other situation like multiple operating environment and hardware configurations.

Automated Software Testing Tools:

Automated Software Testing Tools is able to playback pre-recorded and predefined actions compare the results to the expected results and report the success and failure of the manual tests to a tester. Once automated tests are created they can easily be repeated and they can be extended to perform tasks impossible with manual testing. Because of this, big companies have found that automated software testing is essential of successful big (long term) development projects.

Advantages of Automated software testing tools

Save time and money:

Software tests have to be repeated often during development cycles to ensure quality. Every time source code is modified software tests should be repeated. For each release of the software it may be tested on all supported operating systems and hardware configurations. Manually repeating these tests is costly and time consuming. Once created, automated tests can be run over and over again at no additional cost and they are much faster than manual tests. Automated software testing can reduce the time to run repetitive tests from days to hours. A time savings that translates directly into cost savings.

Improve Accuracy:

Even the most qualified tester will make mistakes during repetitive manual testing. Automated tests perform the same steps precisely every time they are executed and never forget to record detailed results.

Increases Test Coverage:

Automated software testing can increase the depth and scope of tests to help improve software quality. Lengthy tests that are often avoided during manual testing can be run unattended. They can even be run on multiple computers with different configurations. Automated software testing can look inside an application and see memory contents, data tables, file contents, and internal program states to determine if the product is behaving as expected. Automated software tests can easily execute thousands of different complex test cases during every test run providing coverage that is impossible with manual tests. Testers freed from repetitive manual tests have more time to create new automated software tests and deal with complex features.

Page 2: Overview of test automation

Automated Testing Tools Do and What Manual Testers Cannot Do:

Even the largest software companies cannot perform a controlled web application test with thousands of users. Automated testing can simulate tens, hundreds or thousands of virtual users interacting with network or web software and applications.

Helps Developers and Testers:

Shared automated tests can be used by developers to catch problems quickly before sending to QA. Tests can run automatically whenever source code changes are checked in and notify the team or the developer if they fail. Features like these save developers time and increase their confidence.

Improve Team Morale:

This is hard to measure but as per experienced it first hand, automated software testing can improve team morale. Automating repetitive tasks with automated software testing gives software test team time to spend on more challenging and rewarding projects. Team members improve their skill sets and confidence and, in turn, pass those gains on to their organization.

ADVANTAGESAutomated Testing Manual Testing

• If you have to run a set of tests repeatedly automation is a huge gain

• If Test Cases have to be run a small number of times it's more likely to perform manual testing

• Helps performing "compatibility testing" - testing the software on different configurations

• It allows the tester to perform more ad-hoc (random testing)

• It gives you the ability to run automation scenarios to perform regressions in a shorter time

• Short term costs are reduced

• It gives you the ability to run regressions on a code that is continuously changing

• The more time tester spends testing a module the grater the odds to find real user bugs

• Can be run simultaneously on different machines thus decreasing testing time

• Long term costs are reduced

DISADVANTAGESAutomated Testing Manual Testing

• It's more expensive to automate. Initial investments are bigger than manual testing

• Manual tests can be very time consuming

• You cannot automate everything, some tests still have to be done manually

• For every release you must rerun the same set of tests which can be tiresome

OTHER FACTORS• The performance of test tools• The knowledge level of your testing team• The continuous growth of software to be tested• Number of necessary regressions