一种分布式可视化Dubbo接口测试平台
发布时间:2021-07-17 08:53
随着互联网金融的发展,金融业务变得更加复杂,产品功能迭代更加快速.为了支持业务的发展,金融应用开始进行支持Dubbo协议的开发.现有的接口测试框架和工具在支持Dubbo协议、多人协作及测试用例维护及数据分析上都存在问题:首先,没有很好的工具支持Dubbo协议的测试,已有的Dubbo测试框架无法很好地推广;其次,复杂业务会涉及多个应用,目前的框架很少考虑多系统间的自动化配合;再次,单机版自动化测试工具或纯编码方式的自动化测试框架不利于多人协作编写自动化测试用例及脚本的维护;最后,数据分析一般是查看单个子系统测试用例的执行结果,无法很好地对数据进行全局分析.为了更好地管理大批量用例及支持多子系统版本迭代,在已有老框架基础上,使用分布式技术设计并实现了一个灵活的可视化的Dubbo接口自动化测试平台:基于界面操作,提供基于可视化的数据驱动及关键字驱动方式,支持编写复杂测试用例,并基于接口解析的方式,自动生成测试用例.详细表述了可视化的Dubbo接口测试平台的架构、用例管理及用例执行;展示了新平台与老框架的耗时对比、用例增长对比和新平台日常自动化执行情况.
【文章来源】:华东师范大学学报(自然科学版). 2019,(04)北大核心CSCD
【文章页数】:14 页
【部分图文】:
图1?Dubbo接口测试平台架构??Fig.?1?Architecture?of?the?Dubbo?interface?testing?platform??
第4期??李艳丽,等:一种分布式可视化Dubbo接口测试平台??127??图3?Dubbo接口测试平台技术架构图??Fig.?3?The?technical?architecture?of?the?Dubbo?interface?testing?platform??执行负载均衡模块中的负载均衡策略基于spring?cloud?round?Ribbon^26],自定义了负载均??衡规则?HashRule,此类继承自?AbstractLoadBalancerRule.?RequestContext?类定义了子系统运??行的线程上下文,可以获取当前子系统的标识性信息appld.选取执行work的规则算法伪代码??见算法1.???算法1负载均衡规则算法???输入:负载均衡对象ILoadBalancer?lb??输出:选取的执行server??1??2??3??4??5??6??7??8??9??10??11??12??13??14??15??16??17??18??19??20??21??22??23??24??25??26??27??28??29??hashKey?—从线程上下文中获取子系统对应版本的唯一标志appld??while?true??do?servers.clear();//servers?保存负载均衡需要选取的?work(server)??if?server?=?null?且count++?<?10?then?//try?ten?times??reachableServers?—?lb.getReachableServers()?;//reachableS
更好地设计自动化测试用例,避免漏测.??2.4用例编写示例??编写示例为两个系统之间的测试串联,主要涉及两个子系统A、B和工具类tool-util.如??果A系统需要调用B系统的Dubbo接口?bizOrderAiFacade的方法bizOrder,用于落业务单操作??并使用工具类的方法打印自定义日志,则A系统需要添加B系统和工具类tool-util作为依赖.??由于开发迭代,一个子系统或工具类会对应多个版本,需要选择选择依赖的子系统及对应的版本??进行添加,依赖关系可视化页面展示如图5所示.??板本对比??Esrnm行锻表??璽生成指告??图5依赖系统信息??Fig.?5?Information?on?Dependent?Systems??编写测试用例.测试步骤为落业务单、支付、交易通知.第一步,创建接口步骤,选择接口??方法bizOrderAiFacade的方法bizOrder,并使用变量的形式给参数赋值;第二步,选择A系统的??接口?TransAiFacade中方法payOrder做支付操作;第三步,选择接口?MessageNotifyAiFacade的??方法payNotify做交易通知.在每个步骤编写完之后,可以执行单个步骤或整个测试用例并获取??执行结果.界面展示如图6所示.??Un*a9??3?L1????〇?|2|?[3Q?*??交颶暹*?KOSK?ilCM?fltKS??t?UKMvBbOdM/tfKad*??2?p^Oidw?TimATacadt??3RSB???aum??sn??I?(-utCo*'?loooiooeaoor?,,。?Q|||?rm??ll.dMp.--ctalS
【参考文献】:
期刊论文
[1]金融软件的自动化测试探索与创新之路[J]. 周永红,张彦祥. 中国金融电脑. 2018(01)
[2]大数据时代互联网产品的迭代创新设计方法研究[J]. 席涛,郑贤强. 包装工程. 2016(08)
硕士论文
[1]基于分布式服务框架Dubbo的集群式服务器的研究与实现[D]. 杨超.北京邮电大学 2017
本文编号:3287856
【文章来源】:华东师范大学学报(自然科学版). 2019,(04)北大核心CSCD
【文章页数】:14 页
【部分图文】:
图1?Dubbo接口测试平台架构??Fig.?1?Architecture?of?the?Dubbo?interface?testing?platform??
第4期??李艳丽,等:一种分布式可视化Dubbo接口测试平台??127??图3?Dubbo接口测试平台技术架构图??Fig.?3?The?technical?architecture?of?the?Dubbo?interface?testing?platform??执行负载均衡模块中的负载均衡策略基于spring?cloud?round?Ribbon^26],自定义了负载均??衡规则?HashRule,此类继承自?AbstractLoadBalancerRule.?RequestContext?类定义了子系统运??行的线程上下文,可以获取当前子系统的标识性信息appld.选取执行work的规则算法伪代码??见算法1.???算法1负载均衡规则算法???输入:负载均衡对象ILoadBalancer?lb??输出:选取的执行server??1??2??3??4??5??6??7??8??9??10??11??12??13??14??15??16??17??18??19??20??21??22??23??24??25??26??27??28??29??hashKey?—从线程上下文中获取子系统对应版本的唯一标志appld??while?true??do?servers.clear();//servers?保存负载均衡需要选取的?work(server)??if?server?=?null?且count++?<?10?then?//try?ten?times??reachableServers?—?lb.getReachableServers()?;//reachableS
更好地设计自动化测试用例,避免漏测.??2.4用例编写示例??编写示例为两个系统之间的测试串联,主要涉及两个子系统A、B和工具类tool-util.如??果A系统需要调用B系统的Dubbo接口?bizOrderAiFacade的方法bizOrder,用于落业务单操作??并使用工具类的方法打印自定义日志,则A系统需要添加B系统和工具类tool-util作为依赖.??由于开发迭代,一个子系统或工具类会对应多个版本,需要选择选择依赖的子系统及对应的版本??进行添加,依赖关系可视化页面展示如图5所示.??板本对比??Esrnm行锻表??璽生成指告??图5依赖系统信息??Fig.?5?Information?on?Dependent?Systems??编写测试用例.测试步骤为落业务单、支付、交易通知.第一步,创建接口步骤,选择接口??方法bizOrderAiFacade的方法bizOrder,并使用变量的形式给参数赋值;第二步,选择A系统的??接口?TransAiFacade中方法payOrder做支付操作;第三步,选择接口?MessageNotifyAiFacade的??方法payNotify做交易通知.在每个步骤编写完之后,可以执行单个步骤或整个测试用例并获取??执行结果.界面展示如图6所示.??Un*a9??3?L1????〇?|2|?[3Q?*??交颶暹*?KOSK?ilCM?fltKS??t?UKMvBbOdM/tfKad*??2?p^Oidw?TimATacadt??3RSB???aum??sn??I?(-utCo*'?loooiooeaoor?,,。?Q|||?rm??ll.dMp.--ctalS
【参考文献】:
期刊论文
[1]金融软件的自动化测试探索与创新之路[J]. 周永红,张彦祥. 中国金融电脑. 2018(01)
[2]大数据时代互联网产品的迭代创新设计方法研究[J]. 席涛,郑贤强. 包装工程. 2016(08)
硕士论文
[1]基于分布式服务框架Dubbo的集群式服务器的研究与实现[D]. 杨超.北京邮电大学 2017
本文编号:3287856
本文链接:https://www.wllwen.com/guanlilunwen/bankxd/3287856.html