August 26, 2013 | Written by: Amy Xu
Share this post:
Twenty years ago, when I was a programmer, the majority of applications were running on client/server architecture. The data was tightly coupled with applications in a client/server model. When I tested an application, I only needed it to connect to one database server. Today, testing has major challenges that need to be overcome, such as challenges in complexity (a shift to service-oriented architecture designs and mobile technologies) and increasing costs.
There are good reasons for why you should test your applications. You want to deliver the highest quality product while adhering to cost containment principals. You want to have ultimate flexibility of choice. You want more agility. You need to be able to bring the product more quickly to market at an ever-increasing pace in order to stay competitive.
- Complexity is exploding with loosely coupled components and an increased number of interfaces and dependencies.
- Testing is done on components as they get developed, and not all the components are ready for testing at the same time.
- There is a lack of skills, tools and resources to properly execute mobile application performance tests.
- Costs are escalating, and quality is suffering.
Some of the most significant challenges are encountered well before testing can even begin! These challenges include:
- Getting access to hardware (it is too expensive and very time-consuming to build a dedicated testing environment)
- Getting access to different software configurations to test against (different operating systems, browsers and so on)
- Deploying an environment for the application being tested
- Deploying a test environment for load and functional test tools
- Creation and management of the test environments
- Limited availability of test systems to integrate into the test environments
A new approach for application testing
Development and testing require substantial resources when done on in-house systems. Developers have to have the same level of development tools on their machines. Testers have to maintain many different machine environments and test applications on all of them. The typical test environment consists of a large number of test servers, a little virtualization and primarily manual allocation and configuration of individual test environments. Moving development tools into the cloud ensures that all developers are using the same level of tools. Doing testing in the cloud allows the organization to define a single set of virtual machines for testing; those virtual machines can be started when needed and then shut down when the tests are complete. IBM SmartCloud Enterprise+ (SCE+) can make test environments more productive, agile and dynamic. SCE+ enables testing environment provisioning to drop from weeks or months to minutes or hours.
IBM’s approach integrates the cloud with innovative tools (IBM Rational Test Workbench, IBM Rational Performance Test Server and IBM Rational Test Virtualization Server) and services to create a highly optimized ecosystem to support the full software development lifecycle.
IBM Rational Test Workbench: Designed for the test professional, the Rational Test Workbench combines Rational automation capability for functional, integration and performance testing. In addition to the advanced functional and performance test capability, the IBM Rational Integration Tester can deliver earlier, end-to-end continuous integration testing across hardware, software and cloud-based dependencies. With a scriptless, wizard-driving test authoring environment and over 70 technologies and protocols that are ready for immediate use, Rational Integration Tester is uniquely positioned to accelerate productivity and test delivery.
IBM Rational Performance Test Server: With Rational Performance Test Server, you can reuse your functional integration tests, blending together different types of interaction to assess the impact of real loads on your integrated infrastructure. Rational Performance Test Server also includes the application-level load testing capabilities for a complete view of performance and scalability across all components of your composite application.
IBM Rational Test Virtualization Server: With Rational Test Virtualization Server, you can model and simulate real system behavior to eliminate system test dependencies and reduce the setup and infrastructure costs of traditional testing environments. Virtualized services can be deployed and replaced without having to reconfigure the original application environment, saving time and avoiding configuration errors that can affect your testing. Through this comprehensive set of capabilities, the Rational test automation solution advances your agile software development practices by:
- Improving development and test velocity, with the cloud accelerating delivery of software quality
- Enabling parallel development with shared test environments and integration suites across teams
- Delivering traceability and in-context collaboration across all domains and stakeholders in the software delivery chain
The IBM lifecycle covers a wide range of testing types. Decisions around test levels and test types in a given portfolio determine scope. IBM Application Management Services (AMS) can be leveraged in a private or public cloud to simplify your test processes.
Test early, test less, reduce defects
IBM cloud computing and tooling innovations present an unprecedented opportunity to accelerate the business value received from the software delivery lifecycle. IBM Testing as a Service provides a holistic approach to optimizing the development and test environments by bringing together resources, tooling and services best practices to maximize efficiency. A development and test cloud provides multiple client benefits:
- Cloud maximizes infrastructure utilization and increases flexibility.
- Environment provisioning drops from weeks or months to minutes or hours.
- Application virtualization accelerates the development and test cycle.
- Cloud-based application lifecycle management tooling allows for rapid onboarding and standard configurations.
IBM has deep skills in the development and test domains and can bring unique innovations and best practices to optimize delivery for you. Your enterprise can go to market faster at a lower cost while offloading testing responsibility to IBM to capitalize on their skills, efficiencies, best practices and global resourcing capabilities.
Please reference the IDC report for IBM Testing as a Service capabilities. Connect with me on Twitter and let’s continue the discussion.