NAC_Blockchain/nac-integration-tests/README.md

180 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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开发团队