The move to cloud-based applications has undeniably delivered tremendous benefits. However, the associated distribution creates various challenges from the quality perspective:
End-to-end tests need to pass through multiple dependent systems, which are commonly unavailable, evolving, or difficult-to-access for testing.
Accessing such systems often involves transaction and bandwidth fees.
Teams need to test and tune the system under test against a realistic and broad range of performance and behavior conditions – yet such conditions are often difficult to achieve in a test environment.