One of the challenges with building an application these days is the number of dependencies that application will actually have on other applications. Ideally in order to know how that application will actually perform application developers would be able to test their application against the application it depends on running in production. The odds of that happening, however, are slim to none, especially if that other application is running as a cloud service that has to be always available to end users.
To solve this problem developers are increasingly turning to service virtualization, which is an emerging set of application testing technologies that allows a developer to create a replica of another application in a testing environment. In fact, a recent survey of 200 in‐house software development executives and managers from enterprises with revenues of more than US $1 billion dollars in North America ‐ the majority (71%) with over $2 billion annual revenues – conducted by the market research firm Coleman Parkes Research on behalf of CA Technologies, found that not only does the inability to adequately test applications result in missed deadlines, entire functions wind up being eliminated and the development team as whole lacks confidence that the application will work as advertised.
Given the often limited scope of most application testing that may not be all that surprising. In fact, interest in agile development methodologies aside, as the amount of liability attached to an application increases the more cautious an organization becomes. What’s definitely needed, says Shridhar Mittal, general manager for service virtualization at CA Technologies, is a new approach to testing applications that for the most part are mashups of any number of existing applications that often have dramatically different service characteristics. The challenge, of course, is figuring which one of those applications might adversely affect the performance of your application before your application discovers that issue in a production environment, says Mittal.
Otherwise, says Mittal, all any organization is doing is releasing code on a little more than hope and a prayer that it will actually work.
As applications become increasingly borderless thanks mainly due to the proliferation of APIs that serve to make applications more accessible, the more tempting it becomes to invoke third-party APIs. But as we all know, the quality of APIs tends to vary widely across the Web. Right now many organizations are using agile development methodologies that in many instances amount to little more than trial and error when it comes to invoking APIs.
As the number of application releases and updates that organization are rolling out in a given year steadily increases it’s pretty clear that existing approaches to testing applications won’t scale in the age of the cloud. Service virtualization provides a way to get around that scale issue that is not only practical, but more importantly should lead to better code being deployed the first time every time.