In backroom IT offices of the application development process, software testing -- specifically of the automated type -- is gaining newfound respect and momentum. Fuelled by widespread business expeditions into the Internet economy, testing has surfaced not only as a critical IT issue, but also as an even more critical business issue. This is true both in the private sector and the public sector where a majority of their services are becoming e-enabled.
Companies intent on transacting revenue-generating business or offering enhanced customer services online are increasingly turning to automated testing solutions to gain confidence in their IT systems, fully understand how applications will behave under real-world conditions, uncover and rectify issues, and systematically manage growth.
The worldwide market for automated software quality tools, including mainframe and distributed environments, reached $2.6 billion in 2004, a 23.6% increase over 2003 figures, and the market is slated to double by 2007. Consequently there is a shift in services towards testing. Demand for good quality testers with the right skills is growing at the same rate, with salaries increasing at comparable rates.
IDC recently commented that the widespread growth in the adoption of automated testing solutions is being fuelled by the steps that businesses are taking to leverage the Web. The old paradigm of forgoing a structured quality initiative in exchange for faster deployment with plans to address quality issues with application updates doesn't fly in the Internet economy. Businesses must know how applications will perform and behave once they're open to the Web, As businesses move from having isolated front-end Web applications to integrated Web-enabled enterprises, with multiple application interdependencies within or between businesses, the issue of testing is especially crucial. It's a simple matter of mitigating business risk, maintaining integrity, and gathering knowledge and confidence in the IT systems that are so heavily relied upon to transact daily business.
Business acceptance of automated testing as a mainline business practice hasn't come quickly or easily. For traditional client-server environments, it's been more common for testing efforts to be short changed in exchange for more development time or faster deployments. Internal conflicts that result in poor communication between developers and testers have also contributed to weakened efforts, along with a loss of focus on the fact that both facets of IT must work together to achieve the end result. Too often, automated tools have been shelved due to inadequate test process support, lukewarm business management support, and staff turnover.
However, in the ever-widening Internet economy, much is changing. Today, automated testing tools are viewed as a necessary purchase and many organisations have annual budget allocations for them. Majority of these organisations have proven that automated testing solutions work to help them deliver their Web-based product to market sooner, with more accuracy and less user-found errors. In turn, business support continues to strengthen.
The equation is simple: Application performance and transaction precision equate to the efficient business services that lead to customer satisfaction, which ultimately boils down to revenue. At the opposite end you have loss in revenue, bad publicity and in case of the public sector severe political embarrassment. So it goes that IT managers and business executives are speaking the same language "bottom-line revenue" and, therefore, the business investments in automated testing solutions are more easily justified and understood.
As Web application delivery cycles are so much faster than with traditional client-server or legacy systems, the potential for errors is greater, creating, in turn, a greater need for testing.
The recognition of the value that automated testing brings to the business has changed enormously. Information such as how many database connections were needed and what the maximum load requirements were known for the system. Building to known requirements was tough, but at least it was manageable and quantifiable. The problem with the Internet is the surge activity.
For example. Advertising campaigns typically cause traffic to spike to five or six times the daily average and in some exceptional cases traffic surged to nearly 20 times the daily average. These types of scenarios are difficult to plan and test for, so there is a need to use the tools in order to know ahead of time what will happen when these types of traffic surges occur. Will performance slow, will it grind to a halt? How much business could we potentially be losing? How much frustration are we causing our customers and, as a result, how much damage to our business reputation?"
The "gut instinct" testing mentality that previously existed for determining readiness has been replaced with quantifiable facts about how the application will perform under real-world conditions. Communication with the development team has improved as a result of leveraging automated tools. As problems are uncovered, they can be backed up with quantifiable evidence.
Many an IT manager has pitched a case for purchasing automated testing solutions and been challenged to prove the business value. The cost justification: How long before the investment outweighs the cost? After all, the foray into automating the testing process is expensive. Automated tools are costly, as are the qualified staff and hardware resources necessary to operate and maintain them.
What tends to most easily convince businesses of the need to establish formal automated test processes is a bad experience with an application providing poor service, or one that fails altogether. The upside of that experience is that application quality becomes a bigger issue and gains the business support needed to survive. The downside is that adopting automated tools in response to a crisis can seem to worsen problems if it's assumed that having the tools will immediately equate to better application quality. Tools require process support and qualified people to run them. Typical client consulting engagements require 75% of the training to focus on the test process, with the remainder spent on learning how and where to leverage automated tools.
In addition to the traditional vendors responsible for turning automated testing into a distinct discipline, there exists a new breed of vendors that are providing automated testing solutions built exclusively for the Web. The industry leader for this is Mercury. Mercury in partnership with Testhouse ( www.testhouse.org ), a UK based Test consultancy now established in Dubai, offers the complete solution. This allows organisations to get into Testing in the correct manner.
Load testing services from Testhouse are gaining popularity. These services are beneficial for companies under pressure to deliver but short on resources and time. In addition, these services give businesses the chance to have their applications evaluated by a third party, which adds an element of objectivity. Also, large volumes of realistic user loads can be leveraged through these services, which take into account realistic Web usage scenarios across geographic locations.
Because these services are geared for a fully functional application, they do detract from the life-cycle testing approach, which requires that testing begins early and continues throughout the development process. Therefore, the best solutions for Web-enabled enterprises will require some combination of in-house tools and outsourced services.
Another trend extending the value of automated testing is application monitoring in the production environment, from the perspective of the end user. For testing-tool vendors, application monitoring stretches quality practices into production. This functionality is critical for Web environments because businesses must constantly be aware of how users experience their applications.
Given the undeniably complex array of technologies and the unpredictability of users' loads inherent in the Web-enabled enterprise, automated testing practices will continue to gain business acceptance for companies participating in the Internet economy.
It will always be a challenge to blend new technologies with existing ones and test that they work together synergistically. Rapid-release cycles and continuous changes make test automation a more practical and reliable way to ensure quality IT systems.
Testing should be regarded as a business investment not as an optional overhead. What's put into it will, if correctly implemented and well managed, directly correlate to the business value that's derived, unsurprisingly the opposite is also true. Furthermore, like any good investment, businesses must think of their returns over the long term. Applications are rarely future proof, but fundamental strategy, architecture and component based development can be durable.
About The Author
Sug Sahadevan has had over 20 years in IT starting from developer, to project management, programme management. sug@testhouse.org
For more information on Software Testing, visit Software Testing Concepts.
No comments:
Post a Comment