In my earlier blog post, we have analyzed in-depth about software testing trends in 2014. In this post, I would like to highlight few important aspects of Quality Assurance as a function. I will highlight some of the positive and negative attributes of QA. We will also look at some important stats and also discuss possible solutions to enhance QA functionality. I would like to give full credit to Gartner Inc. for the incredible research they have carried on quality assurance, especially the statistics part.
QA Functions – Maturity
The QA function is aligning itself to the current business demands by reorganizing its structure. This has resulted in improved efficiency and optimization of costs for various businesses. It has also strengthened software testing functions to grow as a single stream, which now stands at 26% as compared to 8% in the year 2012 (as per Gartner’s research). Late involvement of testing in the software delivery lifecycle (SDLC) is applying a break on the increasing maturity of the testing functions.
Test Center of Excellence (TCOE’s) – The Need
A test center of excellence deals with process, tools and best practices to improve effectiveness of software testing. Businesses across the world are reducing budgets for software maintenance and looking for new transformational projects, which would enhance the testing functions. Overall, the industry has witnessed a drop in software maintenance activities. If we look at the insights, software maintenance has plunged to 54% in the year 2013, whereas it stood at 59% in the previous year, and Gartner predicts that it may further drop to 51% by the year 2015. This would lay emphasis on the importance of setting up a Test Center of Excellence (TCOE) for every organization. To support my opinion, I would like to highlight a recent research, which revealed a 19% increase in fully operational TCOE’s.
Test Metrics – Software Testing & QA
As per Gartner, Inc., 73% of the businesses are interested to find out the number of defects identified by the Quality Assurance teams. Additionally, 55% of businesses were also interested to know the cost per test case and 52% of them wanted to find out the cost involved per detected defect, which indicates that business are now more focused on software testing and quality assurance. The above figures clearly articulate the role and importance of test cases and defects in the software testing lifecycle. We would be able to provide a clear assessment only when we align testing function with the business and invest QA time in an effective manner.
In today’s software environment, agile development is a highly accepted practice and is being widely implemented by leading software companies, but it still has some specific challenges with respect to software testing functions. The biggest challenge faced by software test engineers, while testing in agile environments is that the test lifecycle never ceases. As agile is a continuous integration process, the testing requirement revolves around integration testing, hence not providing an option to complete the full testing life cycle.
Testing Challenges – Agile Development Practice
When we take a closer look at the agile development practice, 64% of the software test engineers agree that they still lack a good testing approach that suits this practice. Testing teams also face certain other challenges, which include the inability to apply test automation effectively. Some of the challenges faced by the QA functions with respect to agile development include:
- Difficulty in identifying the right focus areas for testing.
- Creation of reusable assets with tools.
- Lack of expertise, especially with agile teams.
- Difficulty in reusing the tests and repeating them across the sprints.
It’s not all negative news though, very few (13%) of the professionals say that they do not face any difficulties with the testing function in an agile development process.
Quality Assurance – Challenges
On an average quality assurance is allotted 30% of the overall IT budget, it has been observed that it is not being used in an effective manner. Additionally, there is shortage of tools, metrics, processes and skills, which could have helped in significant cost savings in a longer run. Even highly decentralized organizations are reducing budgets allotted for quality assurance, but are expecting high quality deliverables from the QA teams. Another major challenge is not having a dedicated test environment and test data management. Many businesses are failing to strike a balance between risk, design, management & support and also in identifying the level of investments that are required to maintain software test environments.
Aligning Quality Assurance
Here are some best practices that can help organizations effectively align QA functions to improve value and importance.
- Concentrate on providing business oriented metrics rather than the regular metrics.
- Invest and implement standardized and structured QA methodologies.
- Maintain dedicated QA and Testing teams.
- Set up a dedicated research and development teams to explore tools and methods for mobile testing.
- Establish a TCOE (Test Center of Excellence) which will probably take about 6-9 months and will give you the results in 2-3 years.
- Find an approach where quality and agile can coexist.
- Stress more on automation.