Testing Automation Setup

On a continuation to my previous post regarding Testing Automation Tools, I will try to write the process through which I went while writing the testing scripts.

The application for which I wanted to do the automated testing is a web based application written in PHP on top of Zend Framework. As Zend Framework follows the MVC pattern, we followed the same pattern. For database, we wrote our own layer and didn’t use the layer which Zend Framework provided.

For testing automation I followed the same design rules, which I followed while designing and writing this application. I wrote testing scripts for each entity in their own files. Then I called them in one main file, which I run when I want to run the regression test. Following is an example configuration file:

I treat this main script as my main configuration file. Where I declare some global variables, call those scripts which I need to run during my test run. I can include the scripts, which I need to run and can exclude those scripts which I don’t need.

I will continue with this series with further updates on how I wrote automated tests for every individual entity.

Testing Automation Tools

I recently started using Sahi. Sahi is an automation and testing tool for web applications, with the facility to record and playback scripts.

When I was trying to find any tool for testing automation, I evaluated many tools as the following:

  • AutomatedQA’s TestComplete – It is one of the other product which I would love to use. It is an excellent product and could be used very nicely for GUI applications. I had to drop this from the list due to its price 🙁 and availability of free / open source automation tools for web.
  • Watir – I couldn’t try this much but it was dropped from the list due to the learning curve involved in learning Ruby and then using this whole suite efficiently. Though, it seems to be a nice product and offers many add-ons.
  • Sahi – I chose this due to the ease of use. Another positive aspect of this application is that its scripting is done in Javascript. So I didn’t have to learn another language. I was able to start actually automating my test cases the next day, when I installed Sahi on my system. Till date, I am able to automate about 50% of my application. That application testing, I am going to automate has been written in Zend framework.

In the next posts, I will try to post some more details about my testing experience.