企业中,数据是实际业务的核心是企业价值的体现.数据的管理也是很是重要的事情.实际数据的版本化管理能够有效的下降版本迭代风险.同时针对测试数据的管理,经过一些初始化数据来快速完成测试,能够有效的提升迭代效率.数据库
实际经过下面方式来进行数据版本管理:缓存
数据库的初始化和全部的迁移都须要脚本化,并提交到版本控制中.同时数据库也应该版本化,能够和对应的应用版本相匹配.性能
增量式修改在多版本环境中是必须的,若是要修改已存在的内容,就要评估下具体影响.持续交付还要求数据库能够自动化数据迁移.实现方式以下:单元测试
实际升级时,经过应用版本就能够知道数据库版本,再找到对应的升级脚本执行便可;降级则执行相反操做的降级脚本便可.测试
若是数据库降级删除数据会触发约束条件,则降级就会变得复杂.
因此数据库增量式修改,能有效的保障升级和降级的正常执行.实现数据库的自动化迁移.设计
数据库管理书籍:
refactoring database
recipes for continuous database integration版本控制
增量式修改,虽然让数据库回滚更简单,可是它还涉及一些数据库难以回滚的状况.这时就要考虑重用原来版本,并进行数据补填.具体方式以下:日志
应用在数据库版本迭代时进行版本兼容处理,来支持持续迭代.对象
测试性能
测试独立性事件
单元测试:
单元测试不与真正的数据库交互,所有经过模拟数据来快速验证业务处理.
管理测试与数据的耦合
测试设计方式有三种:
实际三种方法均可行,可是后两种扩展性比较差.数据问题常常会影响测试.
测试独立性:
每一个测试都是原子性操做: