Just as Sir Richard Branson’s new Virgin Galactic space ships are designed to take tourists further and faster than they’ve ever traveled before, today’s business environment is demand applications, business solutions, and application modifications at a faster and more dynamic rate than ever before. The traditional challenges of simply developing working applications that address a specific business need have increased exponentially with the push toward greater integration and process-driven requirements, as well as with the unending push to address market changes and business needs more rapidly than ever before.
As a result, organizations have continued to push the frontiers of application development, moving into service oriented architectures to enable more rapid development, modification, and adaptation of application and process components. As a result, IT managers today are not just judged on well they can create and manage the IT infrastructure, but on how they can enable the business to respond to changing market needs. As a result, IT not only needs to deliver more effective business applications and solutions, but it needs to do so more efficiently, with fewer problems, faster, and with reduced budgets. That’s a pretty tall order for almost any organization.
It’s also the reason that I believe that an adequate testing strategy is now more important than ever before—even for organizations focused on heads-down productivity and limited budgets. Having the right type of testing strategies and processes in place are critical to being able to consistently and economically deliver applications, services, and IT infrastructure components on time and in working order.
The problem is exactly how to define the right level of testing. Testing everything completely and thoroughly—especially in larger or more complex applications or services is simply out of the question for most companies, unless they have an abundance of resources or cash. Instead, what IT managers need to determine is how much testing is actually required for a given application or release, what types of tests need to be run, and exactly what needs to be tested (assuming that not all sections or functions can be tested equally). Even if it was possible to test an application completely, it’s probably a waste of resources. What organizations need to define for each release is the optimal level of testing required, based on the business needs, the potential IT or business risk due to failure, the cost (time and labor) associated with testing different functional areas, and importance and relevance of each application component.
1
Solution Center Resources