[Open-source] Distributed deployment of full-link automated testing tools, million-level high concurrency, high flexibility stress testing
![[Open-source] Distributed deployment of full-link automated testing tools, million-level high concurrency, high flexibility stress testing](https://yy123.ink/api/img/1782585984435-5b9t5g.jpg)
1. Project Overview
lmc-autotest BSF Full-Link Stress Testing Tool
Based on the BSF basic framework, a full-link stress testing framework is built, from the framework layer, traffic recording or browser custom recording is performed, from the tool layer, traffic playback is performed, and performance stress testing is performed, and automatic stress testing reports are output, and full-link functional verification is performed, thereby improving testing efficiency and guiding website performance optimization. The tool supports distributed deployment, million-level high-concurrency stress testing, and flexible customization; supports call chain transmission, supports stress testing coloring!
2. Open Source License
Licensed under Apache-2.0
3. Screenshots

4. Feature Overview
Full-Link Automated Testing Tool supports distributed deployment, million-level high-concurrency, flexible customization stress testing; can batch import samples, automatically record samples, automatically clean samples, automatically stress test, and automatically output stress testing reports, making development and stress testing personnel performance testing efficiency 10 times higher!
5. Tech Stack
Project Structure
lmc-autotest
-- lmc-autotest-core # Public Code (Core Layer)
-- lmc-autotest-dao # Database Operation (Data Layer)
-- lmc-autotest-service # Public Business Service (Service Layer)
-- lmc-autotest-task # Stress Testing Task Node (Task Layer)
-- lmc-autotest-provider # Stress Testing Management Site (Website and API Layer)
-- doc # Project Materials (Document Materials)
-- README.md # Project Document (Explanation Document)
Project Compilation
# External developers use, note that bsf-core.jar and bsf-autotest.jar packages may appear package reference errors # Please download the corresponding jar package from the gitee release. cd lmc-autotest mvn install
The overall code logic is still very simple, and the idea is easy to understand! Welcome to read the source code and modify it~~~
The following related documents, please refer to the README.md document.
Design Document
- Full-Link Stress Testing Prototype
- Full-Link Stress Testing SQL
- Full-Link Stress Testing Design Diagram
- Stress Testing Report Example Diagram
Installation Document
Recommended: Supports cloud-native Docker deployment (also supports traditional application deployment), k8s deployment can maximize resource utilization, and can release resources to other cloud services to the maximum extent during idle time. Second-level scalable expansion of n stress testing nodes, 2G memory can achieve million-level concurrency stress testing!
- release
- Quick Installation
- Aliyun k8s deployment practice notes
Usage Document
- Custom Scenario Recording Document
- Task Writing Case
- Task Writing Case 2
- Scheduled Task Writing Case
- Sample Import Case
- Public Method Library Case
Development Document
- OPEN API
- Java Complete Version Automatic Recording Sample Traffic SDK Integration
- C# Version Traffic Recording Simple SDK
- Java Version Traffic Recording Simple SDK
Practice Notes
- Beginner's Quick Start Stress Testing
- Beginner's Quick Traffic Replay Stress Testing
- Automated QPS Core and Main Interface Jenkins Trigger Performance Stress Testing
- Automated QPS Core and Main Interface Performance URL Stress Testing
- Automated QPS Different Level Interface Stress Testing
- Automated QPS Different Developer Interface Stress Testing
- Automated QPS Full-Link Interface Stress Testing
- Automated QPS Second-Level Interface Stress Testing
- Automated TPS Second-Level Scene Stress Testing
- k8s Rolling Upgrade Verification
Compatibility
It is recommended to use the Chrome browser
Skill Requirements
Understanding some ES5 JS syntax is enough, no need to be an expert (any front-end developer can write it; back-end developers should be able to grasp the syntax in 5 minutes, of course, it's also easy to learn; test personnel can only look at qualifications and learning ability).
Advanced Chapter
- Currently, file upload type traffic recording is not supported.
- The current traffic recording of microservices supports Feign for trace ID transmission, supports MyBatis for operation or only query two access types identification.
- It is expected to support shadow tables and shadow databases through Sharding-JDBC, and in the future, there will be an extension capability for shadow tables and shadow databases at the JDBC level.