IT departments know firsthand that manual software testing can take more time than is available. Automated software testing tools can improve the effectiveness and efficiency of testing. Automation tools use software to accelerate the testing process by generating test scripts and tracking results to speed up the testing phase of the software development lifecycle.

Automated testing tools are most helpful when used in the following situations:

  • Repetitive, mundane tasks. As software is created, it goes through many versions, each of which must be tested. By creating test scripts once, automated testing allows reuse for future versions. 
  • Regression testing. Each time a change is made to a system, testers using a manual approach have to go through each function and make sure it does not affect any other part of the system. Automated regression testing uses test cases to do this quicker.  
  • Granular function testing. Automated testing tools can provide more accuracy in testing. They can pick up granular differences that manual testing may not isolate. For instance, a slight color difference on a GUI may not be seen by the naked eye during manual testing, but would be picked up during an automated test.  
  • Multiple combinations. In more complex environments where many scenarios must be examined, automated testing can rapidly run many test case combinations using a single script. 

Automated Functional Testing

Functional testing verifies the correct implementation of functional software requirements. Functional test suites are created from requirement use cases, with each scenario becoming a functional test. As each component is implemented, the respective functional test is applied. For many projects, it is unreasonable to manually test each function; however, when automated functional testing is implemented, testers are able to cover more scenarios and ensure higher quality code.

 

Also See:

Testing Saves Time and Boosts Quality

Functional Testing Software Evaluation Form

 

Automated Performance Testing

Performance testing verifies how quickly a part of the system performs under varying workload scenarios. It begins at the first build and runs throughout the software development lifecycle. Automated performance testing can be particularly helpful in this type of testing, as it gives more precise results. Types of performance testing that benefit from automation include load, stress, endurance, and spike testing.

The Benefits of Automated Testing 

  • Executes test cases faster. Automation can speed up test case implementation up to 95% in some cases.  
  • Creates reusable test suites. Once test scripts have been created in an automated tool, they can be saved for easier recall and reuse. 
  • Eases report generation and records test results. An attractive feature of many automated tools are their ability to generate detailed reports and test records. This particular feature can provide an accurate representation of the state of the application, clearly identify any defects, and be used in compliance audits.  
  • Reduces personnel and rework costs. Time that would be spent on manual testing or retesting after fixing defects can be spent on other initiatives within the IT department.

The Drawbacks to Automated Testing

  • Does not eliminate manual testing. Although automation can be used for many applications and test cases, it can not totally replace manual testing. There are still some complex cases where automation may not catch everything, and for user acceptance testing, end users must manually run the test. Therefore, it is important to have the right mix of automated and manual testing in the process.
  • Cost of tool. Automated testing tools can be costly, depending on their size and functionality. At a first glance, the business may not see this as a necessary cost; however, the reusability alone can quickly turn it into an asset.
  • Cost of training. Some automated tools can be complex to use and may require training to get started. Testers must be trained not only on the software, but also on the automated test planning process.
  • Requires planning, preparation, and dedicated resources. The success for automated testing is highly dependent on clear requirements and careful test case development before testing starts. Because each organization, scenario, and application can be unique, an automated testing tool will not create test cases. Unfortunately, test case development is still a manual process. 

Recommendations

  1. Evaluate the current state of testing in the organization. Not all testing environments require automation. Assess the situations mentioned above to determine what type of automation would benefit the testing process and how much is needed. Evaluate testing requirements and identify inefficiencies that may be fixed with automated testing. QA teams that spend a lot of time on regression testing will benefit the most.
  2. Make the business case for automated testing. Automated testing generally comes at a high price tag, so in order to convey the value to the business, IT must first make the case. 
  3. Evaluate the options. After evaluating the current state and requirements within the IT department, look into which tools fit the organization's testing processes and environments. Options may include vendor, open source, in-house, or a combination of the aforementioned tools.  

Bottom Line

Automated software testing tools can significantly reduce the amount of time spent testing code in comparison to traditional manual methods. Other benefits include the creation of reusable code and a reduction in costs associated with personnel and rework. Get educated on automated testing to decide if it's right for the QA team.

© 1998-2010 Info-Tech Research Group. All rights reserved. Reprinted by permission

Info-Tech's products and services combine actionable insight and relevant advice with ready-to-use tools and templates that cover the full spectrum of IT concerns. For more information, go to www.infotech.com.

 

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access