In addition, the structure of cloud computing itself has spawned a large number of new services that can be used to assist in testing; For example, the resilience of the cloud improves load and performance testing, enabling developers to quickly and economically expand their software. In this article, the authors will introduce the interaction between cloud computing testing and software testing from two perspectives.
By abstracting infrastructure, resource pools, and resilient usage models, cloud computing has a profound impact on the design and development of applications. It is natural to expect that this destructive power will have a significant impact on quality assurance.
Testing is an integral part of software engineering design. Therefore, there is a close relationship between the development and deployment tools and the options available for testing. According to the description in this article, the development environment for each platform is almost unique:
Google App Engine provides a software development kit (SDK), Microsoft® provides a plug-in for Microsoft Visual studio®, while force.com programmers rely heavily on Eclipse and Amazon is largely ignorant of the tools and languages that run on its platform.
However, the Software development Lifecycle (SDLC) for each vendor and service is similar and typically involves the following 4 different stages:
Unit Test. Most projects initially involve a certain amount of independent coding and prototyping, and developers can start the work on their own desktops. Integration testing. To resolve dependencies between modules, it is necessary to integrate the code on a regular basis. Test machine (Staging). As software matures, it is useful to deploy it in a similar production environment and ensure that it meets all requirements. Deployment。 Finally, the application is deployed into a production environment, where the application stays until it is replaced by the next version.
We'll introduce each step.
Unit Test
Programmers can take two different approaches to developing cloud-based applications:
programmers can generate code locally and migrate it to the cloud when the code reaches the lowest level of maturity. Programmers can use the cloud hosting development environment.
Currently, most application developers take the first approach because it allows them to work without any contact and reduces the need for cloud-based resources. However, as cloud-based tools evolve and cost declines, you will certainly see trends towards full cloud development.
During this time, the development environment is typically installed on the programmer's local computer. As a result, most unit tests are an integral part of the integrated development environment (IDE) that is used-a platform-specific element.
Google App Engine
The Google App Engine SDK contains all the features that are required to run your application with limited performance and data volumes locally. To maintain a simplified development environment, Google provides support for the Eclipse for Java™ developers. Eclipse for Java is not synonymous with Python. However, Google has documented how to install and configure the PyDev plug-in to achieve the same results (Figure 1).
Figure 1. PyDev Plug-ins for Eclipse