Monday, 16 April 2012

Full application lifecycle testing… are Application Lifecycle Management (ALM) tools the solution?

A colleague and I recently presented at SIGIST on behalf of Microsoft and during that session we asked the question: How many of you do full lifecycle testing? We had explained what we meant by full lifecycle testing – testing of all the project deliverables from requirements and design, all the way through to code delivery and beyond. However we were amazed by the response. From an audience of 80+ people only a very small number put their hands up. I must admit this did surprise me, bearing in mind the type of people that usually attend SIGIST events are progressive test professionals keen on doing testing according to best practice and are mainly professionally qualified. So I asked myself the question… why don’t they?

Why doesn’t everyone do full lifecycle testing?
From my own experience, the reason can be due to cultural issues – testers only get involved during the development phase, due to issues with a lack of understanding of the value of testing and QA. Another reason could very well be the absence of integration between BA’s (Business Analysts), development and test teams. However in some cases it is due to the lack of cohesive processes and tools that support the process.

So are ALM tools the answer… ? Anything that can help support the testing and QA process will help embed such good practice.
In my recent experience of using Microsoft Visual Studio 2010 and Microsoft Test Manager 2010, I have found that features such as having the requirements, code, builds, and testware all in one repository coupled with the ability to create “rich, actionable bugs” makes full lifecycle testing not only easy, but it almost helps make it virtually a “no-brainer”, as it makes collaboration between all the parties that help build the software extremely easy. Even where you have disparate development and test teams (especially in the industry that has a proliferation of off-shore test and development functions), communication and collaboration is facilitated and even optimised by ALM tools. However, even with the availability of ALM tools such as Visual Studio, you can lead a horse to water as they say… but you can’t make it drink!

How do you get full lifecycle testing embedded within an organisation?
After the presentation at SIGIST, I was asked by a delegate the following question; “I understand how ALM tools can help, but how do you convince my company of the benefits of full lifecycle testing?”

This is a situation I have faced on many occasions at all levels of software testing during my career.  There was a time before it was widely acknowledge that the early prevention of defects was far cheaper than a cure.  What I would do to get help get this message across to the management and development teams would be to manually track the defects found and wherever possible trace them back to the requirements. This proved to be a powerful argument for the early prevention and as with tangible evidence I found it worked in all cases.

In the fast moving IT industry, the majority of people now understand the value of value of preventing defects as early as possible in the development lifecycle.  But even with this understanding they still require the knowledge and QA skills to help embed such principles. In my mind there is no doubt that ALM tools such as Microsoft Visual Studio 2010 can help make it a much easier and less painful process.

No comments: