Performance has been the most important
quality attribute with respect to the business efficiency and user acceptance.
In terms of modern cloud based solutions, the response times and utilization
rates required are crucial from the end users point of view.
Performance testing is not only important
for traditional IT systems, but also for cloud in various respects. Clouds are
highly attractive IT systems. They are highly scalable. With increasing number
of users, it utilizes a greater number of computers in order to ensure high
performance. Performance testing has always been dependant on sophisticated
tools.
It needs to generate high volumes of test
data to create a substantial workload and be more realistic. Hence, performance testing
requires a complex and expensive test infrastructure.
The cloud is perfectly suitable in
providing this type of infrastructure. So, even if the components behind
performance testing are independent of the location of the system under test,
the process itself benefits considerably from
cloud.
The different kinds of interaction between
cloud and testing can be mapped into four types. As per utilization cloud can
be distinguished into four types:
-
Cloud
as system under test: The cloud itself as a
software product needs to be tested. This implies that the cloud itself as a
system under test is deployed and executed within the cloud.
-
Cloud
as testware utility: The cloud or services
which accessible via the cloud can be utilized for testing other other IT
systems.
-
Cloud
as test environment: A software product or an
application can be executed within cloud for testing purposes. Here the system
under test is deployed and tested within the cloud, but subsequent operations
may not be continued inside the cloud.
-
Cloud
as test logistics: Here the cloud is used as
a service in the sense of its typical cloud characteristics.
The cloud is becoming increasingly
important as a production platform. Hence systems are now directly developed
directly in the cloud. As cloud computing continues to develop, performance and
load based testing can be counted as cloud offerings. Cloud based testing
changes the way tests are performed. Cloud based testing services change the testing
methodologies of http and https applications through its following three
characteristics:
-
Testing
at scale: the cloud based testing provides a
cost-effective means of testing applications at scale as compared to lab
environment that can only simulate a small subset of the production
environment. Thus, cloud based testing can test the application against the
actual number of expected users.
-
Testing
globally: Could bast testing enables testing the
application on a global scale, thereby recreating the regions from which the
users are accessing the application. This is usually done through partnerships
with other cloud providers which allow customers to run loadtests constituting millions of concurrent users from different
continents.
-
Testing
production apps: Could testing can also be used for
testing production apps. Testing in production implies testing at maximum
capacity. Different problems then arise which do not show up in medium
capacity. This gives us a realistic
picture of of what can actually go wrong and the potential adjustments that can
be made before they occur.
Conclusion:
Cloud testing can be utilized as IaaS, PaaS
or SaaS regarding the type of service the cloud provides. They are not
necessarily independent, but can they can be modeled into a layered
architecture as per requirement. Generally, clients use SaaS via Web Browsers, Mobile apps and thin
clients. Companies like Google, Netsuite, salesforce.com have been the real
drivers behind the cloud computing revolution.