Testing Automation - Is it Just Testing?

WiKiPedia defines Testing Automation as 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". But if you ask me its much more than that.

Automation Tools are one of the most 'under-utilized' tools in software. They are capable of much more than executing a bunch of testcases , to reduce manual effort. So what else can we use these tools for?

Few of the uses that these tools can be put to, except for automating test cases can be:

  • Automating Repeated Task: This is the most obvious use these tools can be put to. I have been using Automation for more than 2 years now, and I use these to do repeted tasks like configuration. As in our case we need to build 30-40 configurations in our SUT and manual effort per configuration is around 15 min. We can take input from a datapool or simply from a text file and the script can configure the SUT automatically.
  • Data Mining & Web Research: Ok, now leave the testing and lets think out of the box. Web is a fertile area for data mining and research. Problem is that its time consuming to get the data from various sources and assemble them together to get the relevant information. Automation tools can help you here to get the data from the web and put it in a single location for offline research. Converting Data to information and then eventully to knowledge will still be done manually but still a huge effort can be saved.
  • Network Mangement and Scheduling: There are tools specifically build for network management task, but we can also use our functional testing tools for scheduling and network management to some extent. We can build into these tools the capabilities to centrally manage printers, registry settings, Firewalls, e-mail profiles, browsers settings, patch management and Office settings. Scheduling can be handled to run specific tasks at a particular time.
  • Desktop Automation: With a simple record and playback you can automate almost any task on the desktop that takes a lot of step or is not easy to do from command line. You can create a macro and assign a hot-key to it or some tools even let you build a stand-alone executable file.
  • Un-Ethical (Mis)Uses: Now to the other face of the coin, if you can use it you can also mis-use it. Hackers have been known to use automation tools for ,obviously, hacking :). Let me say "Don't try this at home", but these have been used to hack online accounts by using brute-force methods, spamming emails and even to earn money by advertisers by 'Artifical-Clicking' on ads. Sites designers should use "image-verification" to avoid these hacks.

3 comments: