Annual release | MeterSphere one-stop open source continuous testing platform released v2.10 LTS version

insert image description here

On May 25, 2023, MeterSphere's one-stop open source continuous testing platform officially released the v2.10 LTS version. This is the third LTS (Long Term Support) version released by the MeterSphere open source project after the release of the v1.20 LTS version in May 2022. The MeterSphere open source project team will provide long-term support for users of MeterSphere v2.10 LTS version, release minor versions every two weeks, continue to update bug fixes and optimize some functions.

The MeterSphere open source project team deeply implements the design concept of "one-stop continuous testing platform". Since the v1.20 LTS version, it has realized one-stop coverage of test tracking, interface testing, UI testing and performance testing. As the vast number of users in the open source community use MeterSphere in depth in different industries and fields, users have raised more expectations for MeterSphere in terms of functional coverage, and put forward higher requirements for MeterSphere in terms of user experience. MeterSphere open source projects are stable in the system. challenges in security, performance and security.

The MeterSphere v2.10 LTS version released this time has carried out key upgrades and optimizations in four aspects: test capability, user experience, system architecture, and system security, bringing users a comprehensively upgraded experience.

1. Test capability upgrade

■ Enhanced one-stop testing capabilities

MeterSphere v2.10 LTS adopts a one-stop platform design for test management and test execution. While delivering functional testing, interface testing, UI testing, and performance testing capabilities, it avoids the need for testers to perform testing tasks due to the variety of tools and types. Unprecipitable and untraceable problems caused by differentiation. The MeterSphere platform fully carries the centralized management of key assets such as different types of test cases, APIs, test data, and test environments.
insert image description here

The functional testing module of MeterSphere supports writing use cases in the brain map mode, users can conduct use case review and use case execution online, defect management is integrated with mainstream project management tools (such as JIRA, TAPD, Zen Road, etc.), and defect data is bidirectionally synchronized. Functional use cases can be associated with their corresponding automation (including interface, UI, performance) use cases, running automation use cases can update the results of functional use cases synchronously, and realize online linkage between functional use cases and automation use cases;

MeterSphere's UI test module supports online editing or Selenium IDE recording to write use cases. Based on the page object model, it provides custom instructions and "building block"-style scene arrangement capabilities, and has strong reusability. Users can execute UI use cases locally or on the server side. Based on the powerful scalability of Grid, UI tests also support multi-node distributed operation;

MeterSphere's interface testing module is fully compatible with data formats such as JMeter, Postman, and Swagger, and supports IDEA plug-ins and MeterSphere Chrome browser plug-ins to directly import API data for management of APIs, interface use cases, and interface scenarios. Interface use cases and interface scenarios can also generate performance test cases with one click, and complete performance tests based on the JMeter test engine;

The test plan module of MeterSphere v2.10 LTS version supports adding functional use cases, interface use cases, UI use cases and performance use cases of different projects (application systems) at the same time. The test plan itself supports multiple execution methods such as manual execution, timing tasks, and Jenkins plug-in triggers, and can generate online summary test reports of various use case types during the execution of the test plan.

Since then, the MeterSphere platform has implemented a test plan covering all test types of application scenarios, further improving the centralized, standardized, and automated execution capabilities and efficiency of test work.

■ Enhanced test management capabilities

In the MeterSphere v2.10 LTS version, the test plan function has been enhanced to cover functional use cases, interface use cases, UI use cases and performance use cases.

Test plan execution supports both serial and parallel modes, and also supports configuration failure retry mechanism. Users can customize the number of retries to improve the success rate of automated test execution and avoid false positives caused by network and environmental factors.
insert image description here

In the MeterSphere v2.10 LTS version, the use case review function is further enhanced to support multi-person review mode. The multi-person review mode requires all reviewers to participate in the review activities. Only when all reviewers pass, the final review status of the use case will be updated to "Passed". The multi-person review mode can promote more standardized and rigorous review activities, and avoid related risks in the review process to the greatest extent.
insert image description here

■ Enhanced interface testing capability

In the MeterSphere v2.10 LTS version, the interface test focuses on solving the problem of "one-click update interface use cases when the API changes".

When API changes are made on the MeterSphere platform, users can customize the synchronization elements to synchronize the changed content to the use case with one click. After the use case is updated, the scenarios that refer to the use case will also be updated synchronously. For API changes caused by data import, the system will display qualified interface use cases in the workbench to-be-updated list according to user-defined data inflow rules. Users can synchronize specified or all information of the API one by one or in batches. It is updated in the interface use case.
insert image description here

■ Enhancement of UI testing capability (X-Pack enhancement package)

In the MeterSphere v2.10 LTS version, the UI test module has been further extended for Selenium native commands to cover special test scenarios. For example, the extended drag command supports moving from one coordinate position to the target coordinate position, adding multiple coordinate positions can cover the drawing scene.
insert image description here

In the MeterSphere v2.10 LTS version, UI testing is officially connected with the project environment, and users can execute the designed automation scripts in different environments to further improve the reusability of UI test cases.
insert image description here

■ Enhanced performance testing capabilities

In the MeterSphere v2.10 LTS release, the computing power of the performance test real-time report has been enhanced. The jtl file generated by the performance test is divided into small segments, and the results are calculated in segments, which saves disk space and IO performance, covers high-intensity and continuous pressure test scenarios, and improves the efficiency of report generation.
insert image description here

2. User Experience Upgrade

■ UX interactive upgrade of test tracking homepage and interface test homepage

In the MeterSphere v2.10 LTS version, an example of the home page of the interface test module is as follows. The UX interaction design of the home page displays core indicators and detailed indicators in layers, visually avoiding visual fatigue caused by too much data.
insert image description here

■ UX interactive upgrade of test tracking module function use cases

In the MeterSphere v2.10 LTS version, the "Functional Use Case" page of the test tracking module has undergone a new interactive upgrade. The entire page adopts a lightweight design for overall noise reduction. The overall experience has been improved.

In the "Functional Use Case" list page of the test tracking module, the functional operation and information display are divided into sections. The use case list information is displayed in the center of the page, and the functional operations are distributed at the top and bottom of the page.
insert image description here

The layout of the "Use Case Details" page has been completely adjusted. The use case details and other related information of the use cases are classified and displayed in multiple tabs. The basic information of the use cases is displayed on the right side of the page, and the overall page is more focused.
insert image description here

In addition, the MeterSphere v2.10 LTS version has also optimized the experience of the following frequently used functions:

■ Test tracking: advanced search supports entering multiple tags for searching;

■ Test tracking: add a second confirmation when deleting a mind map use case;

■ Interface test: Automatically remove spaces when adding request parameters in batches for interface testing;

■ Interface test: support path search;

■ Interface test: The interface test list displays the timing task column;

■ Interface test: fix the position of the execution button of the single interface use case;

■ Interface test: the operating environment list supports fuzzy search;

■ Interface testing: the response content is automatically expanded when stepping through a use case or scenario step;

■ Interface test: interface TEST supports keeping the latest execution record;

■ Performance test: Added chart unit display in the test report;

■ General function: Display optimization when there are too many tags.

3. System architecture upgrade

■ The system architecture is upgraded to a microservice architecture

The MeterSphere v2.10 LTS version adopts a microservice architecture, which can not only meet the needs of users for on-demand configuration and horizontal expansion, but also effectively avoid the phenomenon that a single service failure will cause the overall service to be unavailable.
insert image description here

■ Enhanced platform scalability

As a one-stop continuous testing platform, MeterSphere not only needs to integrate with various peripheral systems, but also needs to support interface testing of various protocols. The flexible plug-in system can well solve the problem of platform scalability. Users can install and develop various forms of plug-ins on demand to cover the testing and docking requirements of different scenarios.

MeterSphere v2.10 LTS supports integration with other tools and systems through plug-ins. MeterSphere's Jenkins plug-in can be well integrated into the enterprise DevOps pipeline to achieve automated deployment and continuous delivery. In terms of improving collaboration efficiency, the IDEA plug-in of MeterSphere can directly synchronize the HTTP interface to the MeterSphere platform for management. In terms of unified project management, MeterSphere supports integration with mainstream project management tools such as JIRA, TAPD, and Zen Road. Users can install required plug-ins to associate test cases with requirements, and realize two-way synchronization of defects.

In addition, MeterSphere also expands some special protocol plug-ins, such as WebSocket, MQTT, gRPC, etc. Users can install the required plug-ins to test the interfaces of these protocols on the MeterSphere platform.

The (partial) list of plugins supported by MeterSphere v2.10 LTS is as follows:

insert image description here

■ Performance optimization

1. UI test batch execution performance optimization

MeterSphere v2.10 LTS redesigns the execution strategy of UI tests, solves the problem of memory leaks caused by the execution of a large number of UI test cases, reduces resource usage, and optimizes the memory allocation of UI services from 2GB to 1GB , to meet a larger batch of testing tasks, and improve the overall execution efficiency and success rate of UI testing.
insert image description here

Note: According to feedback from users who have used the MeterSphere UI test module (using version v2.8.0), under the condition that the overall resource configuration remains unchanged, 160 UI scenarios are executed in parallel, and the original execution time is 120 minutes, and the efficiency is improved to 33 It can be executed in minutes.

2. Test plan execution efficiency optimization

In the MeterSphere v2.10 LTS version, for the frequently used test plan execution function, from generating execution scripts to executing resource queries, to resource allocation strategies, to the final execution results stored in shards, every link is carried out In-depth optimization has improved the efficiency of parallel execution of multiple test plans. In the process of generating test reports in real time, the resource query and statistical algorithms involved in the test plan report are optimized to improve page rendering efficiency and solve a series of problems in the execution of large batches of tests reported by users.

Note: According to feedback from users who have used the MeterSphere test plan function (using version v2.9.1), more than 2,000 automated test cases are executed in parallel through the scheduled tasks of the test plan for regression testing of core scenarios, and all of them can run stably.

3. Interface test execution process attachment loading optimization

The loading mechanism is optimized from real-time fetching to local cache plus file service (MinIO) on-demand.
insert image description here

In addition, the MeterSphere v2.10 LTS version has also optimized the performance of the following common functions:

① Optimize the efficiency of the module tree on the left;

② Time-consuming performance optimization for login system loading;

③ Batch export large data volume use case performance optimization;

④ The performance optimization of test plan batch-associated large data volume use cases.

■ Improved running stability

The scale of users' use of the MeterSphere platform is often beyond our imagination. During the iterative process of MeterSphere v2.10 LTS version, we have encountered many large-scale and high-frequency cases of using MeterSphere to carry out daily testing work, including editing a large number of functional use cases in the brain map mode, large-scale interface testing, UI test execution , high concurrency, high TPS performance testing and many other usage scenarios, these scenarios have brought great challenges to MeterSphere, but after our unremitting optimization, we finally achieved the effect of satisfying users.

The MeterSphere v2.10 LTS version not only includes the stability optimization improvements in all the above real use cases, but also passed our three-month internal testing and grayscale testing by some users.

Service running list:
insert image description here

4. System security upgrade

As an open source enterprise-level software, the security of the product is of paramount importance. The MeterSphere open source project team attaches great importance to product security. Since the release of the project, we have maintained close communication with third-party security testing teams and individuals, and fixed the security issues reported to us as soon as possible. Notify the user for processing.

In the MeterSphere v2.10 LTS release, we focused on dealing with the security risks brought by custom scripts for interface testing. The custom script function is a very common and important function in interface testing. This function greatly improves the flexibility of interface testing and expands the capability boundary of the MeterSphere platform. However, due to such characteristics, the execution of interface test custom scripts may bring some security risks, such as introducing an infinite loop in the script, mishandling important files on the server, and so on. In view of this situation, we have carried out the following processing in the current version to avoid potential security risks.

■ Interface tests disable local execution

In previous versions, the interface test provided two modes of local execution (that is, direct execution in the interface test service) and resource pool execution. The MeterSphere v2.10 LTS version disables the local execution mode of the interface. Like the performance test, when the interface is debugged or run, it will run on the specified resource pool, and the node-controller service on the resource pool node will run in the container mode by default. In this way, even if the above-mentioned improper design of the use case exists, it will only affect the node-controller container on the corresponding resource pool node, the main service of the interface test can still be used normally, and the server where the node-controller is located will not be affected.

Note: When there are multiple test resource pools available, you can select "Project Settings" → "Application Management" → "Interface Test" to configure the default resource pool for interface execution in the menu.
insert image description here

■ Test case script warning notification

In addition to disabling local execution and providing a sandbox execution environment for interface testing, MeterSphere v2.10 LTS also adds an active warning mechanism. When the use case saved or modified by the user contains the content of the script, the specified user audit can be configured. When the system detects the use case containing the script, it will trigger a system message notification, and the designated reviewer will review the script.

In addition to the above security measures for executing custom scripts, we have also fixed the following public vulnerabilities during this period. Users who are still using the affected version should upgrade as soon as possible.

insert image description here

Summarize

In the three years since the creation of the MeterSphere open source project, the MeterSphere open source project team has received more than 7,800 GitHub issues submitted by more than 1,500 community users. The MeterSphere v2.10 LTS version has undergone iterations of 10 functional versions. During this period, 123 users from 19 cities across the country participated in filling out the user questionnaire for feedback. The test teams of 15 companies conducted a test with the MeterSphere product team. A total of 1350 minutes of in-depth communication helped the MeterSphere open source project team to further improve product functions and user experience.

Thank you for your trust and support from community users and corporate customers. The MeterSphere open source project team will stick to its original intention and create a useful tool platform to help test teams of different sizes in enterprises implement the concept of "continuous testing", accelerate high-quality software delivery, and promote the overall efficiency of China's testing industry.

Because of love, happy to grow.

Guess you like

Origin blog.csdn.net/FIT2CLOUD/article/details/130925852