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

自动测试方法、系统、电子设备及存储介质与流程

2022-02-21 08:47:49 来源:中国专利 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.图1为本发明实施例1中自动测试方法的流程图。
37.图2为本发明实施例1中生成第一故障信息的流程图。
38.图3为本发明实施例1中生成第二故障信息的流程图。
39.图4为本发明实施例1中生成第三故障信息的流程图。
40.图5为本发明实施例1中提醒责任用户的流程图。
41.图6为本发明实施例1中步骤1021的具体实现方式的流程图。
42.图7为本发明实施例1中具体场景下的实现方式的流程图1。
43.图8为本发明实施例1中具体场景下的实现方式的流程图2。
44.图9为本发明实施例2中自动测试系统的模块图。
45.图10为本发明实施例3中电子设备的模块图。
具体实施方式
46.下面先对实施例中常出现的术语进行解释,以便于理解:
47.【包括的定义】如这里所使用的术语“具有”、“可以具有”、“包括”或“可以包括”指示本公开的相应功能、操作、元件等的存在,并且不限制其它的一个或多个功能、操作、元件等的存在。此外应当理解到,如这里所使用的术语“包括”或“具有”是指示在说明书中所描述的特点、数字、步骤、操作、元件、部件或其组合的存在,而不排除一个或多个其它特点、数字、步骤、操作、元件、部件或其组合的存在或增加。
48.【和/或的定义】如这里所使用的术语“a或b”、“a和/或b的至少之一”或“a和/或b的一个或多个”包括与其一起列举的单词的任意和所有组合。例如,“a或b”、“a和b的至少之一”或“a或b的至少之一”意味着(1)包括至少一个a,(2)包括至少一个b,或(3)包括至少一个a和至少一个b两者。
49.【第一、第二的定义】本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。例如,可以将第一元件称为第二元件,而没脱离本公开的范围,类似地,可以将第二元件称为第一元件。
50.【电子设备的含义】根据本公开各种实施例的电子设备例如可以包括以下至少之一:智能手机、平板个人计算机(pc)、移动电话、视频电话、电子书阅读器、台式pc、膝上pc、上网本、工作站、服务器、个人数字助手(pda)、便携式多媒体播放器(pmp)、mp3播放器、移动医疗设备、照相机或可穿戴设备(例如,头戴设备(hmd)、电子眼镜、电子衣服、电子手镯、电子项链、电子配件、电子纹身、智能镜子或智能手表)。在其它实施例中,电子设备可以是智能家用电器,例如,电视(tv)、数字视频盘(dvd)播放器、音频组件、电冰箱、空调、吸尘器、烤箱、微波炉、洗碗机、空气净化器、机顶盒、家庭自动控制板、安全控制板、tv盒、游戏台、电子词典、电子钥匙、摄录像机或电子相框。
51.在其它实施例中,电子设备可以包括以下至少之一:医疗设备(例如移动医疗设备(例如,血糖监视设备、心率监视器、血压监视设备或温度计))、磁共振血管造影(mra)机器、磁共振成像(mri)机器、计算机断层摄影(ct)扫描仪或超声器);导航设备;全球定位系统(gps)接收机;事件数据记录器(edr);飞行数据记录器(fdr);车内信息娱乐设备;船用电子设备(例如,船舶导航设备和/或回转罗盘);航空电子设备;安全设备;汽车音响;工业或家庭机器人;金融机构的自动提款机(atm);零售商店的销售点(pos)设备;或物联网设备(例如,灯泡、各种传感器、电表、燃气表、洒水车、火警、恒温器、街灯、烤面包机、运动设备、热水瓶、加热器或热水器等)。
52.在某些实施例中,电子设备可以包括一件家具或建筑/结构、电子板、电子签名接收设备、投影仪以及各种测量仪器(例如,水表、电表、燃气表或波长计)至少之一。
53.根据本公开各种实施例的电子设备也可以包括以上所提及设备的一个或多个的组合。进一步,根据本公开各种实施例的电子设备不限于以上所提及的设备,这对于本领域
技术人员将是显然的。
54.【用户的含义】这里,术语“用户”可以指示使用电子设备的人或使用电子设备的设备(例如,人工智能电子设备)。
55.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
56.实施例1
57.本实施例提供了一种自动测试方法,如图1所示,该自动测试方法包括以下步骤:
58.步骤101、构建故障数据库。
59.其中,故障数据库用于存储目标系统的历史故障信息。具体而言,历史故障信息可以包括故障编号,故障发生的测试阶段、故障对应的测试模块等等,应当理解,历史故障信息的具体内容可以根据实际情况进行配置。
60.步骤102、在对目标系统进行测试的过程中,响应于生成故障信息,若故障数据库中存在有与故障信息相匹配的历史故障信息,则获取历史故障信息的处理状态:若处理状态为已处理,则执行步骤103;若处理状态为未处理,则执行步骤104。
61.其中,相匹配表示故障数据库中存在有与生成的故障信息相同的历史故障信息,在一种具体的实施方式中,这种相同表示故障发生的测试阶段、对应的测试模块等相同,并不要求实际检测出的故障内容相同,具体的故障内容交给外部故障处理系统进行分析。
62.本实施例中,若故障数据库中不存在有与故障信息相匹配的历史故障信息,则直接执行步骤103。
63.步骤103、提交故障信息,并将故障信息存储至故障数据库。
64.其中,将故障信息作为历史故障信息存储至故障数据库,具体的,可以将故障信息提交至外部故障信息处理系统,以便于相关人员对故障信息进行处理。
65.步骤104、发送处理提醒信息。
66.其中,处理信息用于提醒对应的负责用户处理故障信息。
67.本实施例中,通过构建故障数据库,可以存储历史故障信息,在对目标系统进行测试时,如果故障数据库中存在有与检测的故障信息相匹配的历史故障信息,即发现了重复的故障:若该故障没有处理,则不会再次生成故障信息,节约的测试时间,避免系统存储冗余的故障信息,提高系统的资源利用度,并且可以发送处理提醒信息,可以有针对性地提醒相关用户对故障信息进行处理;如果重复的故障之前已经处理了,此次又生成了新的故障信息,则会提交故障信息,便于相关人员集中对故障信息进行处理。通过本实施例的自动测试方法,可以避免相同故障信息重复自动提交,节约测了试时间,提高了测试效率。
68.在一种具体的实施方式中,故障信息包括第一故障信息,如图2所示,生成故障信息的步骤可以包括:
69.步骤1121、获取当前测试阶段的第一预设时间;
70.步骤1122、若当前测试阶段的测试时间大于或等于第一预设时间,则生成第一故障信息。
71.本实施例中,对于每一测试阶段可以预先配置第一预设时间,应当理解,测试阶段不同,第一预设时间可以配置为相同也可以配置为不同,具体可以根据实际情况进行配置。
72.如果当前测试阶段测试时间过长,则认为该阶段发生了故障,生成第一故障信息,
应当理解,在自动化测试过程中,由于测试各个阶段机制不完善,某个测试阶段测试时间过长,导致资源一直被占用,例如pac(包)编译阶段一直处于测试的状态,导致下一阶段无法开始,严重影响测试效率,甚至会导致系统瘫痪。
73.因此,本实施例中可以监控各个测试阶段的测试时间,如果测试时间过长,则生成第一故障信息,通过提交第一故障信息可以通知相关人员来处理,通过这种方式可以提高资源利用率,避免资源被无效占用,提高了测试效率。
74.在一种具体的实施方式中,故障信息可以包括第二故障信息,如图3所示,生成故障信息的步骤可以包括:
75.步骤1221、获取当前测试阶段与下一测试阶段之间第二预设时间;
76.步骤1222、若当前测试阶段执行完毕,超过第二预设时间未开始执行下一测试阶段,则生成第二故障信息。
77.如果当前测试阶段与下一测试阶段的间隔时间过长,则认为发生了故障,生成第二故障信息,应当理解,在自动化测试的过程中,如果测试一直处于等待当中,即当前测试阶段结束后却无法进入下一测试阶段,将导致资源一直被占用,例如pac包编译阶段结束后,设备分配阶段一直处于等待状态,却无法开始执行设备分配阶段,这种情况也会严重影响测试效率,也会导致系统瘫痪。
78.因此,本实施例中可以监控前后两个测试阶段的间隔时间,如果间隔时间过长,则生成第二故障信息,通过提交第二故障信息可以通知相关人员来处理,通过这种方式可以进一步提高资源利用率,避免资源被无效占用,进一步提高了测试效率。
79.在一种具体的实施方式中,如图4所示,生成故障信息的步骤包括:
80.步骤1321、获取当前测试阶段的预设测试标准;
81.步骤1322、若当前测试阶段的测试结果不符合预设测试标准,则生成第三故障信息。
82.应当理解,本实施例可以根据实际情况确定各个测试阶段的测试标准,如,对于pac包编译阶段、设备分配阶段,获取pac链接阶段、拷贝pac、刷机等阶段可以将测试标准设定为对应的阶段是否执行成功;又如,对于用例测试阶段,可以将测试标准定位目标用例是否测试成功,也可以将测试标准定位测试覆盖率是否大于或等于覆盖率阈值。
83.应当理解,上述测试标准的举例不应当成为对本实施例的限制。
84.本实施例中,如果当前测试阶段的测试结果不符合预设测试标准,则生成第三故障信息,通过提起第三故障信息可以提醒相关的负责人进行故障处理。
85.在一种具体的实施方式中,如图5所示,生成故障信息的步骤后还包括:
86.1021、获取当前测试阶段对应的负责用户;
87.1022、发送故障信息至负责用户。
88.其中,可以根据当前测试阶段获取到对应的负责用户,在对目标系统进行测试的过程中,无论是哪种故障,由于涉及到的阶段比较多,发生故障后需要相应的专业查看才能解决问题,而在发现故障时,难以对故障溯源,另一方面,也难以找到对应的专业人员推动问题解决,因此,本实施例中,可以发现不同类型的故障信息,通过前期对各个测试阶段配置负责用户,可以根据测试阶段找到对应的负责用户,通过将故障信息发送至对应的负责用户可以有效推动故障的解决。
89.在一种具体的实施方式中,如图6所示,步骤1021具体包括:
90.10211、监测到当前测试阶段为用例测试阶段;
91.10212、获取与当前测试的用例对应的负责用户;
92.10213、发送故障信息至负责用户。
93.本实施例中,可以根据不同测试用例获取对应的负责用户,在测试用例失败时,将故障信息发送至对应的负责用户,可以便于有关负责用户及时对故障信息进行处理。
94.在一种具体的实施方式中,步骤101之前还可以包括:
95.对每一测试阶段配置对应的目标信息,目标信息包括第一预设时间、第二预设时间、负责用户和/或预设测试标准。
96.本实施例中,可以根据实际需求对各个测试阶段配置目标信息,在测试的过程中,可以根据目标信息来判断各个测试阶段是否完成测试,是否生成故障信息,提高测试的智能性以及效率。
97.为了更好地理解本实施例,下面通过一具体实例来对本实施例的整体流程进行说明:
98.如图7所示,在接收到对目标系统的开始测试的指令后,如果超过预设时间t1还没有进入pac包编译阶段,则生成第二故障信息,并提对应的bug(故障信息)至对应的责任人。如果在t1之内进入pac包编译阶段,并且该阶段的执行时间超过预设时间n1,则生成第一故障信息,并提第二故障信息至对应的a责任人,如果编译时间没有超过t1,编译完成了,并且编译成功了,则等待进入下一测试阶段,但是如果pac包编译失败了,则生成第三故障信息,并提bug至对应的a责任人。
99.pac包编译成果后,如果等待超过预设时间t2还没有进入设备分配阶段,则生成第二故障信息,并提bug至对应的b责任人,如果在预设时间t2之内进入设备分配阶段,但是该阶段的执行时间超过预设时间n2,则会提bug至对应的负责人。如果该阶段的任务,即设备分配任务,执行成功,则等待进入下一测试阶段,但是如果设备分配失败了,则会生成第三故障信息,并且提第三故障信息至对应的责任人。
100.设备分配成功后,如果等待超过预设时间n3还没有进入开始测试任务阶段,则生成第二故障信息,并提bug至对应的c责任人,如果在预设时间n3范围内开始测试任务,在预设时间n4范围内进入获取pac链接成功阶段,如果获取pac链接成功,则进入拷贝pac链接阶段,若果获取pac链接失败,则生成第三故障信息,并且提对应的bug至对应的d责任人。
101.如果拷贝pac链接成功,则进入刷机阶段,若果拷贝pac链接失败,则生成第三故障信息,并且提对应的bug至对应的e责任人。
102.如果刷机成功,则等待进入测试完成阶段,若果刷机失败,则生成第三故障信息,并且提对应的bug至对应的f责任人。如果等待时间超过预设时间t3,则生成第二故障信息,并提对应的bug到g责任人,如果等待时间没有超过预设时间,则判断测试是否符合预设标准,预设标准可以包括不同的测试失败的原因,如用例测试失败,则提对应的用例bug至对应用例的责任人,如测试覆盖率不达标,则提bug至对应的覆盖率不达标的负责人。
103.如图8所示,在上述对目标系统的测试的过程中(可以包括若干次的测试),可以构建本地的故障数据库(即图中的bug收集数据库),将生成的故障信息存储至故障数据库中作为历史故障信息,在测试的过程中,如果生成了新的测试信息,则在bug手机数据库中寻
找是否存在重复的bug,如果不存在,则可以自动将生成的故障信息提交至外部bug系统,并且可以将对应的故障信息存储至故障数据库中。
104.如果存在重复bug,则检测重复的历史bug是否已经解决,如果历史bug已经解决了,则将新生成的bug提交至bug系统,并且保存bug至故障数据库中;如果历史bug未解决,则更新bug系统中重复的bug信息,并提醒相关的责任人来解决该bug。
105.实施例2
106.本实施例提供了一种自动测试系统,如图9所示,自动测试系统包括数据库构建模块201、故障信息匹配模块202、故障信息提交模块203及故障信息提醒模块204。
107.数据库构建模块201用于构建故障数据库,故障数据库用于存储目标系统的历史故障信息;
108.故障信息匹配模块202用于在对目标系统进行测试的过程中,响应于生成故障信息,若故障数据库中存在有与故障信息相匹配的历史故障信息,则获取历史故障信息的处理状态;
109.故障信息提交模块203用于若处理状态为已处理,则提交故障信息,并将故障信息存储至故障数据库;
110.故障信息提醒模块204用于若处理状态为未处理,发送处理提醒信息。
111.应当理解,以上各个模块处理信息的方式均可以参考实施例1中的具体方式,此处便不再赘述。
112.本实施例中,数据库构建模块通过构建故障数据库,可以存储历史故障信息,在对目标系统进行测试时,故障信息匹配模块如果故障数据库中存在有与检测的故障信息相匹配的历史故障信息,即发现了重复的故障:故障信息提交模块若发现该故障没有处理,则不会再次生成故障信息,节约的测试时间,避免系统生成冗余的故障信息,提高系统的资源利用度,并且故障信息提醒模块可以发送处理提醒信息,可以有针对性地提醒相关用户对故障信息进行处理;如果重复的故障之前已经处理了,此次又生成了新的故障信息,则会提交故障信息,便于相关人员集中对故障信息进行处理。通过本实施例的自动测试方法,可以避免相同故障信息重复自动提交,节约测了试时间,提高了测试效率。
113.实施例3
114.本实施例提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例1中自动测试方法。
115.图10示出了本实施例的硬件结构示意图,如图10所示,电子设备9具体包括:
116.至少一个处理器91、至少一个存储器92以及用于连接不同系统组件(包括处理器91和存储器92)的总线93,其中:
117.总线93包括数据总线、地址总线和控制总线。
118.存储器92包括易失性存储器,例如随机存取存储器(ram)921和/或高速缓存存储器922,还可以进一步包括只读存储器(rom)923。
119.存储器92还包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
120.处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1中自动测试方法。
121.电子设备9进一步可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口95进行。并且,电子设备9还可以通过网络适配器96与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器96通过总线93与电子设备9的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备9使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
122.应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
123.实施例4
124.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1中自动测试方法。
125.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
126.在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1中自动测试方法。
127.其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
128.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
再多了解一些

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

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

相关文献