Exforsys.com
 
Home Tutorials Testing
 

Automated Testing Advantages, Disadvantages and Guidelines

 

This article start with brief Introduction to Automated Testing, Different methods in Automated Testing, Benefits of Automated Testing and the guidelines that Automated testers must follow to get the benefits of automation.


Advantages of Automated Testing

Introduction:

 

Sponsored Links

 

"Automated Testing" is automating the manual testing process currently in use. This requires that a formalized "manual testing process", currently exists in the company or organization.

Automation is the use of strategies, tools and artifacts that augment or reduce the need of manual or human involvement or interaction in unskilled, repetitive or redundant tasks.


Minimally, such a process includes:


  • Detailed test cases, including predictable "expected results", which have been developed from Business Functional Specifications and Design documentation
  • A standalone Test Environment, including a Test Database that is restorable to a known constant, such that the test cases are able to be repeated each time there are modifications made to the application.

The following types of testing can be automated

  • Functional - testing that operations perform as expected.
  • Regression - testing that the behavior of the system has not changed.
  • Exception or Negative - forcing error conditions in the system.
  • Stress - determining the absolute capacities of the application and operational infrastructure.
  • Performance - providing assurance that the performance of the system will be adequate for both batch runs and online transactions in relation to business projections and requirements.
  • Load - determining the points at which the capacity and performance of the system become degraded to the situation that hardware or software upgrades would be required.

Benefits of Automated Testing

Reliable: Tests perform precisely the same operations each time they are run, thereby eliminating human error


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 interface 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.


Choosing the right tools for the job and targeting the right areas of the organization to deploy them can only realize these benefits. The right areas where the automation fit must be chosen.


The following areas must be automated first

1. Highly redundant tasks or scenarios
2. Repetitive tasks that are boring or tend to cause human error
3. Well-developed and well-understood use cases or scenarios first
4. Relatively stable areas of the application over volatile ones must be automated.


Automated testers must follow the following guidelines to get the benefits of automation:

• Concise: As simple as possible and no simpler.


• Self-Checking: Test reports its own results; needs no human interpretation.


• Repeatable: Test can be run many times in a row without human intervention.


• Robust: Test produces same result now and forever. Tests are not affected by changes in the external environment.


• Sufficient: Tests verify all the requirements of the software being tested.


• Necessary: Everything in each test contributes to the specification of desired behavior.


• Clear: Every statement is easy to understand.


• Efficient: Tests run in a reasonable amount of time.


• Specific: Each test failure points to a specific piece of broken functionality; unit test failures provide "defect triangulation".


• Independent: Each test can be run by itself or in a suite with an arbitrary set of other tests in any order.


• Maintainable: Tests should be easy to understand and modify and extend.


• Traceable: To and from the code it tests and to and from the requirements.

 

Sponsored Links

 

Disadvantages of Automation Testing

Though the automation testing has many advantages, it has its own disadvantages too. Some of the disadvantages are:

• 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.

Some of the above disadvantages often cause damage to the benefit gained from the automated scripts. Though the automation testing has pros and corns, it is adapted widely all over the world.



Read Next: Testing : Introduction to CMM



 

 

Comments


Bhaskar said:

  This article is very good
October 30, 2008, 7:53 am

Vijay Chand said:

  Very Good
January 29, 2009, 7:13 am

Tony said:

  yeah the article was quite good
August 11, 2010, 8:48 am

Post Your Comment:

Members Please Login
Your Name:*
e-mail ID:(required for notification)*
Image Verification: 
 
 Subscribe    

Sponsored Links

 

 
 

Subscribe via RSS


Get Daily Updates via Subscribe to Exforsys Free Training via email


Get Latest Free Training Updates delivered directly to your Inbox...

Enter your email address:


 

Subscribe to Exforsys Free Training via RSS
 

 
 
Partners -  Privacy and Legal Policy -  Site News -  Contact   Sitemap  

Copyright © 2000 - 2010 exforsys.com. All Rights Reserved

Page copy protected against web site content infringement by Copyscape