What is Software Testing?
The process of exercising software to verify that it satisfies specified requirements and to detect errors. The process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs), and to evaluate the features of the software item. The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component.
Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.
Repeatable: You can test how the software reacts under repeated execution of the same operations. Programmable: You can program sophisticated tests that bring out hidden information from the application.
Comprehensive: You can build a suite of tests that covers every feature in your application.
Reusable: You can reuse tests on different versions of an application, even if the user interfaces changes.
Better Quality Software: Because you can run more tests in less time with fewer resources
Fast: Automated Tools run tests significantly faster than human users.
Cost Reduction: As the number of resources for regression test are reduced.
Reporting: Customized reporting of application defects.
Debugging the test script is major issue. If any error is present in the test script, sometimes it may lead to deadly consequences.
Test maintenance is costly in case of playback methods. Even though a minor change occurs in the GUI, the test script has to be rerecorded or replaced by a new test script.
Maintenance of test data files is difficult, if the test script tests more screens.
Disadvantages of Manual Testing
- Manual tests can be very time consuming
- For every release you must rerun the same set of tests which can be time consuming.
- Requires heavy investment.
- Requires more number of human resources
Automation
Automation Testing: Testing which is done by any other third party tool.Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.
Advantages:
Reliable: Tests perform precisely the same operations each time they are run, thereby eliminating human errorRepeatable: You can test how the software reacts under repeated execution of the same operations. Programmable: You can program sophisticated tests that bring out hidden information from the application.
Comprehensive: You can build a suite of tests that covers every feature in your application.
Reusable: You can reuse tests on different versions of an application, even if the user interfaces changes.
Better Quality Software: Because you can run more tests in less time with fewer resources
Fast: Automated Tools run tests significantly faster than human users.
Cost Reduction: As the number of resources for regression test are reduced.
Reporting: Customized reporting of application defects.
Disadvantages of Automation Testing
Proficiency is required to write the automation test scripts.Debugging the test script is major issue. If any error is present in the test script, sometimes it may lead to deadly consequences.
Test maintenance is costly in case of playback methods. Even though a minor change occurs in the GUI, the test script has to be rerecorded or replaced by a new test script.
Maintenance of test data files is difficult, if the test script tests more screens.
Functional Testing tools
Functional Testing Tools | |
Open Source | Commercial |
Selenium-1.0 | QTP |
Web driver 2.0 | Test Partner |
Sahi | Test complete |
Bad Boy | RFT |
Ruby | Silk |
Watir |
1.6 Selenium vs. QTP
|
Thank you for the blog post. Here are a few useful links for software testers,
ReplyDeleteSoftware Testing Job Board
Search QA Jobs
Software Testing Blog
Software Testing Videos
QA Job Search App