180 lines
3.9 KiB
Markdown
180 lines
3.9 KiB
Markdown
# NAC公链集成测试系统
|
||
|
||
NAC (New Asset Chain) 公链的完整集成测试框架,提供全面的测试覆盖,包括单元测试、集成测试、端到端测试和性能测试。
|
||
|
||
## 📋 目录
|
||
|
||
- [概述](#概述)
|
||
- [功能特性](#功能特性)
|
||
- [快速开始](#快速开始)
|
||
- [测试架构](#测试架构)
|
||
- [测试类型](#测试类型)
|
||
- [运行测试](#运行测试)
|
||
- [CI/CD集成](#cicd集成)
|
||
- [性能基准](#性能基准)
|
||
|
||
## 概述
|
||
|
||
本项目是NAC公链的集成测试系统,旨在确保NAC公链各个核心模块的正确性、性能和稳定性。测试系统基于Rust的测试框架构建,支持自动化测试和持续集成。
|
||
|
||
### 核心测试模块
|
||
|
||
- **CBPP共识协议测试** - Constitutional Byzantine Paxos Protocol
|
||
- **NVM虚拟机测试** - NAC Virtual Machine
|
||
- **ACC协议测试** - ACC-20/721/1400等协议
|
||
- **CSNP网络测试** - Constitutional Secure Network Protocol
|
||
- **宪法系统测试** - NAC Constitution System
|
||
- **RWA资产交易测试** - Real World Asset Exchange
|
||
- **跨链桥接测试** - Cross-chain Bridge
|
||
- **合规验证测试** - Compliance & KYC/AML
|
||
|
||
## 功能特性
|
||
|
||
### ✅ 全面的测试覆盖
|
||
|
||
- **单元测试** - 39个单元测试,覆盖所有公共工具模块
|
||
- **集成测试** - 70+个集成测试,覆盖5大核心模块
|
||
- **端到端测试** - 30+个E2E测试,覆盖4大业务流程
|
||
- **性能测试** - 20+个性能测试,包括TPS、并发、压力和稳定性测试
|
||
|
||
### 🚀 高性能测试工具
|
||
|
||
- 支持并发测试,最高支持10,000+并发用户
|
||
- TPS性能测试,目标10,000+ TPS
|
||
- 压力测试,支持100,000+交易
|
||
- 稳定性测试,支持24小时+持续运行
|
||
|
||
### 🔧 灵活的配置
|
||
|
||
- 支持多种测试配置(默认/快速/性能/压力)
|
||
- 可配置的超时时间
|
||
- 可配置的节点数量和网络参数
|
||
- 支持自定义测试数据
|
||
|
||
### 📊 详细的测试报告
|
||
|
||
- JSON格式测试结果
|
||
- HTML格式测试报告
|
||
- 测试覆盖率统计
|
||
- 性能基准报告
|
||
|
||
## 快速开始
|
||
|
||
### 前置要求
|
||
|
||
- Rust 1.75.0+
|
||
- Cargo
|
||
- Git
|
||
|
||
### 安装
|
||
|
||
```bash
|
||
# 克隆仓库
|
||
git clone https://git.newassetchain.io/nacadmin/NAC_Blockchain.git
|
||
cd NAC_Blockchain/nac-integration-tests
|
||
|
||
# 安装依赖
|
||
cargo build
|
||
|
||
# 运行测试
|
||
cargo test
|
||
```
|
||
|
||
### 快速测试
|
||
|
||
```bash
|
||
# 运行单元测试
|
||
cargo test --lib
|
||
|
||
# 运行集成测试
|
||
cargo test --test '*'
|
||
|
||
# 运行特定模块测试
|
||
cargo test --test integration/cbpp_tests
|
||
|
||
# 运行性能测试
|
||
cargo test --test performance/tps_test --release
|
||
```
|
||
|
||
## 测试架构
|
||
|
||
测试系统采用分层架构,包括公共工具层、集成测试层、端到端测试层和性能测试层。详细架构设计请参考 `docs/ARCHITECTURE.md`。
|
||
|
||
## 测试类型
|
||
|
||
### 1. 单元测试
|
||
|
||
测试单个函数和模块的正确性。
|
||
|
||
```bash
|
||
cargo test --lib
|
||
```
|
||
|
||
### 2. 集成测试
|
||
|
||
测试多个模块之间的交互。
|
||
|
||
```bash
|
||
cargo test --test integration/cbpp_tests
|
||
```
|
||
|
||
### 3. 端到端测试
|
||
|
||
测试完整的业务流程。
|
||
|
||
```bash
|
||
cargo test --test e2e/transaction_flow
|
||
```
|
||
|
||
### 4. 性能测试
|
||
|
||
测试系统的性能和稳定性。
|
||
|
||
```bash
|
||
cargo test --test performance/tps_test --release
|
||
```
|
||
|
||
## 运行测试
|
||
|
||
### 使用脚本运行
|
||
|
||
```bash
|
||
# 运行所有测试
|
||
./scripts/run_all_tests.sh
|
||
```
|
||
|
||
### 使用Cargo运行
|
||
|
||
```bash
|
||
# 运行所有测试
|
||
cargo test --all
|
||
|
||
# 运行特定测试
|
||
cargo test test_cbpp_normal_consensus
|
||
|
||
# 运行测试并显示输出
|
||
cargo test -- --nocapture
|
||
```
|
||
|
||
## CI/CD集成
|
||
|
||
CI配置文件位于 `config/ci_config.yml`,支持自动化测试、代码质量检查、测试覆盖率统计等。
|
||
|
||
## 性能基准
|
||
|
||
### 目标指标
|
||
|
||
| 指标 | 目标值 | 说明 |
|
||
|-----|--------|------|
|
||
| TPS | > 10,000 | 峰值交易处理能力 |
|
||
| 区块确认时间 | < 5秒 | 3个区块确认 |
|
||
| 交易延迟 | < 100ms | P95延迟 |
|
||
| 并发用户 | > 10,000 | 同时在线用户 |
|
||
| 稳定运行 | > 24小时 | 无崩溃 |
|
||
|
||
---
|
||
|
||
**版本**: v1.0.0
|
||
**最后更新**: 2026-02-18
|
||
**维护者**: NAC开发团队
|