In recent years a good deal of computing has moved to the cloud. This is a trend which started with storage but has now moved on to running applications from the cloud too. While this model offers many advantages for business it does raise some interesting issues.
What is a cloud application?
It’s sometimes, rather flippantly, said that there’s no such thing as the cloud, you’re just using someone else’s computer – http://pocketnow.com/2015/07/23/no-such-thing-as-the-cloud. What cloud systems have in common is that they use virtualised systems. This means they’re portable and can easily be moved between platforms and can be scaled to meet demand.
This cloud infrastructure can be public, using services like Amazon Web Services or Microsoft Azure, or it can be private, providing a cloud service solely for the use of an organisation. In either case, it’s likely to use an HTML interface to allow it to be easily accessed from anywhere, and APIs to handle the exchange of information both internally and externally.
All of these things present particular challenges for a software testing service such as https://www.bugfinders.com when it comes to ensuring that systems are running smoothly and free of problems.
Testing the cloud
In many ways, the testing of applications or APIs remains the same whether it’s running in the cloud or not. Only the underlying platform has changed. However, there are some issues that are highlighted by running systems in the cloud and these need specific attention when testing.
Prime among them is performance. When using the cloud the underlying hardware may not be under your control and resources like memory and processing power may be shared with other systems. It is, therefore, important to carry out tests on systems as close as possible to the production environment and to run tests to simulate peak loads on the application.
Using shared systems also means paying attention to security. Data needs to be encrypted when it’s stored, so testing has to take account of this, and of access control mechanisms, to ensure that information is only accessible to the right people.
There’s also a need to test links to other systems. These will often be using third-party APIs but it’s important to treat these as if they are part of the system and ensure that they work in the way you need them to.