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

应用软件的测试方法及装置、存储介质及电子设备与流程

2023-02-19 11:21:39 来源:中国专利 TAG:


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.上述的装置,可选的,所述执行单元,包括:
30.第一确定子单元,用于确定所述测试脚本在所述应用软件中对应的业务;
31.执行子单元,用于执行所述测试脚本,以完成与所述业务对应的业务逻辑处理,得到所述业务的业务测试数据。
32.上述的装置,可选的,所述调用单元,包括:
33.提取子单元,用于提取所述业务测试数据中的测试特征数据以及提取所述标准数据中的标准特征数据;
34.第二确定子单元,用于基于所述测试特征数据和所述标准特征数据,确定所述业务测试数据和所述标准数据的相似度;
35.获取子单元,用于基于所述相似度得到所述业务的测试结果。
36.上述的装置,可选的,所述获取子单元,包括:
37.判断模块,用于判断所述相似度是否大于或等于预设数值;
38.确定模块,用于若所述相似度大于或等于所述预设数值,则确定所述业务测试正常,并生成表征所述业务测试正常的测试结果;
39.生成模块,用于若所述相似度小于所述预设数值,则确定所述业务测试异常,并生成表征所述业务测试异常的测试结果。
40.上述的装置,可选的,还包括:
41.确定单元,用于对所述测试结果进行解析,确定所述测试结果中是否包含异常标识;
42.生成单元,用于若所述测试结果中包含异常标识,则生成所述业务的异常记录文件,并将所述异常记录文件发送至测试人员;
43.保存单元,用于若所述测试结果中不包含异常标识,则将所述业务的业务测试数
据进行保存。
44.本技术第三方面公开一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上所述的应用软件的测试方法。
45.本技术第四方面公开一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如上所述的应用软件的测试方法。
46.与现有技术相比,本发明具有以下优点:
47.本发明提供一种应用软件的测试方法及装置、存储介质及电子设备,该方法包括:在预设的定时测试任务被触发的情况下,获取与定时测试任务所对应的应用软件的各个测试脚本,对于每个测试脚本,执行测试脚本,以获取应用软件中与测试脚本对应的业务的业务测试数据;对于每个业务测试数据,调用该业务测试数据对应的业务的标准数据,并对业务测试数据和标准数据进行处理,得到业务的测试结果。使用定时测试任务定时对应用软件进行测试,并且在对应用软件进行测试的过程中,通过使用测试脚本对应用软件进行测试,从而得到应用软件的各个业务的测试结果,该过程降低了人工的参与度,有效减少了工作人员的工作量,提升对应用软件测试的效率。
附图说明
48.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
49.图1为本发明实施例提供的一种应用软件的测试方法的方法流程图;
50.图2为本发明实施例提供的一种应用软件的测试方法的又一方法流程图;
51.图3为本发明实施例提供的一种应用软件的测试方法的再一方法流程图;
52.图4为本发明实施例提供的一种应用软件的测试装置的结构示意图;
53.图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
56.本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备
的分布式计算环境等等。
57.本发明实施例提供的方法可应用于计算机终端或是分布式智能设备,该方法的执行主体可为处理器或是服务器,参照图1,为本发明实施例提供的一种应用软件的测试方法的方法流程图,具体说明如下所述:
58.s101、在预设的定时测试任务被触发的情况下,获取与所述定时测试任务所对应的应用软件的各个测试脚本。
59.本发明在对应用软件进行测试之前,工作人员预先在服务器中创建tomcat应用,进而部署测试应用软件所需要的测试环境。其中,tomcat是apache软件基金会(apache software foundation)的jakarta项目中的一个核心项目,由apache、sun和其他一些公司及个人共同开发而成。由于有了sun的参与和支持,最新的servlet和jsp规范总是能在tomcat中得到体现,tomcat5支持最新的servlet 2.4和jsp 2.0规范。因为tomcat技术先进、性能稳定,而且免费,因而深受java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的web应用服务器。
60.在当前时间到达定时测试任务的设定时间时,定时测试任务被触发,此时处理器获取与定时测试任务所对应的应用软件的各个测试脚本。
61.优选的,定时测试任务为使用java语言编写的脚本,使用java定时任务功能设置定时测试任务,具体的,可通过编写starttask类提供定时任务功能,从而定时执行mastertestsuite.java,在执行mastertestsuite.java时,可根据业务和终端调用测试脚本。定时测试任务的时间和周期可以根据实际需求进行设置,具体如每天都定时,或是每两天执行一次。
62.应用软件对应多个测试脚本,不同的测试脚本对应应用软件不同的测试内容,具体如应用软件的不同的频道页面、活动页面或是业务。应用软件在不同的应用场景还对应不同的测试脚本,各个测试脚本覆盖了需要对应用软件进行巡检的各项内容。
63.在获取与定时测试任务所对应的应用软件的各个测试脚本时,确定定时测试任务的应用标识,确定与应用标识对应的应用软件,从而获取与应用软件对应的各个测试脚本,其中应用任务标识可为应用软件的唯一标识。
64.s102、对于每个所述测试脚本,执行所述测试脚本,以获取所述应用软件中与所述测试脚本对应的业务的业务测试数据。
65.参照图2,为本发明实施例提供的方法中获取与测试脚本对应的业务的业务测试数据的方法流程图,具体说明如下所述:
66.s201、确定测试脚本在所述应用软件中对应的业务。
67.获取测试脚本中的脚本测试标识,根据脚本测试标识可确定测试脚本在应用软件中所对应的业务。脚本测试标识可由场景标识和业务标识组成,可根据业务标识确定测试脚本在应用软件中所对应的业务,其中,由场景标识和业务标识组成的脚本测试标识具有唯一性。进一步的,场景标识可用于确定应用软件的应用场景。
68.s202、执行所述测试脚本,以完成与所述业务对应的业务逻辑处理,得到所述业务的业务测试数据。
69.执行测试脚本时,基于测试脚本中的测试数据,完成与业务对应的业务逻辑处理,进而得到业务的业务测试数据,以对应用软件的业务进行检测。优选的,在执行测试脚本
时,可通过预先编写的functiona.java测试执行类执行测试脚本,从而通过selenium appium实现进行业务逻辑处理和图片截取。
70.进一步的,业务测试数据可以为根据测试数据进行与业务对应的业务逻辑处理的过程中的图片数据,该图片数据具体可为对该应用软件的业务进行检测的过程中的测试页面截图。
71.本发明实施例提供的方法中,通过确定与测试脚本对应的业务,执行测试脚本后可得到该业务的业务测试数据,由此可以完成对应用软件的业务的测试,通过执行测试脚本的方式对应用软件进行测试,由此有效减少了工作人员的参与度,有效减少工作人员的工作量。
72.s103、对于每个所述业务测试数据,调用该业务测试数据对应的业务的标准数据,并对所述业务测试数据和所述标准数据进行处理,得到所述业务的测试结果。
73.本发明实施例提供的方法中,在预设的数据目录中调用业务测试数据对应的业务的标准数据,其中,数据目标中包含应用软件的各个业务在执行的过程中没有出现异常的各个标准数据。
74.通过调用预先编写的picturebook.java类,可以在数据目录中得到与业务测试数据对应的业务的标准数据,其中,通过picturebook.java类得到的标准数据为经过封装处理的数据。
75.本发明通过调用预先编写的resultwrite.java类对业务测试数据和标准数据进行处理,从而得到业务的测试结果。参照图3,为本发明实施例提供的一种对业务测试数据和标准数据进行处理,得到业务的测试结果的方法流程图,具体说明如下所述:
76.s301、提取业务测试数据中的测试特征数据以及提取标准数据中的标准特征数据。
77.本发明中所提取的业务测试数据的测试特征数据具体可为测试页面中的像素特征和图片数据特征;所提取的标准数据中的标准特征数据具体可为标准像素特征和标准图片数据特征。
78.s302、基于所述测试特征数据和所述标准特征数据,确定所述业务测试数据和所述标准数据的相似度。
79.对测试特征数据和标准特征数据进行处理,从而得到业务测试数据和标准数据的相似度,其中,在对测试特征数据和标准特征数据进行处理时,可使用预设的神经网络模型进行处理,其中,该神经网络模型为预先训练完成的模型,该神经网络模型可使用神经网络算法进行搭建。
80.将测试特征数据和标准特征数据输入神经网络模型后,神经网络模型对测试特征数据和标准特征数据进行处理,输出业务测试数据和标准数据的相似度,并根据相似度得到业务的测试结果。
81.s303、判断所述相似度是否大于或等于预设数值;若所述相似度大于或等于预设数值,则执行s304;若所述相似度小于所述预设数值,则执行s305。
82.将相似度与预设数值进行对比,以判断相似度是否大于或等于预设数值,其中,预设数值可根据实际需求进行设置。
83.s304、确定所述业务测试正常,并生成表征所述业务测试正常的测试结果。
84.s305、确定所述业务测试异常,并生成表征所述业务测试异常的测试结果。
85.本发明实施例提供的方法中,通过提取业务测试数据中的测试特征数据和标准数据中的标准特征数据,并对测试特征数据和标准特征数据进行处理,从而得到相似度,最后通过相似度确定对业务进行测试的测试结果。由此可以生成对业务进行测试完成后的测试结果,基于业务测试数据和标准数据确定对业务测试的测试结果,可以准确的确定业务在测试的过程中是否出现异常,使得在检测应用软件的过程中人工参与的程度,进而减少工作人员的工作量,提高对应用软件的巡检的效率。
86.进一步的,本发明实施例提供的方法在对应用软件进行测试时,测试的工作方式可为并行的工作方式,与传统的串行的工作方式不同,并行的工作方式可以有效的节省对应用软件的测试时间,提高对应用软件的测试效率。
87.本发明实施例提供的方法中,图3仅为本发明实施例提供的在根据业务测试数据和标准数据确定对业务测试的测试结果的其中一种方法流程,在根据业务测试数据和标准数据确定对业务测试的测试结果的方式,还可以是将业务测试数据和标准数据进行对比,在业务测试数据和标准数据对比一致时,可生成表征业务测试正常的测试结果,在业务测试数据和标准数据对比不一致时,可生成表征业务测试异常的测试结果。
88.本发明实施例提供的方法中,在得到对应用软件中的业务进行测试的测试结果后,对测试结果进行解析,确定所述测试结果中是否包含异常标识;若所述测试结果中包含异常标识,则生成所述业务的异常记录文件,并将所述异常记录文件发送至测试人员;进一步的,在测试结果中包含异常标识时确定对业务的测试出现异常;若所述测试结果中不包含异常标识,则将所述业务的业务测试数据进行保存,进一步的,在测试结果中不包含异常标识时,可确定对业务的测试没有出现异常。
89.本发明实施例提供的方法中,异常记录文件中包含测试业务出现异常的具体原因,具体如该业务对应的界面操作按钮出现异常;通过预设的通讯方式将异常记录文件发送至测试人员,通讯方式具体如邮件或是其他的通讯方式。需要说明的是,在测试结果中包含异常标识时,也将业务测试数据进行保存,以便于测试人员调用该业务测试数据或是根据该业务测试数据进行溯源。
90.本发明实施例提供的方法中,在业务测试出现异常时,将业务的异常记录文件发送至测试人员,以便测试人员进行复检,进而及时解决应用软件中业务的问题,从而避免客户的投诉,为客户提供优质的应用环境。
91.本发明实施例提供的方法中,在预设的定时测试任务被触发的情况下,获取与定时测试任务所对应的应用软件的各个测试脚本,对于每个所述测试脚本,执行所述测试脚本,以获取所述应用软件中与所述测试脚本对应的业务的业务测试数据;对于每个所述业务测试数据,调用该业务测试数据对应的业务的标准数据,并对所述业务测试数据和所述标准数据进行处理,得到所述业务的测试结果。使用定时测试任务定时对应用软件进行测试,并且,在对应用软件进行测试的过程中,通过使用测试脚本对应用软件进行全面的测试,从而得到应用软件的各个业务的测试结果,对应用软件的测试过程降低了人工的参与度,有效减少了工作人员的工作量,达到自动化巡检的目的,简化手工测试工作,提升对应用软件测试的效率。
92.本发明实施例提供的方法中,利用java语言自身的特点,通过整合不同测试框架
可以并发实现对业务逻辑功能的测试,对于每日重复性的巡检工作带来高效率及稳定的测试方法。定时执行自动化测试任务减少了人工参与同时提高人效,避免了人工在每日重复工作带来的视觉疲劳产生的手工误差。在日常工作中由于上线的需求越来越多,巡检工作会对测试人员的时间占用也会越来越多,测试人员每天要对app内已上线项目进行常规巡检投入大量时间,本发明可以减少巡检时间这一问题提高人效,做到每天自动回归,及时发现问题反馈,在每日测试回归后,测试结果入库和发送邮件相关人员,可以留存历史问题,做到问题记录,方便后续跟进;发送邮件可以快速通知相应人员解决问题,本发明实施例提供的方法的维护成本较低,逻辑改动只需要修改测试执行类中的逻辑即可,测试数据则维护配置文件中即可,降低了对应用软件进行测试的维护成本。
93.与本发明实施例提供的图1所示方法相对应的,本发明实施例还提供一种应用软件的测试装置,用于支持图1所示的方法在实际生活中的应用,该装置可应用于各种计算机终端或是分布式智能设备中,该装置的结构示意图具体如图4所示,具体说明如下所述:
94.获取单元401,用于在预设的定时测试任务被触发的情况下,获取与所述定时测试任务所对应的应用软件的各个测试脚本;
95.执行单元402,用于对于每个所述测试脚本,执行所述测试脚本,以获取所述应用软件中与所述测试脚本对应的业务的业务测试数据;
96.调用单元403,用于对于每个所述业务测试数据,调用该业务测试数据对应的业务的标准数据,并对所述业务测试数据和所述标准数据进行处理,得到所述业务的测试结果。
97.本发明实施例提供的装置中,在预设的定时测试任务被触发的情况下,获取与定时测试任务所对应的应用软件的各个测试脚本,对于每个所述测试脚本,执行所述测试脚本,以获取所述应用软件中与所述测试脚本对应的业务的业务测试数据;对于每个所述业务测试数据,调用该业务测试数据对应的业务的标准数据,并对所述业务测试数据和所述标准数据进行处理,得到所述业务的测试结果。使用定时测试任务定时对应用软件进行测试,并且,在对应用软件进行测试的过程中,通过使用测试脚本对应用软件进行全面的测试,从而得到应用软件的各个业务的测试结果,对应用软件的测试过程降低了人工的参与度,有效减少了工作人员的工作量,达到自动化巡检的目的,简化手工测试工作,提升对应用软件测试的效率。
98.本发明实施例提供的装置,所述执行单元401,还可以配置为:
99.第一确定子单元,用于确定所述测试脚本在所述应用软件中对应的业务;
100.执行子单元,用于执行所述测试脚本,以完成与所述业务对应的业务逻辑处理,得到所述业务的业务测试数据。
101.本发明实施例提供的装置,所述调用单元403,还可以配置为:
102.提取子单元,用于提取所述业务测试数据中的测试特征数据以及提取所述标准数据中的标准特征数据;
103.第二确定子单元,用于基于所述测试特征数据和所述标准特征数据,确定所述业务测试数据和所述标准数据的相似度;
104.获取子单元,用于基于所述相似度得到所述业务的测试结果。
105.本发明实施例提供的装置,所述获取子单元,还可以配置为:
106.判断模块,用于判断所述相似度是否大于或等于预设数值;
107.确定模块,用于若所述相似度大于或等于所述预设数值,则确定所述业务测试正常,并生成表征所述业务测试正常的测试结果;
108.生成模块,用于若所述相似度小于所述预设数值,则确定所述业务测试异常,并生成表征所述业务测试异常的测试结果。
109.本发明实施例提供的装置,还可以配置为:
110.确定单元,用于对所述测试结果进行解析,确定所述测试结果中是否包含异常标识;
111.生成单元,用于若所述测试结果中包含异常标识,则生成所述业务的异常记录文件,并将所述异常记录文件发送至测试人员;
112.保存单元,用于若所述测试结果中不包含异常标识,则将所述业务的业务测试数据进行保存。
113.本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行下述操作:
114.在预设的定时测试任务被触发的情况下,获取与所述定时测试任务所对应的应用软件的各个测试脚本;
115.对于每个所述测试脚本,执行所述测试脚本,以获取所述应用软件中与所述测试脚本对应的业务的业务测试数据;
116.对于每个所述业务测试数据,调用该业务测试数据对应的业务的标准数据,并对所述业务测试数据和所述标准数据进行处理,得到所述业务的测试结果。
117.本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
118.在预设的定时测试任务被触发的情况下,获取与所述定时测试任务所对应的应用软件的各个测试脚本;
119.对于每个所述测试脚本,执行所述测试脚本,以获取所述应用软件中与所述测试脚本对应的业务的业务测试数据;
120.对于每个所述业务测试数据,调用该业务测试数据对应的业务的标准数据,并对所述业务测试数据和所述标准数据进行处理,得到所述业务的测试结果。
121.上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
122.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
123.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元
及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
124.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献