App Developer: An Automated Testing Platform You've Never Experienced Before



"Testing" should be a familiar word in the mobile Internet industry. At present, almost all developers need to test applications in the process of research and development. There are roughly three types of commonly used usage modes:

complete black box, script-based, and recording-based playback.

But friends who have used it should know that these three types of modes have defects that are difficult to solve. Then, as the author of the development, I also tried and replaced countless test platforms and tools. In the end, my work efficiency or effect improvement is not obvious. , and next, the author will recommend to you an automated testing platform that is being tried recently. At present, the effect is not bad. After the author's research and sorting out, I have sorted out the framework and concept of this platform. I hope you will develop , test friends can have the opportunity to try something.

Logical architecture



Application services:

1. Remote debugging: Provides the remote rental function of mobile phones, realizes remote debugging of App, and improves the efficiency of solving bugs.

2. Use case management: Provides the functions of "managing use cases", "recording scripts", and "importing use cases", where use cases are used as the input for regression testing.

3. Functional test: Provide remote App functional test and record the operation process. Once a bug is detected, you can quickly find the reproduction steps.

4. Regression testing: Select use cases for regression, automatically record the regression process (including screenshots and performance data), and automatically judge the regression results.

5. Mobile phone resource management: Provide various management functions of mobile phone physical status and business status to ensure the normal operation of business.

6. Message queue: Services between different levels communicate through message queues.

Server:

1.rDesktop: realizes the function of remotely controlling the mobile phone from the web side, and displays the content of the mobile phone screen in real time.

2.Recorder: While rDesktop operates the mobile phone screen, it analyzes the user operation and converts it into an automated script.

3.Playback Engine: It is used to interpret the script recorded by the Recorder and play it back on a specific terminal.

Terminal:
1.rDeskAgent: Provides the function of controlling the mobile phone and capturing the video stream of the terminal screen.
2.Connector: Provides basic functions for managing mobile phones (cooperating with O&M platform).
3.TestServer: used to play back test scripts.



Manual operation data flow: user operation => rDesktop => mobile phone
Image video data flow: mobile phone => rDesktop => user interface
Automation control command flow: user operation => Playback Engine => mobile phone
Information collection data flow: mobile phone => application service => User interface
Script recording data flow: user operation => rDesktop => Application service

Use case concept

The use case adopts an intuitive and easy-to-understand "linear" model, and at the same time adds "data-driven", the use case has extensibility, which is convenient for Tester to be flexible Process the script. Such a clever design strikes a balance between complexity and flexibility.

To achieve this flexibility, we divide each TestStep into three parts: screen composition, operation, and results:

Screen composition: It consists of screenshots and Layout. The combination of pictures and Layout determines the composition of the screen to improve the test results. accuracy.

Operation: It consists of "gestures" and "input parameters". Input parameters can be hard-coded or flexibly configured.

Result: The result depends on the checkpoint, the screen composition during "recording" and "playback" determines the execution result of this TestStep.



Summarize

Through the above explanation, I believe that everyone has a general understanding of the Quail platform. In the follow-up articles, we will have a deeper understanding of Quail's role in APP testing through the picture process used by the platform .

This article is original by TestBird, please indicate when reprinting

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326417127&siteId=291194637