Higher levels of automation are necessary to deliver quality applications quickly. Any test team looking to create accurate and repeatable API and UI tests that can be run across multiple devices, platforms, and environments, must invest in automating their testing process.
Once tests have been created however, testing teams are often faced with a difficult decision:
Do they build their own on-premise test environments, use local machines, device labs, deploy mocks on servers, or use sandboxes provided by 3rd party providers? Or do they use cloud-based test environments along with service virtualization?
Regardless of which method a team chooses, the efficiency gained by automating desktop, mobile, and web tests can easily be eroded when managing their environments requires manual provisioning, upgrades, or teardowns. While their automated tests are waiting to be run, teams can spend hours performing repetitive and redundant tasks such as downloading the right browser versions, waiting for the test machine to be available, or ensuring they have access to the right operating systems.
As QA and development teams push to increase speed and test coverage, the need for parallel testing and developing capabilities grows, and adds to the challenge of setting up and maintaining infrastructure. This is because parallel execution requires QA teams to scale their infrastructure dynamically based on their needs. Parallel testing and development often takes a backseat when systems are still being developed, or when there are scheduling conflicts because QA and development teams are trying to access the environments simultaneously.
For API teams looking to test and develop in parallel, mocks are often the answer. However, mocks fall short as they provide partial behavior, limited functionality and don’t reflect proper network or performance conditions. Mocking is also often a hassle for teams because they are static – changing them to generate scenarios requires manual changes that slows down the testing process. Microservices exacerbate this problem as building and maintaining mocks for hundreds of microservices requires hours of configuration. Discouraged, teams often decide not to engage with mocking at all and wait for the environment to be available instead – adding days and sometimes even weeks to the test cycle time.
Even when QA and development teams can scale and keep test environments up-to-date, the data they get from physical and virtual machines for test debugging purposes, normally in the form of log files, is often limited. Infrastructure costs can also quickly grow out of hand when there are transaction fees involved with accessing third party dependent resources.
Join us on Thursday (3/23) for our webinar, “Automated Tests Lack Speed and Scale? Environments are the Weakest Link,” to learn how testing and development teams can reduce the complexity, time, and costs associated with managing, upgrading, and tearing down test environments.
During the webinar, we’ll discuss:
- Strategies to enable parallel development and testing
- The challenges with environment provisioning and how to overcome them
- How to handle UI & API test environment dependencies
- Ways to easily create test environments
- Selecting the right test environments using a data-driven approach