【技术实现步骤摘要】
一种代码更新正确性的检测方法、装置及计算设备
本专利技术涉及计算机应用
,特别涉及一种代码更新正确性的检测方法、装置及计算设备。
技术介绍
随着网络技术的快速发展,软件更新迭代的速度也随之变快,当软件更新迭代时对更新代码进行测试,是保障更新迭代后的软件可靠性和稳定性的关键环节。目前多通过回归测试对更新代码进行测试,回归测试是将已抓取的线上/线下流量回放至部署了更新代码和先前代码的运行环境,并以先前代码运行环境得到的HTTP响应报文作为基础,与更新代码运行环境得到的HTTP响应报文进行人工比对得到差异,基于两个HTTP响应报文中的差异判断新代码是否存在问题。目前通过人工比对先前代码运行环境得到的HTTP响应报文和更新代码运行环境得到的HTTP响应报文之间差异的方法包括:人工对本次测试系统中提前预知需要忽略的响应报文的字段进行配置,在对先前代码运行环境得到的HTTP响应报文和新代码运行环境得到的HTTP响应报文进行比对时,忽略已配置的字段对应的差异;或通过人工对需要忽略的HTTP响应报文中部分字段进行正则替换配置,在人工对先前代码运行环境得到的HTTP响应报文和更新代码运行环境得到的HTTP响应报文进行比对时,先将通过正则表达式匹配的差异替换为相同的值后再比对。但是,上述通过人工预先配置比对时需要忽略字段对应差异的方法来判断更新代码的正确性,过程繁琐且十分耗时。为此,需要一种新的代码更新正确性的检测方法来解决上述技术方案中存在的问题。
技术实现思路
为此,本专利技术提供一种代码更 ...
【技术保护点】
1.一种代码更新正确性的检测方法,在计算设备中执行,所述计算设备中部署有运行先前代码和更新代码的运行环境,所述方法包括:/n从部署有先前代码的运行环境获取第一响应报文和第二响应报文,并从部署有更新代码的运行环境获取第三响应报文,所述第一、第二和第三响应报文都包括一个或者多个键-值对;/n将所述第一响应报文与所述第三响应报文作对比,以得到第一差异集;/n确定第一、第二和第三类型差异,所述第一类型差异包括键在第一响应报文中存在而第三响应报文中不存在的键-值对,所述第二类型差异包括键在第一响应报文中不存在而在第三响应报文中存在的键-值对,以及所述第三类型差异包括键在第一和第三响应报文中都存在而对应键值在第一响应报文和第三响应报文中不一致的键-值对;/n当所述第一差异集包括第一类型差异和/或第二类型差异时,确定所述更新代码存在错误;以及/n当所述第一差异集只包括第三类型差异时:/n将所述第一响应报文与所述第二响应报文作对比,以得到第二差异集,从所述第二差异集中获取键在第一和第二响应报文中都存在而对应键值在第一响应报文和第二响应报文中不一致的差异键-值对;/n从所述第三类型差异中去除与所获取的差 ...
【技术特征摘要】
1.一种代码更新正确性的检测方法,在计算设备中执行,所述计算设备中部署有运行先前代码和更新代码的运行环境,所述方法包括:
从部署有先前代码的运行环境获取第一响应报文和第二响应报文,并从部署有更新代码的运行环境获取第三响应报文,所述第一、第二和第三响应报文都包括一个或者多个键-值对;
将所述第一响应报文与所述第三响应报文作对比,以得到第一差异集;
确定第一、第二和第三类型差异,所述第一类型差异包括键在第一响应报文中存在而第三响应报文中不存在的键-值对,所述第二类型差异包括键在第一响应报文中不存在而在第三响应报文中存在的键-值对,以及所述第三类型差异包括键在第一和第三响应报文中都存在而对应键值在第一响应报文和第三响应报文中不一致的键-值对;
当所述第一差异集包括第一类型差异和/或第二类型差异时,确定所述更新代码存在错误;以及
当所述第一差异集只包括第三类型差异时:
将所述第一响应报文与所述第二响应报文作对比,以得到第二差异集,从所述第二差异集中获取键在第一和第二响应报文中都存在而对应键值在第一响应报文和第二响应报文中不一致的差异键-值对;
从所述第三类型差异中去除与所获取的差异键-值对相对应的键-值对;以及
如果去除后的第三类型差异不包括任何键-值对,则所述更新代码不存在错误。
2.如权利要求1所述的方法,其中,所述将所述第一响应报文与所述第三响应报文作对比,以得到第一差异集,包括:
从所述第一响应报文中提取所有节点对应的路径和值,其中,所述节点包括叶子节点;
将每一节点对应的路径作为键、值作为键值组成一个键-值对,得到的一个或多个键-值对作为第一集合;
从所述第三响应报文中提取所有节点对应的路径和值,其中,所述节点包括叶子节点;
将每一节点对应的路径作为键、值作为键值组成一个键-值对,得到的一个或多个键-值对作为第三集合;
将所述第一集合和第三集合作对比,得到所述第一差异集。
3.如权利要求1所述的方法,所述方法还包括:
对所述第一响应报文、所述第二响应报文以及所述第三响应报文中部分键-值对的键值进行排序,得到排序后的所述第一响应报文、所述第二响应报文以及所述第三响应报文;
将排序后的所述第一响应报文与所述第三响应报文作对比,以得到新的第一差异集,所述新的第一差异集中仅包括第三类型差异,所述新的第一差异集中的第三类型差异与所述第一差异集中的第三类型差异不同。
4.如权利要求3所述的方法,其中,所述对所述第一响应报文、所述第二响应报文以及所述第三响应报文中部分键-值对的键值进行排序,包括:
从所述第一响应报文、第二响应报文以及第三响应报文中取出部分键-值对;
将取出的部分键-值对的键值进行排序,得到排序后的部分键-值对;
将所述排序后的部分键-值对放回与所述第一响应报文、第二响应报文以及第三响应报文取出部分键-值对相对应的位置处。
5.如权利要求3或4所述的方法,其中,所述将所述第...
【专利技术属性】
技术研发人员:王虹艺,
申请(专利权)人:北京皮尔布莱尼软件有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。