12.数据管理

KeyPoint
系统升级或回滚时需要保存并迁移数据
How

  1. 数据库脚本化,即使用独立脚本来初始化数据库,并数据迁移
  2. 增量式修改
    版本控制,首先在数据库中创建一个版本号,然后每次对数据库修改时创建升级和回滚两个脚本
    添加新数据的回滚脚本简单,但是删除的回滚数据就想对复杂,在从朱彪中删除他们之前,让脚本创建一个临时表,把数据复制到其中
  3. 测试数据管理
    为单元测试进行数据库模拟
    Mock
    Repository模式
    三种测试设计(推荐第一种)
    测试独立,每个测试的数据只对本测试有效
    适应性测试,每次运行先对环境检查,然后使用其中得到的数据作为测试基础
    测试顺序,按照顺序执行,下一个测试依赖上一个测试的结果
    无论哪种,测试开始时设置起始点,测试结束时回到起始点可以避免测试间依赖
    连贯的测试场景会增加维护成本
  4. 提交测试运行要快,覆盖多的实现细节来减少重构风险,避免数据驱动测试
  5. 验收测试数据区分以下三类:
    测试专属数据:代表测试用例细节
    测试引用数据:用于支持测试
    应用程序应用数据:与测试无关,可设置为NULL,但本身要求存在
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,224评论 22 257
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,232评论 4 61
  • MySQL技术内幕:InnoDB存储引擎(第2版) 姜承尧 第1章 MySQL体系结构和存储引擎 >> 在上述例子...
    沉默剑士阅读 7,460评论 0 16
  • 感恩洗潔精,將油膩的鍋碗幫我洗乾淨; 感恩洗衣機,替我洗乾淨家人一大堆衣物; 感恩爸爸給我開中藥,還幫我取回來; ...
    善心慈阅读 164评论 0 0