Archive for the ‘Test Automation’ Category

In any software company, wherever you go, you find typical species of people who want to just break the software, do not want to bow down under business pressure to release low quality software and are often termed as fussy. This species is specifically termed as ‘Testers’.

Nowadays, there is a special requirement that is being given to this species. It is to automate as much as possible. This poor specie is under pressure to learn automation and implement it and behave like a developer. So what is happening? Is the automation that is being proposed or done under such pressures really worthwhile? Are the companies really getting benefits out of it?

I am seeing it a fact that reusing a framework has become a fashion nowadays. Everyone is talking about so called ‘Hybrid’ framework. Even if the application is complex and steps are repetitive, testers end up developing a keyword driven framework (which they call hybrid as well) for it. I have been confronting with these people about why they are doing so when that framework might not yield a good return in the longer run for that particular application. The answer that I get is.. I developed it in the past in one of my projects and hence it is a proven way to automate!

It seems to implement an already known framework has become a fashion in the industry. The reason is simple. No one wants to take risk and try something new or may be no one wants to understand the exact need of the application under test.

REQUEST -> Please do not treat test automation as an activity that can be based on a poor framework. The framework should be designed to fulfill the application needs and not your personal needs.

Using automation to overcome Agile testing challenges

Organizations globally are adopting the Agile development methodology for enhanced collaboration and faster delivery. Agile is a set of software development principles that lays emphasis on individuals over processes and tools, working software over documentation, collaboration over contracts and responding to change over following the plan. Through Agile, organizations can collaborate with their customers by delivering live and working software to them. Despite its benefits, embracing Agile in the Testing practice is not an easy task and fraught with challenges.

Challenges in adopting Agile in Testing

While selecting appropriate tools that are usable as well as flexible is an issue, encouraging the entire team to contribute towards the tests is another problem. Enabling open-source integration and promoting test-driven development are some of the other concern areas in Agile testing.

Agile also brings with itself a few technical problems like difficulties on account of distributed teams and obstacles faced by individual testers within the Agile team. In the case of Agile development methodology, it often becomes tough to keep track of the number and speed of changes in user stories, requirements or the code.

Another issue with Agile is frequently changing requirements. Due to this, the code is refactored quite often.  Agile testing can be further bogged down by the fact that the testing team has to continuously collaborate with other cross-functional and geographically scattered teams.

How Test Automation can help

Test Automation can help organizations resolve the challenges associated with Agile testing.  Test Automation ensures that the application is and continues to be in a good shape with each new sprint. It encourages the Agile development team to collaborate with the testing team, seeing it as a  partner, rather than as Quality Police. Running the tests over and over again gives the development team an assurance that the new code, which was added to the system, does not break or destabilize anything.  It also certifies that the system is working and the new code is doing what it is supposed to do. As Agile teams need to test continuously, Test Automation provides the required speed, and helps ascertain that the feature implemented during a given iteration or sprint is actually deployed.

Think, before starting

Overall, Test Automation is useful in addressing and fulfilling critical testing demands and essential for Agile projects due to their need for frequent regression testing. At the same time, while Test Automation may be needed, just deploying an automation tool is not the solution for an organization.  What companies also need is a proven automation testing strategy and a skilled test team. This involves designing an effective automation solution that supports quicker maintenance, faster ramp-up time and distributed ownership.

Do look at Jim’s comments to complete reading

Agile is being adopted by most of the organisations to achieve quicker deliveries. But, looking at the usage and implementation, they are still struggling to milk the actual benefits that they can reap while being Agile.

Testing is one such area that is making testing teams lose their sleep.

One of my friend and colleague, Garima Mishra, has prepared a 40 mins webinar that aims to showcase how testing teams can  get benefited by Automation and how it can help address the challenges that are usually encountered while testing time-boxed agile projects.

The webinar is scheduled on Nov 30, 2011 at 10 am PT / 1 pm ET

Register to learn more.

Was reading Google Blog and am happy to see that Google has announced that GTAC2010 will be held this time in Hyderabad, India. I am too happy to see this and also feeling proud that a big conference like GTAC is being held in India. Will be surely there. You can get more details at Google Blog