Getting Started with Software Test Automation

Software test automation makes use of specialized tools to control the execution of tests and compares the actual results against the expected results. With automated testing, you can record and playback predefined actions or scripts and report upon the results quickly and efficiently. While it requires an upfront investment, the benefits are clear.

Here are three reasons why software test automation will help your organization:

1. Saves Time and Money in the Long Run

While it takes an upfront investment to build out automation scripts, the payoff in the long run delivers a clear ROI. Because of the frequency and repetition of testing, purely manual testing can become an unnecessary time and resource drain.

2. More Accurate and Consistent Testing

The more times a tester manually executes a script, the more likely it becomes that an error can be overlooked due to simple repetition and less attention to detail. Automation provides the consistency of a script and eliminates bugs that would be missed from manual testing. Automation also allows the test team to execute more in-depth scripts to cover more complex test cases.

3. Early Bug Detection

If unit testing is automated or if developers have the ability to migrate and test their code updates in a QA environment where automation is used, then bugs can be caught before being sent to the test team. This will provide the flexibility for developers to quickly and easily validate whether any code changes they make have adverse impacts on functionality.

Two Great Tools to Get Started

While there are many automation testing tools to select from, the most common are HP’s QuickTest Professional and Selenium, an open-source tool. QuickTest Professional (QTP) now has a more enhanced and widely used version called Unified Functional Testing (UFT). Choosing the right tool depends on the project and the application being automated.

Below is a general comparison to help determine which tool is best for your project needs.

Feature Selenium QTP/UFT
Cost and Distribution Free (open source tool) Licensing fees – cost is variable based on number of licenses needed
Browser Compatibility Supports almost all the popular browsers like Firefox, Chrome, Safari, Internet Explorer, Opera etc. Supports Internet Explorer, Firefox and Chrome. QTP only supports Windows Operating System
Record and Playback Limited Yes
Application under Test Only web-based applications Web-based and Windows-based (desktop) applications
Object Repository Must be created as a separate entity Automatically creates and maintains Object Repository
Data- Driven Testing Manual Yes
Scripting Language Java, C#, Ruby, Python, Perl, PHP, Javascript VB Script
Vendor Support No vendor support to troubleshoot issues (will have to rely upon online forums) Dedicated vendor support available

Where Manual Testing Still Makes Sense

Note that while automation has many advantages over manual testing, there are instances when it may not make sense to automate. Some of these include:

  • The application is expected to change considerably in the near future
  • Tight project deadlines (since initial set up time can be substantial based on application size and complexity)
  • Tight project budgets (since initial costs to automate are high)
  • Available team can’t build/support test automation

Final Thoughts

Typically, the best approach is a combination of automated and manual testing. You will want to automate the longer, complex scripts that should not have to change as often like regression test scripts, but you will likely not find the ROI in automating scripts that are simple to run manually or will not be needed frequently.

Is it time to introduce software test automation into your organization? For the resource savings, consistent testing and early bug detection, it’s definitely a great investment to consider.