Cloud Computing has
certainly brought a lot of new possibilities in terms of business and clearly,
as the arrival of a new technology or methodology often requires, Software
Testing needs to adapt and grow in this direction.
Several new testing services
are already available and others will follow shortly. This helps us to
understand who has benefited the most from this type of computing, i.e. the
software testing companies which aside from the value proposition offered by
these new services, they can now reduce the Cost of Testing by taking advantage
of multi-tenant and off-premise architecture. This helps them to avoid the
purchase of expensive hardware and software and at the same time allows them to
scale faster and less expensively.
Moreover configuration of
the test environments has become easier and almost instant, allowing for faster
test execution which has the potential to increase the number of test sessions
that can be run in the same time period.
As mentioned earlier
companies, whose core business is the provision of testing services, can
exploit this new architecture in ways that result in clear benefits for
software vendors; in fact their goals often coincide since their main concerns
are typically related to costs and budget.
On one side, software houses tend to
invest more in business analysis and development activities, asking test teams
to be both effective and efficient with limited resources. On the other side,
testing providers want to maximize their revenues by trying to reduce costs; this
is especially true in those countries where less effort is invested in testing
due to psychological and economical barriers resulting in compulsory cost
savings policies.
This article examines how
Cloud-based testing is positively affecting several types of testing.
Functional Testing is probably the least affected type of testing, except in the case of
test outsourcing when testing companies are asked to take charge of non-web
based applications, which require direct access.
This situation is a little more
complicated because, even if the issue of direct access can be resolved by
using Remote Desktop Services to
access the software house test environment, or by allowing the testing company
to directly deploy the application in their internal test environment, software
vendors are not always willing to grant access to their network to third
parties and/or share the application code.
In this case the Cloud can
help a lot by providing quicker and safer access to the application subject to
test.
Non-Functional Testing is more complicated and certainly the most affected,
firstly because of the different test types (Performance, Security,
Compatibility, Usability…) and secondly because it usually requires huge
investment in hardware and software licences.
Performance Testing (including Load and Stress Testing) probably gets the
biggest benefit from Cloud computing, considering both the economic aspects and
the needs of scalability in order to gradually increase the simulated load.
Using the Cloud means paying
only for what is needed and only for the required time. This means that it is
no longer necessary to purchase expensive annual licenses for two or three
months of testing per year. Server provisioning in the Cloud is almost
immediate and decommissioning means that there are no problems associated with
reallocation. Furthermore the test environment can be shared with the
development teams, which inevitably helps to improve the communication between
testers and developers.
With this configuration,
testing companies can maximize their revenue because their Cost of Testing
decreases proportionally considering that they are no longer obliged to buy
expensive hardware and software, ensure business continuity or manage frozen
hardware and software requirements.
On the other hand, software
vendors now have a bigger range of options as many testing providers have
already moved their services to the Cloud often offering Test Agents and
Controllers ready to run homemade scripts. This still means that software
houses can decide which logic and functionalities to test without having to
worry about infrastructure costs and configuration; this allows them to use
on-demand testing tools that would otherwise be very expensive.
Security Testing executed in the Cloud provides significant benefits, firstly because
many aspects of this type of testing are computing and storage intensive and
secondly because Cloud computing can be considered as the natural environment
where both periodic and occasional activities can be executed. This allows
accurate and actionable results to be obtained whilst paying just for what is
needed for the required time.
Moreover as this is managed
by IT specialists, Cloud usage is usually safer and more efficient when
compared to traditional internally managed test environments.
Compatibility Testing is another type of testing that demonstrates how this
architecture can reduce costs by avoiding the need to buy licences for multiple
operating systems (and different versions of those operating systems).
Cloud based testing can also
help to speed-up the creation of multiple operating system and browser
combinations, even when they are managed using virtualization techniques.
Conclusion
From the software solution
provider’s perspective, independent of whether or not a company has its own Software Quality Control Unit (and / or
test teams), there are clear economic and performance advantages to using
Cloud-based testing.
Testing provider companies
are taking increasing advantage of Cloud usage, especially for those services
that require a big infrastructure in order to perform test activities,
particularly for non-functional testing.
To summarize the major
benefits:
- Cost savings both for software vendors and testing providers
- Easier and faster test environment setup
- Easier, faster and cheaper resizing of the test environment
- Faster test execution which allows more test sessions to be executed
- Increased quality of the results due to the IT specialists managing the Cloud
Nessun commento:
Posta un commento