一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种SOA服务自动化测试方法与流程

2022-07-16 23:54:19 来源:中国专利 TAG:

一种soa服务自动化测试方法
技术领域
1.本发明涉及软件测试技术领域,更具体地说,涉及一种soa服务自动化测试方法。


背景技术:

2.随着汽车智能化、网联化、电动化和共享化的发展趋势,用户对车辆功能的需求正在往“个性化”发展,提升用户体验,满足快速的功能更新和升级成为各大汽车产商的发展目标。随着智能汽车中软件重要性的提升,soa理念逐渐引入了汽车领域,汽车上的soa,就是将汽车各子系统中最小功能的逻辑单位抽离出来,封装成服务,组成一种粗粒度小,松耦合的服务架构。通过标准化的接口,soa可以调用整车各域的传感器、执行器的硬件能力,为软件的开发提供更多的可能。目前soa还没有普及,大部分车厂都处于摸索阶段,本发明提出一种soa服务自动化测试方法以对soa所提供的各项服务进行测。


技术实现要素:

3.本发明要解决的技术问题在于,针对上述技术方案存在的不足,提供一种soa服务自动化测试方法通过采用自动化测试工具,在减少了大量重复性工作的人力投入的同时,保证了测试结果的正确性。
4.本发明提供一种soa服务自动化测试方法,所述测试方法包括以下步骤:s1,web端获取所有的测试用例,并将当前的所述测试用例上传至linuxpc服务端并发送更新测试用例请求;s2,所述linuxpc服务端接收到所述更新测试用例请求后启动robot framework,所述robot framework启动python客户端后所述linuxpc服务端将更新测试用例请求与当前的所述测试用例转发至所述python客户端;s3,所述python客户端将当前的所述测试用例发送给linuxpc服务端;所述linuxpc服务端将当前的所述测试用例进行处理后以someip消息形式发送到待测件并等待所述待测件回复,所述待测件接收到someip消息后对所述linuxpc服务端进行应答;s4,所述linuxpc服务端将待测件的返回应答结果发送到canoe端,所述canoe端将收到的应答结果进行处理后将得到的结果发送到诊断客户端;s5,所述诊断客户端将接收到的结果进行验证后将验证结果消息发送至所述linuxpc服务端;s6,所述linuxpc服务端将验证结果消息转发到所述python客户端;所述python客户端接收到验证结果消息进行处理后将测试结果发送给所述linuxpc服务端;所述linuxpc服务端将测试结果发送给所述web端;所述web端接收到测试结果后在web端上同步进行更新显示后开始下一条测试。
5.在本发明所述的soa服务自动化测试方法中,在所述步骤s1中,所述更新测试用例请求包括开始测试消息,当所述web端点击开始测试后,所述web端发送开始测试消息给所述linuxpc服务端。
6.在本发明所述的soa服务自动化测试方法中,所述linuxpc服务端接收到所述web端发送的开始测试消息后,将开始测试消息转发给所述python客户端,所述python客户端收到开始测试消息后对开始测试消息进行应答;所述linuxpc服务端将所述python客户端发送的应答消息转发至所述web端。
7.在本发明所述的soa服务自动化测试方法中,当所述python客户端开始发送测试事件推送开始测试消息时所述linuxpc服务端先对开始测试消息进行应答并发送someip消息进行测试,所述python客户端对各测试结果进行收集。
8.在本发明所述的soa服务自动化测试方法中,在所述步骤s1中所述更新测试用例请求还包括测试进度同步请求,所述web端定时发送测试进度同步请求给所述linuxpc服务端,所述linuxpc服务端将所述测试进度同步请求转发给所述python客户端。
9.在本发明所述的soa服务自动化测试方法中,当所述python客户端接收到所述linuxpc服务端转发的测试进度同步请求后所述python客户端将当前的测试用例测试成功数量、失败数量、剩余数量与剩余时间信息发送给所述linuxpc服务端进行应答。
10.在本发明所述的soa服务自动化测试方法中,在所述步骤s3中当所述linuxpc服务端将所述测试用例测试结束后的测试结果发送给所述python客户端,所述python客户端通知所述robot framework结束当前的测试用例测试并进行下一条测试用例测试。
11.在本发明所述的soa服务自动化测试方法中,当所述测试用例全部执行完成后,所述robot framework生成所有测试用例测试报告,其中所述测试用例测试报告包括测试过程日志记录。
12.在本发明所述的soa服务自动化测试方法中,当要导出所述测试报告,通过在所述web端点击导出测试报告按钮,同时在弹出对话框里输入导出的日志路径,所述web端将日志路径发送给所述linuxpc服务端,所述linuxpc服务端将所述测试报告导出到指定路径,否则所述测试报告保存在默认路径。
13.在本发明所述的soa服务自动化测试方法中,所述步骤s5中所述诊断客户端将接收到的验证结果进行处理具体为:所述诊断客户端将接收到结果时通过与期望值进行比较,如果结果与期望值一致,则判定当前测试项测试结果为成功;如果结果与期望值不一致,则判定当前测试项测试结果为失败,并将验证结果发送给所述linuxpc服务端;所述步骤s6中所述python客户端接收到的验证结果消息进行处理具体为:所述测试用例包括正常测试用例与异常测试用例,当测试用例为正常测试用例时,所述python客户端将接收到的验证结果消息传递给所述robot framework,若robot framework将接收到的结果与期望值进行比较,若结果与期望值一致,则判定当前测试项测试结果为成功;当测试用例为异常测试用例时,python客户端将接收到的验证结果消息传递给robot framework,若robot framework将接收到的结果与期望值进行比较,若结果与期望值不一致,则判定当前测试项测试结果为失败;并将测试结果发送至所述python客户端,所述python客户端将测试结果发送给所述linuxpc服务端。
14.本发明的soa服务自动化测试方法通过web端导入测试用例和配置文件,控制测试流程,并实时显示各客户端状态和测试用例状态;通过linuxpc服务端进行数据转发和someip通信;通过robot framework进行测试用例的自动化测试。robot framework不仅解
决了soa服务项的测试问题,同时也减少了大量重复性工作的人力投入,从而保证了测试结果的正确性和便捷性。
附图说明
15.图1是本发明一种soa服务自动化测试方法的流程示意图;图2是本发明一种soa服务测试方法的框架图。
具体实施方式
16.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
17.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
18.如图1-2所示,提供一种soa服务自动化测试方法,包括以下步骤:在步骤s1中,web端获取所有的测试用例,并将当前的测试用例上传至linuxpc服务端并发送更新测试用例请求;在步骤s2中,linuxpc服务端接收到更新测试用例请求后启动robot framework,robot framework启动python客户端后linuxpc服务端将更新测试用例请求与当前的测试用例转发至python客户端;在步骤s3中,python客户端将当前的测试用例发送给linuxpc服务端;linuxpc服务端将当前的测试用例进行处理后以someip消息形式发送到待测件并等待待测件回复,待测件接收到someip消息后对linuxpc服务端进行应答;在步骤s4中,linuxpc服务端将待测件的返回应答结果发送到canoe端,canoe端将收到的应答结果进行处理后将得到的结果发送到诊断客户端;在步骤s5中,诊断客户端将接收到的结果进行验证后将验证结果消息发送至linuxpc服务端;在步骤s6中,linuxpc服务端将验证结果消息转发到python客户端;python客户端接收到验证结果消息进行处理后将测试结果发送给linuxpc服务端;linuxpc服务端将测试结果发送给web端;web端接收到测试结果后在web端上同步进行更新显示后开始下一条测试。
19.在一实施例中,在步骤s1中,更新测试用例请求包括开始测试消息,当web端点击开始测试后,web端发送开始测试消息给linuxpc服务端。
20.在一实施例中,linuxpc服务端接收到web端发送的开始测试消息后,将开始测试消息转发给python客户端,python客户端收到开始测试消息后并对开始测试消息进行应
答;linuxpc服务端将python客户端发送的应答消息后转发至web端。
21.在一实施例中,当python客户端开始发送测试事件推送开始测试消息时linuxpc服务端先对开始测试消息进行应答并发送someip消息进行测试,python客户端对各测试结果进行收集。
22.在一实施例中,在步骤s1中更新测试用例请求还包括测试进度同步请求,web端定时发送测试进度同步请求给linuxpc服务端,linuxpc服务端将测试进度同步请求转发给python客户端。
23.在一实施例中,当python客户端接收到linuxpc服务端转发的测试进度同步请求后python客户端将当前的测试用例测试成功数量、失败数量、剩余数量与剩余时间信息发送给linuxpc服务端进行应答。
24.在一实施例中,在步骤s3中当linuxpc服务端将测试用例测试结束后的测试结果发送给python客户端,python客户端通知robot framework结束当前的测试用例测试并进行下一条测试用例测试。
25.在一实施例中,当测试用例全部执行完成后,robot framework生成所有测试用例测试报告,其中测试用例测试报告包括测试过程日志记录。
26.在一实施例中,当要导出测试报告,通过在web端点击导出测试报告按钮同时在弹出对话框里输入导出的日志路径,web端将日志路径发送给linuxpc服务端,linuxpc服务端将测试报告导出到指定路径,否则测试报告保存在默认路径。
27.在一实施例中,步骤s5中诊断客户端将接收到的验证结果进行处理具体为:诊断客户端将接收到结果时通过与期望值进行比较,如果结果与期望值一致,则判定当前测试项测试结果为成功;如果结果与期望值不一致,则判定当前测试项测试结果为失败,并将验证结果发送给linuxpc服务端;步骤s6中python客户端接收到的验证结果消息进行处理具体为:测试用例包括正常测试用例与异常测试用例,当测试用例为正常测试用例时,python客户端将接收到的验证结果消息传递给robot framework,若robot framework将接收到的结果与期望值进行比较,若结果与期望值一致,则判定当前测试项测试结果为成功;当测试用例为异常测试用例时,python客户端将接收到的验证结果消息传递给robot framework,若robot framework将接收到的结果与期望值进行比较,若结果与期望值不一致,则判定当前测试项测试结果为失败;并将测试结果发送至python客户端,python客户端将测试结果发送给linuxpc服务端。
28.使用时测试人员可以登陆web端的页面进行测试,在web端上更新测试用例和配置文件后,点击提交按钮,web端将当前的测试用例文件和配置文件发送给linuxpc服务端,linuxpc服务端启动robot framework等待开始测试,在web端点击开始测试按钮,此时测试用例按顺序开始进行测试。在测试过程中如果需要暂停测试,点击暂停按钮后待当前正在测试用例执行完成后,测试暂停;点击开始测试按钮,测试继续进行。点击停止按钮后将立即停止测试,linuxpc服务端与python客户端均恢复初始状态。此时点击开始测试按钮,将测试用例从第一个重新开始执行。web端将实时显示测试用例总数量、测试用例已完成数量、未完成数量、成功数量、失败数量、已运行时间、剩余预计时间和已测试完成各项用例结果展示;待测试用例全部完成测试后将测试报告和日志记录按测试人员需求保存在测试人
员指定路径或程序所在目录下日志文件夹内。其中日志记录主要是记录了robot framework在执行任务过程中发生的所有事件,类似于系统日志文件,用于后期维护或是排查问题等。
29.robot framework运行在linuxpc服务端上,其中待测件通过以太网连接线、以太网转rj45转换器或网线连接服务器后,将待测件上电后,待测件和linuxpc服务端开始进行通信,发送someip数据进行测试。当linuxpc服务端接收到web端发送开始测试消息,linuxpc服务端将消息转发给python客户端,在接收到python客户端发送测试用例信息后开始发送someip消息到待测件,接收到返回结果后将结果返回给python客户端。如果在指定时间内未接收到待测件返回结果,将直接返回给python客户端失败结果。待测试用例全部完成测试后接收到python客户端发送测试报告路径和日志记录路径返回给web端。
30.例如,web端发送的更新测试用例请求是请求开启空调,若linuxpc服务端的远程控制功能正常,则linuxpc服务端向待测件发送开启空调的指令,robot framework可以判断linuxpc服务端提供的反馈数据中表示空调状态的车况参数的数值是否为表示空调开启的数值,若是则反馈数据通过验证,当前测试用例测试成功,若否则反馈数据未通过验证,当前测试用例测试失败。
31.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
32.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如 rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
33.因此,以上所述,仅为本发明较佳的具体实施方式,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献