首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有什么好的策略来测试在版本间自动数据迁移中的差距?

有什么好的策略来测试在版本间自动数据迁移中的差距?
EN

Stack Exchange QA用户
提问于 2021-09-02 10:20:19
回答 1查看 32关注 0票数 2

给定集合人员中的以下示例MongoDB文档,该文档将经历不同的处理步骤:

代码语言:javascript
运行
复制
{
  'status': 'Step 2 is finished'    
  'name': 'Some Name'
  'affiliation': 'Gang of Four'
}

旧的软件版本:文档是在流程步骤1中创建的,没有字段关联。缺少的字段稍后在流程步骤2中添加。

在步骤1之后:

代码语言:javascript
运行
复制
{
  'status': 'Step 1 is finished'
  'name': 'Some Name'
}

在步骤2之后:

代码语言:javascript
运行
复制
{
  'status': 'Step 2 is finished'
  'name': 'Some Name'
  'affiliation': 'Gang of Four'
}

新软件发布:整个文档在步骤1中创建。步骤2依赖于字段关联的存在,如果不存在,则失败。

差距:旧版本和新版本之间文档模式的差异并不表示更改,因此不构建迁移。在部署新版本时,数据库中有由旧的处理步骤1生成的文档,因此缺少关联字段。步骤2在这些文档上失败。现有的自动化测试通过API调用动态地创建测试数据,因此不可能在“旧”数据上运行它们。

到目前为止

我的想法:

  • 泛型测试,它在“步骤1完成”状态中搜索文档并在其上运行“步骤2代码”。考虑到可能的状态和转换的数量更多,必要的测试场景的数量很快就会增加。
  • 将现有的自动化测试建立在静态的、原始的数据库测试数据上,这些数据与版本一起发布。这增加了人工测试数据管理的负担,我想避免这种负担。

有什么好的策略可以在自动化测试中找到这些缺陷,或者提前避免它们呢?

EN

回答 1

Stack Exchange QA用户

发布于 2021-09-03 15:50:20

用自动化测试找出这种差距的好策略是什么?

您可以对JSON字符串从一个系统到另一个系统进行比较,或者在表上执行一个SQL EXCEPT语句(如果您可以访问这些语句)。这会告诉你一张桌子里是什么,而不是另一张。

..。还是提前避开他们?

软件版本化用于指示您是在查看“旧”版本还是“新”版本。API版本化允许您显式地测试“旧”或“新”的。当你测试它的时候,你应该始终知道你在测试哪一个。

票数 1
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/48978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档