KeyPoint
系统升级或回滚时需要保存并迁移数据
How
- 数据库脚本化,即使用独立脚本来初始化数据库,并数据迁移
- 增量式修改
版本控制,首先在数据库中创建一个版本号,然后每次对数据库修改时创建升级和回滚两个脚本
添加新数据的回滚脚本简单,但是删除的回滚数据就想对复杂,在从朱彪中删除他们之前,让脚本创建一个临时表,把数据复制到其中 - 测试数据管理
为单元测试进行数据库模拟
Mock
Repository模式
三种测试设计(推荐第一种)
测试独立,每个测试的数据只对本测试有效
适应性测试,每次运行先对环境检查,然后使用其中得到的数据作为测试基础
测试顺序,按照顺序执行,下一个测试依赖上一个测试的结果
无论哪种,测试开始时设置起始点,测试结束时回到起始点可以避免测试间依赖
连贯的测试场景会增加维护成本 - 提交测试运行要快,覆盖多的实现细节来减少重构风险,避免数据驱动测试
- 验收测试数据区分以下三类:
测试专属数据:代表测试用例细节
测试引用数据:用于支持测试
应用程序应用数据:与测试无关,可设置为NULL,但本身要求存在