Previously, the group planned to use monkey to test, but through our testing team's study, found a more suitable test method for this project-cloud testing.
Cloud testing is a new kind of test scheme based on cloud computing. The service provider offers a variety of platforms, multiple browser platforms. There are four aspects of automated testing currently open: Deep compatibility testing, vulnerability scanning, functional replay testing, and deep traversal testing. We also used the real-machine tests provided by cloud testing.
Among them, we mainly use the deep compatibility test, security vulnerability scanning function.
As we can see, the cloud test we used in the deep compatibility test is also the Monkey Test tool, but the benefit is the integration of functions and the comprehensiveness of the data.
The reason we use cloud testing is because it has the following characteristics:
- Immediate availability
Cloud testing provides a complete set of test environments that allow testers to log in to the test environment using virtual desktops and so on, to immediately expand the test. This shifts the cost of hardware and software installation, environment configuration, and environmental maintenance to the cloud test provider (the public cloud operator or the private Cloud maintenance team). With today's virtualization technology, after testers specify hardware configurations, software stacks (operating systems, middleware, tool software), and network topologies, it takes only a few hours to create a new set of test environments. If a tester can accept a standard test environment that has been created, he can log in immediately.
2. Completeness of Assembly
Cloud testing not only provides a complete test environment, but also provides many additional services. For a test machine, it can provide a restore point so that the tester resets the virtual machine to the specified state. For test execution, it monitors the movements of the program being tested, such as registry access, hard disk file read and write, network access, System log writes, system resource utilization, memory image serialization, screen recording, and so on. This information is presented with test cases to help testers identify problems and locate errors. For large-scale testing, cloud testing can provide multiple test clients who download test cases from the host computer, execute and report test results, and report the results back to testers. In fact, these features have been implemented by a variety of tools, the task of the cloud test platform is to integrate them, to provide a unified, complete functionality. In this way, testers can devote their energies to the most exclusive test areas, rather than wrestle with various tools.
3. Expert Services
The most advanced testing services are services that provide expertise. This knowledge can be provided in the form of test cases, test data, automated testing services, and so on. For example, many applications need to read files, and cloud tests can provide fuzzy tests for file reads. The tester submits the tested application to the cloud, and the cloud deploys it to multiple test machines. On each test, the application reads a large amount of files, each of which is a specially constructed attack file. Once the stack overflow, heap overflow, and other issues are discovered, save the application's memory image immediately. After a while, the tester will get the test results returned by the cloud test: A detailed analysis report and a large heap of memory image files.
4. Cost savings
Each enterprise is pursuing the lowest cost and maximizing profit. Software testing as part of the development and production process also has the cost reduction requirements, even with the fewest machines to purchase the least test software to complete the software testing work. Cloud testing enables huge savings without the need to buy or prepare many personal computers, purchase and install a variety of test software, and no longer need to deploy complex networks. Simply list the test purpose, environment requirements, number of virtual machines, when to rent intermittently, and pay on demand. For example, to purchase a set of automated test software to spend at least 8000 yuan, the test only need to use 2 months, but if the 800 yuan/month to rent the software cloud test platform, only pay 1600 yuan. At the same time, with the development of enterprise software version and technology, the dependent test software or environment also needs upgrading, and will incur the cost of upgrade and maintenance. In the cloud test environment, these factors are not required to be considered by the enterprise, the provider of cloud testing services to complete.
5. Increase efficiency
Cloud testing in this way, greatly reducing the test environment setup time, such as machine and network preparation, operating system installation, a variety of test tools, software installation, etc. will be saved, just in advance to the required configuration environment Cloud testing service provider, to the time directly to use. Because it is based on the application of the network, when the test encountered software use of the best problem, you can also get the cloud testing Service provider remote rapid support, and rarely stagnation or even stop testing phenomenon.
After discussion, we finally choose the cloud testing tool for Baidu mobile testing.
Small semester Software engineering team Project Progress 5