By Shyam Ramanathan
IT budget spend is a good indicator of key market trends. In its 2015 Worldwide IT Spending Forecast, research firm Gartner estimates about $4 trillion in annual spending on IT. Testing is one area of spending, which can be used to prevent avoidable failures that cut into IT budgets.
Testing is typically more than one percent of a company’s IT budget and billions of dollars are allocated to it every year. To manage the avoidable costs of failure, it is important that organizations stay ahead of the latest software testing trends to save money and practice prevention. In order to do so, organizations should be aware of the key trends in software testing.
Key Trends in Software Testing
Transformational projects are one of the latest trends in testing. According to the World Quality Report, an in-depth research study commissioned by Capgemini, Hewlett-Packard (HP), and Sogeti, a higher portion of overall IT budgets are invested in testing and focused on transformational projects.
Beyond transformation projects, the industry is experiencing increased focus on establishing a Testing Center of Excellence (TCoE). In 2012, the overall budget for testing as a percentage of the IT budget increased from 18 to 28 percent and continues to grow. There is also rapid growth in fully operational TCoE within organizations. This is a great opportunity for organizations to get experience setting up and running TCoE. Organizations are moving toward consolidating testing operations in response to market demands and differing models of testing delivery. Building a successful TCoE involves getting sponsor buy in, evangelizing with project teams, establishing clear processes, templates, status reports, metrics reporting, and clear end-to-end communication channels.
Mobile testing is an increasingly significant area for all customers. The main issue in this area is managing the various devices and operating systems. Any organization that establishes a mobile testing lab and takes ownership with managing devices has an edge in the current business landscape. Automation of mobile testing is also a key trend.
Automation testing has been around for a long time and continues to thrive. There is a shift away from licensed software tools like HP and movement towards open source tools like Selenium. This trend is going to continue and any organization that can show expertise with open source tools will thrive in the new emerging market. Before undertaking any automation effort, it is imperative to do a proof of concept to ensure that the selected tool works successfully in the client environment. This also develops trust within the customer for the proposed solution.
To build trust further and show results, metrics are increasingly important. There are different schools of thought with respect to metrics. Some say software testing is a creative endeavor and it is not possible to measure creativity. But all customers want to have an understanding of where projects stand, hence establishing metrics to measure progress is critical to the overall success of the project. Some important product quality metrics are defects by status, open defects by severity, and open defect aging. Some of the prime testing metrics are test coverage, execution status, defect rejection ratio, and test productivity; some other key metrics are defect removal efficiency and test script on time delivery.
Given the recent security breaches with Target and other companies, security testing has come to the forefront. Cloud-based testing has recently slowed due to security concerns. Since this is a specialized skill, having employees and partners with expertise in this area is critical to establishing a well-rounded testing organization. Typical security requirements include confidentiality, integrity, authentication, availability, authorization, and non-repudiation.
Establishing an independent view of quality is a critical trend from a compliance perspective. A lot of customers have to show that development and quality assurance (QA) are separate functions. Having an independent quality view is critical to ensuring more confidence in the QA function and its results. It is a good practice to have a separation between development and QA teams to ensure quality is built in and there is no bias in the results.
Organizations should be aware of the trend to shift left. The fact is that IT organizations use a larger portion of their budget for QA than before. To ensure that the budget increase is effective, involve the QA team from the beginning of the software development lifecycle. The earlier the defects are detected, the lower the cost of fixing it is. This also ensures that the overall cost of quality is reduced. The key to shifting left is to measure the effectiveness of a change and determine whether it actually meets end user expectations.
Moving forward, QA teams also have to become better informed on the management of test environments. It is also imperative to have separate environments for different testing types, like unit testing, system testing, and user acceptance testing. There should also be a separate environment for performance testing and automation testing. QA teams need to develop skills that can enable them to manage environments independently.
Continuous integration testing is done in small increments in a production-like environment with code integration happening at frequent intervals. This type of testing helps the tester detect problems early on. The continuous cycle of code, build, test, and deploy is followed to enable high quality and defect-free releases. By applying a lean methodology, continuous testing can be implemented. The advantages of this are quick defect detection, better project results, reducing risks, and functional working software is available any time.
It is definitely an exciting time to be involved in the software testing industry. The fact that more budget is being allocated to testing augurs well for the industry. Additionally, all indications suggest that this trend will continue. Therefore, pursuing a software testing career has never been more fruitful, and the times ahead are going to be more exciting than ever. SW
Shyam Ramanathan is the director of software quality assurance, North America delivery head, Virtusa. Shyam has worked in the quality assurance world for over 15 years, where he has developed experience in test management, test execution, test planning, and test design, establishing global delivery teams across geographies and building a TCoE.