# 测试数据构造背景  

为了快速完成所有功能的覆盖测试，对测试数据和测试步骤进行标准化整理，以便提升测试效率

从测试案例完整性考虑，需尽可能多的覆盖表、字段、索引类型  
从测试连续性和性能考虑，测试数据要支持重复执行  

# 测试数据的使用手册  
目前共准备了如下几类测试数据  

* QA团队的coms库  
* ts团队的tsdb1库  
* 北银金融的findpt库  
* 云团队的aurora库  

## 各测试数据特点  
coms库：共2.9W张表，数据类型全覆盖，数据种类全覆盖  
tsdb1库：共4.4K张表，覆盖银行系统常用数据类型  
findpt库：共12张表，有配套java程序模拟银行转账业务  
aurora库：共3张表，宽表，数据简单，云数据库数据类型覆盖  


测试功能：coms,tsdb1,aurora  
测试性能：findpt  
测试连续性：findpt  
测试事务：findpt  
测试银行业务：findpt,tsdb1  

## 测试步骤  

### 创建数据库对象  
参考各自数据库的deploy.txt  

### 数据增删改测试  
有以下两种方式
* 执行全库导出的mysqldump文本文件，直接写入TiDB数据库的复制源表
* 先把全库数据导入TiDB中的中间库xxx_tmp，然后指定表范围测试，执行insert_select_rows.py脚本完成数据写入

### Drainer复制的连续性和稳定性测试  
推荐使用北银库的应用压测程序，参考findpt目录文档说明

### 测试验证
有以下两种方式
* 执行select_ora_rowcount.py脚本，仅统计count总数
* 使用o2t-sync-diff工具，执行明细数据比较


