Automated Software Testing (AST) is an integrated process and is best conducted as part of the entire software development lifecycle. While many believe that AST is exclusively GUI capture/playback, it is not. Additionally, AST is not limited to one phase of testing or to particular products, architectures or languages. AST can be implemented as part of many different software development models, including: waterfall, test-driven, or Scrum. It can support applications that run on multiple computers, in different languages and platforms, and run on any type of network protocol.

When developing an automated testing framework, it should support:

  • Testing without having to install the framework on the same computer as the SUT
  • Both new and existing applications
  • The entire testing lifecycle
  • Distributed testing across multiple computers

The creation of an AST platform requires a mini development lifecycle and should follow best practices for software development. Implementation should begin with test requirements, and be followed by automation design, test verification and execution. Some programs and applications under test (AUTs) will require unique customization.

The implementation of AST should be adaptable to the requirements of the AUT, depending on the following:

  • The AUT’s technology- The most effective AST should be able to adapt to the technology requirements of the AUT (e.g. Windows versus Linux).
  • The AUT’s complexity- If the AUT is highly complex, the AST effort will need to be more elaborate.
  • The AUT’s schedule- Obviously, the more time allowed for testing, the more comprehensive the testing that can be completed.
  • The AUT’s testing lifecycle- When it comes to the question of when to incorporate AST into the testing lifecycle, the sooner the better. The earlier defects are detected, the less expensive they are to fix.

Effective AST framework implementation can adapt to various environments and factors, as referenced above.  The goal is to adapt AST to various programs without having to start from scratch for each application.

Some information taken from:  Dustin, Elfriede, Thom Garrett, and Bernie Gauf. Implementing Automated Software Testing: How to save Time and Lower Costs While Raising Quality. Upper Saddle River, NJ: Addison-Wesley, 2009. This book was authored by three current IDT employees and is a comprehensive resource on AST.  Blog content may also reflect interviews with the authors.