Another domestic automated testing platform, open source!

"Time is money, and efficiency is life." In today's society, not only is our pace of life getting faster and faster, but so is the pace of software development and launch. In such a fast-paced software development environment, high-quality software testing becomes particularly important.

In order to improve the efficiency and quality of testing, it is imperative to build a powerful automated testing system. There are two main ways for enterprises to introduce automated testing: writing automated testing scripts based on testing frameworks, or building their own testing platforms.

The way of writing automated test scripts based on the test framework can achieve flexible test customization and fine-grained control. This method is suitable for teams familiar with testing frameworks and programming languages, and can be freely expanded and customized according to actual needs.

However, writing and maintaining a large number of test scripts requires a significant investment of time and human resources. In addition, the development of test scripts has high technical requirements for developers and is highly dependent on the team's technology. Analysis and report generation of test results also required additional work.

In contrast, building a testbed can bring a series of advantages. The test platform provides the ability to centrally manage test cases, execute test tasks, track test progress and analyze test results.

The test platform can also provide rich reporting and analysis functions to facilitate the team to view test results and evaluate test coverage. But building a complete test platform requires a lot of manpower and resources, which is a big challenge for some teams.

Today I would like to recommend a GitHub open source project: MeterSphere one-stop open source continuous testing platform.

This was recommended by a small partner in the fan group who was in charge of the company’s internal test platform construction. He told me that their team originally planned to develop a test platform by themselves. After learning about this open source project, they decisively gave up self-development and directly adopted this open source test platform. The process of carrying out the testing work.

GitHub:https://github.com/metersphere/metersphere

After some understanding, I found that among the many testing platforms, MeterSphere does have its own unique features, no wonder it can become the choice of more and more testers.

Open source activity and influence

The MeterSphere project was founded in February 2020. Currently, there are more than 9,000 Stars, more than 2,000 Forks, and more than 8,000 cumulative issues. This should be the test-related open source project with the best data I have seen so far.

Put a comparison chart of GitHub Stars with the well-known open source testing tool JMeter for everyone to feel.

picture

In addition, in the "2023 China Open Source Development Blue Book" led by the China Open Source Promotion Union (COPU) and jointly released by many well-known communities, universities, and experts, the influence of the MeterSphere project is ranked sixth, the top two. Ten of the items are the only test-related items.

picture

Next, I will take you to learn more about MeterSphere, why it is loved by many testers, and can make friends in the fan base give up self-developed test platforms.

One-click installation, out of the box

MeterSphere provides a very complete and simple installation script. For users like me who do not need to modify the installation parameters but just want to experience the platform functions, they can use the one-click installation script to achieve quick installation (network connection required).

The installation includes not only the application of MeterSphere, but also the required database and middleware such as Redis. It does not need to be deployed additionally. This point is highly praised.

For a pure intranet environment, the server cannot be connected to the external network. The MeterSphere project team also provides a complete offline installation package. After downloading, upload it to the server to decompress and execute the installation script, and the installation process can also be completed very quickly.

MeterSphere also supports deployment in the Kubernetes environment through Helm Chart and distributed deployment schemes. From the aspect of deployment, it can be seen that the MeterSphere project team has considered very thoughtfully and meticulously, and basically all kinds of deployment scenarios have been considered.

Beautiful interface, smooth operation

The theme color of MeterSphere uses a relatively rare purple, which gives people a refreshing feeling overall. The menu design of the product is also relatively clear. The function module menu that can be expanded/collapsed is designed on the left side, and the submodule menu under the function module and the entrance of general functions such as message notification, task center and personal settings are on the top.

picture

Comprehensive and powerful

Positioned as a "one-stop continuous testing platform", MeterSphere's functions are indeed comprehensive and powerful.

MeterSphere mainly includes four core function modules of test management, interface test, UI test and performance test, as well as management modules such as project setting and system setting.

Next, I will briefly introduce the main functions of each module and my experience in using them.

picture

test management

The test management module provides the following main functions around test cases and test plans:

Information display on the home page: The home page displays the statistics of the number of use cases of the current project, the number of associated use cases, the distribution of use case maintainers, the statistics of remaining defects, the top 10 failed test cases of the test plan in the past 7 days, test case reviews, scheduled tasks, and other information.

Functional use cases: support online form and brain map to create test cases, associate other types of test cases (such as interface use cases, scenario use cases, performance use cases) when creating use cases, support test case import/export, import/export formats support Excel, XMind, etc. Various file formats.

Use case review: support for creating reviews, associating and disassociated test cases, online review and feedback whether the review is passed and review specific comments and suggestions.

Test plan: support list display, create, edit, delete test plan, associate test cases, online update test results of feedback test cases, including "pass", "fail", "block", "skip", and online automatic real-time Statistics display the test report corresponding to the test plan, export the test report in HTML format and share the report link.

Defect management: Manage all defect information under the project. If the project settings are associated with other bug platforms (such as Jira, TAPD, ZenTao, etc.), the bug will be automatically synchronized to the corresponding platform.

Report: Provide an intuitive and beautiful page to visually display the test plan results, and provide functions such as export reports to facilitate the archiving and sharing of test results, and the report template can be customized and configured.

There are two points that attract me in the MeterSphere test management module. One is the use case editing and management in the mind map mode, and the other is the concept of test plan and the relationship between functional use cases and other automation use cases in the test plan.

interface test

The interface test module consists of four parts: home page, interface definition, interface automation, and test report.

Home page: displays the number of interfaces, number of interface use cases, number of automation scenarios, number of scenario timing tasks, interface coverage, use case coverage and other information of the current project, as well as updated interfaces and running scheduled tasks in the past 7 days, etc., to help users Quickly understand the current project interface testing situation.

Interface definition: It can be used to manage interfaces, interface use cases, and perform testing such as debugging. Among them, the interface definition supports HTTP, TCP, SQL, and Dubbo protocols, and the import supports manual entry, and also supports the import of interfaces in the enterprise's existing interface testing tools, such as MeterSphere format, Postman format, Swagger format, HAR format, JMeter format, etc.

Interface automation: It is used for scene-level automated testing, and can arrange and combine multiple interfaces to realize the test of a scene; it supports free addition of interface requests in the scene, and provides functions such as variable extraction, response assertion, front and rear scripts, and logic controllers.

Test report: Visualize and display interface test results on a beautiful page report, support report sharing and export, and facilitate archiving and retention of test results.

According to the official document of MeterSphere, its interface test uses JMeter as the execution engine. After experiencing it, the main feeling is that MeterSphere combines the advantages of Postman and JMeter in terms of function and experience.

In terms of single-interface management and debugging, MeterSphere is relatively close to Postman. I believe that users who have used Postman will be easy to use. In terms of multi-interface scene arrangement, MeterSphere fully retains the powerful capabilities and flexibility of JMeter, and at the same time further packages many functions to make it easier for users to understand and get started. For example, for the parameter extraction and assertion functions often used in interface testing, MeterSphere provides a recommendation function for the response body in JSON format. You can add the desired assertion with a click of the mouse, and you don't need to write JSONPath expressions yourself.

picture

UI testing

The MeterSphere UI testing module provides the following main functions around the user interface of the application system:

Element library: The platform provides the function of element library. By creating an element library, a single step in the UI automation scenario can be managed in a unified way, so that page elements can be reused in different UI scenarios.

UI automation: supports manual creation of UI automation scenarios and import of side script files recorded by SeleniumIDE tools, supports adding browser operations, pop-up operations, element operations, mouse operations, input operations, process control and other steps, and provides viewing element library, Advanced functions such as pre-operation, post-operation, error handling, etc.

Test report: Provide an intuitive and beautiful page to visually display the results of the UI test. You can view all the steps and failed steps of the scene, as well as the details of the console, and support the preview of UI screenshots when the steps are executed.

On the whole, the MeterSphere UI testing function is relatively easy to use. I have not had much contact with Selenium and browser automation testing before, and I can quickly complete a page automation test scenario by viewing MeterSphere documents and video tutorials.

Performance Testing

The MeterSphere performance testing module can be thought of as an online, Web version of JMeter. Compared with directly using JMeter for performance testing, MeterSphere has made corresponding enhancements in these four aspects:

  • Test script recording and management enhancement: Provide script recording Chrome plug-ins, and store them on one platform.
  • Increased scalability of pressure test scale: Create and install pressure test execution nodes on demand, easily supporting large-scale performance testing.
  • Enhanced test report analysis: Real-time performance test report display, multiple test results can be quickly compared.
  • Enhanced team collaboration: B/S architecture, test cases, scripts and reports can effectively isolate and share collaboration.

Although I haven't used JMeter for performance testing, I can quickly get started with the related functions provided by MeterSphere. The scene debugged in the interface test module can be converted into a performance test at once. I believe that users who have used JMeter before will definitely be able to appreciate the characteristics and advantages of the MeterSphere performance testing module.

write at the end

After a comprehensive experience of the MeterSphere platform, I fully understand why the small partners mentioned above gave up the self-developed test platform and chose to use MeterSphere directly.

On the one hand, MeterSphere, as an out-of-the-box test platform, has enough functions and is powerful enough. I believe that most test teams can meet their needs by directly deploying and using it.

On the other hand, MeterSphere, as a star open source project, has a wide range of user groups, an active communication community, and project team members who continue to invest. Instead of working behind closed doors, it is better to participate in open source projects, which can satisfy oneself and help others.

For users who do not have IT and human resources to privatize deployment and maintain a MeterSphere environment, the official also provides an online SaaS version (https://metersphere.com). After registering an account, there will be 7 days of free trial time. Follow-up The price of the official subscription is also relatively reasonable.

If your team is also developing an automated testing platform, or has related needs for automated testing, MeterSphere is an open source project that I think is worth trying.

Finally, put the open source address of the project, everyone can refer to it for learning.

GitHub:https://github.com/metersphere/metersphere

Finally: The complete software testing video tutorial below has been sorted out and uploaded, and friends who need it can get the software testing interview documents by themselves【保100%免费】
insert image description here

We must study to find a high-paying job. The following interview questions are the latest interview materials from first-tier Internet companies such as Ali, Tencent, and Byte, and some Byte bosses have given authoritative answers. Finish this set The interview materials believe that everyone can find a satisfactory job.
insert image description here

insert image description here

Guess you like

Origin blog.csdn.net/m0_67695717/article/details/132186209