估价器测试工具的实现

一、背景

在估价器系统的估价流程中,从输入质检码到获取质检价格,中间涉及到了很多步的映射逻辑,包括:spu映射、外部检测项映射等等,这些映射关系都是在运营手动上传的Excel中配置的。

在对估价器系统进行测试时,对这些映射关系的校验在整个测试工作中占比很大。对于每一条映射关系,如果不能借助测试工具,就要手动筛选Excel映射模板获取结果,再与估价器代码输出的结果进行比对。人工筛选不仅耗时耗力,还有可能眼花手抖导致出错。

因此,我们开发这个工具的目的就是将手动执行的过程转变为自动化方式实现,提高测试效率和准确率。

二、整体流程

第一期工具利用python脚本实现了筛选Excel的过程。主要流程如下图所示:

图片

三、解决方案和实现过程

3.1 python脚本维护问题

问题描述:

python脚本是直接放在java服务中的,修改一次脚本,就需要把整个服务重新上线一次。不仅维护的成本高,而且其他服务无法调用。

解决方案:

Python脚本服务化:我们选择把python脚本封装成一个http接口,java服务通过发送请求来运行脚本。这样脚本迭代不会影响到其他服务,降低维护成本。

Python服务化框架选型:flask;flask的优势是小巧、自由、灵活,一个python脚本就可以实现web项目。

实现过程:

封装接口

(1)flask的使用,举例:

在hello.py文件中写一个最简单的flask应用如下:

运行hello.py,打开浏览器访问http://127.0.0.1:5000/out’,页面上会展示Hello World!

(2)具体设计:

图片

调用接口

通过解析质检报告获取到spu、sku等参数,这些参数就是后续用来筛选映射模板的条件。

把参数存为map的形式后,向python服务发送http请求,来执行映射流程。

(1)具体设计:

图片

3.2 Excel文件调用问题

问题描述:

Excel文件也是放在java服务的resource文件夹下。映射模板会频繁改动,服务也要频繁地重新上线。

同时,java中使用了System.class.getResource的方法获取Excel文件路径,在本地时可以调用成功,部署到服务器上之后,获取的路径就不对了。

解决方案:

我们选择把Excel文件放在服务器上,映射模板有改动的时候,只需要重新上传Excel文件即可。

实现过程:

图片

在测试时,需要手动下载Excel查看筛选结果,一个估价的过程需要查看6个Excel。本期通过前端页面展示,我们在估价器DDD重构的测试项目时,输入品类、估价场景和质检码点击执行,只需3s左右时间,就能完成整个估价流程,最终的质检价格、每个映射关系的筛选条件和筛选结果都一一清晰展现。

估价器测试工具的实现 伤心的辣条 估价器测试工具的实现 微信公众号 估价器测试工具的实现 主要分享测试的学习资源,帮助快速了解测试

来源:软件测试情报局

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月7日
下一篇 2022年5月7日

相关推荐