
Today, most software development work is done on Apple OS or Microsoft Windows-based workstations. However, for the majority of software developed, the actual production environment is something else, such as an *ix-based server or a mobile device. The difference between development and production environments also creates the need to move the testing of the software to the platform corresponding to the production environment.
In practice, this means building a virtual machine environment on an Apple OS or Microsoft Windows workstation to install the operating system and the tools needed to migrate and manage software versions, among other things. If there are several developers and testers of a program, each one will do the same virtual environment build. There is a risk that the virtual environments built will have differences that will affect the test results.
So what is the solution?
Cloud computing enables cost-effective use of virtual environments. By using them, a single virtual environment can be used to launch multiple parallel and coherent environments, reducing testing time.
When the production environment is cloud-based, there are also advantages in the release of version updates. A new release can be tested in an identical but separate environment to the production environment. Once a tested release has passed the criteria for a production version, it can be released by changing the test environment to a release environment and replacing its data stores during testing with those of the production environment.
Testing in a virtual environment is also possible when the production environment is a dedicated data centre. Savings can be made by not having to include the cost of the test equipment in the cost of purchasing and maintaining the data centre.
How to choose a cloud provider?
Building a virtual environment is fairly similar across different cloud platforms, so initial trials and further research can start with any of the solutions on the market.
The two best-known cloud providers today are the international giants Amazon Web Services (AWS) and Microsoft Azure. Of course, there are other options, both domestic and foreign. It is often necessary to ensure that the service to be used is located in the EU, so when ordering a service, care must be taken to ensure that the contract specifies the location of the server.
The initial cost of using cloud services is often low. Therefore, training and learning to use it can be considered almost free. If a tested solution is not suitable for wider use, only a small investment is lost. Of course, the effort spent on research and experimentation may weigh heavily on the scales, but even then, the good learning and experience gained from the work should be valued.
Anssi Järvenpää
The author is a testing specialist at Nextcon. Anss has decades of experience in IT and testing.