1.本发明涉及计算机技术领域,尤其涉及一种软件测试方法、装置和设备。
背景技术:
2.当前智能移动设备、智能穿戴设备蓬勃发展,新机型、新软件不断涌现,每次软件或固件开发完成后,需要经过严谨的测试流程才能在应用市场上公布。
3.开发人员开发新的软件或固件后需要对整个软件、不同的系统固件等进行全方位测试,因此,需要测试人员需要针对不同系统,找到对应的软件开发人员进行安装软件后再执行软件测试,不同的固件系统上装置相同的软件可能也有不同的测试结果,当软件增多,固件增多的时候,软件管理及测试尤为复杂及困难,现有的测试方式,软件侧测试方法自动化程度低,难以应对这种复杂的软件迭代速度。
技术实现要素:
4.为解决上述技术问题,本发明实施例提供一种软件测试方法、装置和设备,能够自动化完成软件测试,提高测试效率。
5.本发明一实施例提供一种软件测试方法,所述方法包括:
6.接收上传的软件代码,并对所述软件代码进行分布式管理;
7.对所述软件代码进行打包构建,生成对应的待测试软件;
8.将所述待测试软件存储到指定的软件仓库;
9.识别连接的至少一个设备的参数数据,将所述待测试软件安装到连接的选定设备中;
10.根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果。
11.优选地,所述参数数据包括:连接的每一设备的设备型号、连接的设备数量;
12.所述待测试软件为可执行软件或可执行固件;
13.所述根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果,具体包括:
14.判断所述参数数据中的任一设备型号的设备数量n与该设备型号预设的测试设备总台数m的大小;
15.当所述设备数量n不小于所述测试设备总台数m时,将连接的设备数量n的设备中随机选择的m台设备确定为测试设备;
16.当所述设备数量n小于所述测试设备总台数m时,将连接的设备确定为测试设备,并发送消息提醒测试人员增加m-n台对应设备型号的设备作为测试对象;
17.对确定的测试设备中的每一设备进行所述待测试软件的测试,生成各个设备的测试结果。
18.进一步地,所述待测试软件的测试类型包括:功能测试、局部软件测试、全局软件测试和系统测试;
19.所述功能测试为对所述待测试软件的功能对不同型号的设备进行的测试;
20.所述局部软件测试为对所述待测试软件以及与所述待测试软件存在耦合关系的软件的所有功能进行的测试;
21.所述全局软件测试为对安装所述待测试软件的设备上安装的所有软件进行的全局整体联合测试;
22.所述系统测试为对安装所述待测试软件的设备上的所有软件进行的统一测试。
23.进一步地,所述对确定的测试设备中的每一设备进行所述待测试软件的测试,生成各个设备的测试结果,具体包括:
24.根据所述测试设备中每一设备的设备型号和待测试软件的类型,确定每一设备上的所述待测试软件的测试类型;
25.根据每一设备需要进行的测试类型,对每一设备进行相应测试类型的测试,并记录每一测试类型的测试结果,每一测试类型的测试结果包括:测试通过、测试不通过和测试结果待定。
26.优选地,所述待测试软件的测试类型包括灰度测试和全量测试;
27.所述灰度测试为将所述待测试软件发送到与测试设备相同设备型号的内测设备中进行的测试;
28.所述全量测试为将所述待测试软件推送给与测试设备相同设备型号的设备中进行的测试。
29.优选地,所述接收上传的软件代码,并对所述软件代码进行分布式管理,具体包括:
30.接收上传的软件代码,并通过代码管理工具对代码进行分布式管理,将所述软件代码上传至指定的代码仓库;其中,所述代码管理工具包括git代码管理工具和/或svn代码管理工具;
31.所述对所述软件代码进行打包构建,生成对应的待测试软件,具体包括:
32.采用代码构建工具,对所述软件代码进行打包构建,从而生成对应的待测试软件,所述代码构建工具包括jenkins构建工具;
33.所述将所述待测试软件存储到指定的软件仓库,具体包括:
34.根据所述待测试软件的版本、软件名称以及所述待测试软件的目标设备的设备型号进行分层存储。
35.优选地,所述方法还包括:
36.将所述待测试软件的测试相关信息反馈给具备查看权限的终端,其中,测试相关信息包括所述待测试软件在不同设备的测试结果、测试时长及所述待测试软件的开发人员信息。
37.优选地,所述方法还包括:
38.识别到有线连接的设备未进行所述待测试软件的测试时,自动给连接的设备充电。
39.本发明实施例还提供一种软件测试装置,所述装置包括:
40.代码上传模块,用于接收上传的软件代码,并对所述软件代码进行分布式管理;
41.软件打包模块,用于对所述软件代码进行打包构建,生成对应的待测试软件;
42.软件存储模块,用于将所述待测试软件存储到指定的软件仓库;
43.设备连接模块,用于识别连接的至少一个设备的参数数据,将所述待测试软件安装到连接的选定设备中;
44.设备测试模块,用于根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果。
45.作为一种优选方式,所述参数数据包括:连接的每一设备的设备型号、连接的设备数量;
46.所述待测试软件为可执行软件或可执行固件;
47.所述设备测试模块具体用于:
48.判断所述参数数据中的任一设备型号的设备数量n与该设备型号预设的测试设备总台数m的大小;
49.当所述设备数量n不小于所述测试设备总台数m时,将连接的设备数量n的设备中随机选择的m台设备确定为测试设备;
50.当所述设备数量n小于所述测试设备总台数m时,将连接的设备确定为测试设备,并发送消息提醒测试人员增加m-n台对应设备型号的设备作为测试对象;
51.对确定的测试设备中的每一设备进行所述待测试软件的测试,生成各个设备的测试结果。
52.进一步地,所述待测试软件的测试类型包括:功能测试、局部软件测试、全局软件测试和系统测试;
53.所述功能测试为对所述待测试软件的功能对不同型号的设备进行的测试;
54.所述局部软件测试为对所述待测试软件以及与所述待测试软件存在耦合关系的软件的所有功能进行的测试;
55.所述全局软件测试为对安装所述待测试软件的设备上安装的所有软件进行的全局整体联合测试;
56.所述系统测试为对安装所述待测试软件的设备上的所有软件进行的统一测试。
57.进一步地,所述设备测试模块具体还用于:
58.根据所述测试设备中每一设备的设备型号和待测试软件的类型,确定每一设备上的所述待测试软件的测试类型;
59.根据每一设备需要进行的测试类型,对每一设备进行相应测试类型的测试,并记录每一测试类型的测试结果,每一测试类型的测试结果包括:测试通过、测试不通过和测试结果待定。
60.优选地,所述待测试软件的测试类型包括灰度测试和全量测试;
61.所述灰度测试为将所述待测试软件发送到与测试设备相同设备型号的内测设备中进行的测试;
62.所述全量测试为将所述待测试软件推送给与测试设备相同设备型号的设备中进行的测试。
63.优选地,所述代码上传模块具体用于:
64.接收上传的软件代码,并通过代码管理工具对代码进行分布式管理,将所述软件代码上传至指定的代码仓库;其中,所述代码管理工具包括git代码管理工具和/或svn代码
管理工具;
65.所述代码打包模块具体用于:
66.采用代码构建工具,对所述软件代码进行打包构建,从而生成对应的待测试软件,所述代码构建工具包括jenkins构建工具;
67.所述代码存储模块具体用于:
68.根据所述待测试软件的版本、软件名称以及所述待测试软件的目标设备的设备型号进行分层存储。
69.优选地,所述装置还包括:
70.反馈模块,用于将所述待测试软件的测试相关信息反馈给具备查看权限的终端,其中,测试相关信息包括所述待测试软件在不同设备的测试结果、测试时长及所述待测试软件的开发人员信息。
71.优选地,所述装置还包括:
72.充电模块,用于识别到有线连接的设备未进行所述待测试软件的测试时,自动给连接的设备充电。
73.本发明另一实施例提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述发明实施例所述的软件测试方法。
74.与现有技术相比,本发明提供的一种软件测试方法、装置和设备,通过接收上传的软件代码,并对所述软件代码进行分布式管理;对所述软件代码进行打包构建,生成对应的待测试软件;将所述待测试软件存储到指定的软件仓库;识别连接的至少一个设备的参数数据,将所述待测试软件安装到连接的设备中;根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果。自动完成待测试软件在不同设备中的测试,极大的节省了测试人员的测试成本与测试时间,提高测试效率,也更容易追溯测试问题。
附图说明
75.图1是本发明实施例提供的一种软件测试方法的流程示意图;
76.图2是本发明实施例提供的一种软件测试装置的结构示意图;
77.图3是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
78.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
79.本发明实施例提供一种软件测试方法,参见图1,是本发明实施例提供的一种软件测试方法的流程示意图,所述方法步骤s1~s5:
80.s1,接收上传的软件代码,并对所述软件代码进行分布式管理;
81.s2,对所述软件代码进行打包构建,生成对应的待测试软件;
82.s3,将所述待测试软件存储到指定的软件仓库;
83.s4,识别连接的至少一个设备的参数数据,将所述待测试软件安装到连接的选定设备中;
84.s5,根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果。
85.在本实施例具体实施时,接收开发人员通过开发终端或存储设备上传的软件代码,对所述软件代码进行分布式管理,即按照软件代码进行分层管理;
86.对所述软件代码进行打包构建,生成对应的待测试软件,上传的软件代码为开发人员开发完成的一种开源软件,可进行编辑,稳定性较差,通过打包构建将其封装成为一个待测试软件的数据包,用于后续的测试过程;
87.将所述待测试软件存储到指定的软件仓库;
88.识别连接的待测试设备,可同时连接多个待测试设备,并自动读取连接的设备的参数数据,参数数据表征待测试设备的特征,将所述待测试软件安装到连接的设备中;
89.根据所述参数数据完成对所述待测试软件的测试,参数数据不同,测试流程不同,并生成各个设备的测试结果。
90.通过接收软件代码,并对软件代码进行分布式管理,并对软件代码进行打包构建,通过识别连接的设备的参数数据,将待测试软件下载至各个设备,根据参数数据完成各个设备的测试过程,节省了测试人员的测试成本与测试时间,使测试人员不必每次都去手动更新软件,或等候软件安装成功,提高测试效率。
91.在本发明提供的又一实施例中,所述参数数据包括:连接的每一设备的设备型号、连接的设备数量;
92.所述待测试软件为可执行软件或可执行固件;
93.所述根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果,具体包括:
94.判断所述参数数据中的任一设备型号的设备数量n与该设备型号预设的测试设备总台数m的大小;
95.当所述设备数量n不小于所述测试设备总台数m时,将连接的设备数量n的设备中随机选择的m台设备确定为测试设备;
96.当所述设备数量n小于所述测试设备总台数m时,将连接的设备确定为测试设备,并发送消息提醒测试人员增加m-n台对应设备型号的设备作为测试对象;
97.对确定的测试设备中的每一设备进行所述待测试软件的测试,生成各个设备的测试结果。
98.在本实施例具体实施时,所述参数数据包括:连接的每一设备的设备型号、连接的设备数量;待测试软件的软件代码中包括软件的目标设备的型号或目标系统的参数,即对应不同的设备型号,因此在测试中要重点测试不同设备型号的设备的差异性;并且由于单次执行测试的设备数量有限制,因此在测试时,需要确认连接的设备数量;
99.判断所述参数数据中的设备数量n与预设的测试设备总台数m的大小;
100.测试一款软件时,往往在定制测试计划时,先确定需要测试的设备型号及个数;
101.如需要测试一款软件,要使用到v1型号的设备3台,此时总台数m为3台:
102.当连接的设备v1型号的设备数量为5台时,则需要随机选择3台v1型号的设备作为
测试设备进行后续的待测试软件测试;
103.当连接的设备v1型号的设备数量为3台时,则将连接的全部的3台v1型号的设备作为测试设备进行后续的待测试软件测试;
104.对确定的测试设备中的每一设备进行所述待测试软件的测试,生成各个设备的测试结果;
105.当连接的设备v1型号的设备数量为1台时,则将连接的全部的1台v1型号的设备作为测试设备进行后续的待测试软件测试,并发送消息提醒测试人员增加2台设备进行软件测试。
106.实现一体化管理,确定测试任务所需的设备型号和数量总数,以及提醒测试人员测试的设备型号和数量,避免测试数量和设备型号不同导致测试结果出现漏测和误差,提高测试结果的准确性。
107.在本发明提供的又一实施例中,所述待测试软件的测试类型包括:功能测试、局部软件测试、全局软件测试和系统测试;
108.所述功能测试为对所述待测试软件的功能对不同型号的设备进行的测试;
109.所述局部软件测试为对所述待测试软件以及与所述待测试软件存在耦合关系的软件的所有功能进行的测试;
110.所述全局软件测试为对安装所述待测试软件的设备上安装的所有软件进行的全局整体联合测试;
111.所述系统测试为对安装所述待测试软件的设备上的所有软件进行的统一测试。
112.在本实施例具体实施时,所述待测试软件的测试类型包括:功能测试、局部软件测试、全局软件测试和系统测试;
113.功能测试,是针对开发人员对待测试软件中某个具体功能做出更新或适配不同设备信号的设备所进行的测试,即对单个软件中的具体功能进行测试。
114.局部软件测试,是指对待测试软件或明确存在耦合关系的多个软件的所有功能进行测试,即验证单个软件功能,或一次开发中设计到的关联软件的功能测试。
115.全局软件测试,是指对安装所述待测试软件的测试设备上所有安装的软件进行全局的整体联合测试,即排查是否有意料之外的功能耦合。
116.系统测试,是指设备的系统固件发生改变时,即开发/修改了固件时,将该设备上的所有软件进行统一测试,因为系统修改是牵一发动全身,所以修改系统固件后,测试需要慎之又慎,若对应的设备中,软件也有改动,则需将有改动的软件也预置到设备当中去。
117.通过不同测试类型的测试,完成对待测试软件的测试,软件测试过程更加全面、系统,对于不同待测试软件的问题排查更加细致。
118.在本发明提供的又一实施例中,所述步骤s5具体包括:
119.根据所述测试设备中每一设备的设备型号和待测试软件的类型,确定每一设备上的所述待测试软件的测试类型;
120.根据每一设备需要进行的测试类型,对每一设备进行相应测试类型的测试,并记录每一测试类型的测试结果,每一测试类型的测试结果包括:测试通过、测试不通过和测试结果待定。
121.开发和/或测试人员可根据测试设备的设备型号和待测试软件的类型选择对应的
一个或多个测试类型进行测试,如实验性demo功能,则只需要进行功能测试,如果是针对不同设备型号大改版的待测试软件,则必须涵盖所有测试类型。
122.通过对不同设备型号和待测试软件的类型,确定测试类型,能够有针对性地进行软件测试,提高测试效率。
123.所述待测试软件的测试类型包括灰度测试和全量测试;
124.所述灰度测试为将所述待测试软件发送到与测试设备相同设备型号的内测设备中进行的测试;
125.所述全量测试为将所述待测试软件推送给与测试设备相同设备型号的设备中进行的测试。
126.在本实施例具体实施时,灰度测试,是指将待测试软件发送到与测试设备的设备型号相同的指定的测试终端设备中,即在市场上进行内测,该待测试软件只有指定的设备才能获取到,让部分真实用户在使用过程中进行测试,因为用户的使用场景是测试人员无法模拟出的,只有发到产品的用户手里,才能得到最真切的测试数据,且灰度过程中出现异常,也只会影响到一小部分内测用户,损失相对可控。
127.全量测试,是指将待测试设备上架推送给与测试设备的设备型号相同的设备中,此时设备型号相同的设备则成了测试设备。
128.通过对软件的内测,即在具有内测资格的设备中进行测试,控制损失;灰度测试后进行全局测试,便于发现软件存在的问题。
129.在本发明提供的又一实施例中,所述步骤s1具体包括:
130.接收上传的软件代码,并通过代码管理工具对代码进行分布式管理,将所述软件代码上传至指定的代码仓库;其中,所述代码管理工具包括git代码管理工具和/或svn代码管理工具;
131.所述步骤s2具体包括:
132.采用代码构建工具,对所述软件代码进行打包构建,从而生成对应的待测试软件,所述代码构建工具包括jenkins构建工具;
133.所述步骤s3具体包括:
134.根据所述待测试软件的版本、软件名称以及所述待测试软件的目标设备的设备型号进行分层存储。
135.在本实施例具体实施时,开发人员可将编写完成的软件代码上传到指定的代码仓库后,采用包括但不限于git代码管理工具、svn代码管理工具等代码管理工具对软件代码进行分布式管理。
136.采用包括但不限于jenkins构建工具的软件构建工具对上传的软件代码进行打包构建,从而生成对应的可执行软件或固件。
137.开发人员在上传软件代码时,可进一步补充包括但不限软件代码的名称、目标设备的设备型号、当前版本号、更新内容、测试重点等测试信息。
138.存储待测试软件时,可进一步根据待测试软件的版本、软件名称和待测试软件的目标设备的设备型号对待测试软件逐层进行分层存储,有利于高效便捷且统一的对待测试软件进行管理。
139.在本发明提供的又一实施例中,所述方法还包括:
140.步骤s6,将所述待测试软件的测试相关信息反馈给具备查看权限的终端,其中,测试相关信息包括所述待测试软件在不同设备的测试结果、测试时长及所述待测试软件的开发人员信息。
141.在本实施例具体实施时,将所述待测试软件的测试相关信息反馈给具有查看权限的开发、测试人员、项目管理人员的终端设备中,能够可对待测试软件的测试状态进行查看,所述测试相关信息包括但不限于所述待测试软件在不同设备的测试结果、测试的所在环节、当前测试人员、测试时长、测试预计时长等数据信息。
142.当测试完成或已经产生结果或测试中断时,给对应的开发、测试及项目管理人员的终端设备自动发送邮件通知、推送等消息提醒。
143.通过反馈测试相关信息,能够及时将待测试软件的测试结果反馈至指定的终端设备,便于测试过程的管理。
144.在本发明提供的又一实施例中,所述方法还包括:
145.步骤s7,识别到有线连接的设备未进行所述待测试软件的测试时,自动给连接的设备充电。
146.在本实施例具体实施时,通过有线连接的设备,在设备未进行测试时,可为连接的设备充电,连接的设备包括:平板、穿戴类产品等智能设备。
147.本发明的又一实施例提供一种软件测试装置,参见图2,是本发明实施例提供的一种软件测试装置的结构示意图;
148.所述装置包括:
149.代码上传模块,用于接收上传的软件代码,并对所述软件代码进行分布式管理;
150.软件打包模块,用于对所述软件代码进行打包构建,生成对应的待测试软件;
151.软件存储模块,用于将所述待测试软件存储到指定的软件仓库;
152.设备连接模块,用于识别连接的至少一个设备的参数数据,将所述待测试软件安装到连接的选定设备中;
153.设备测试模块,用于根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果。
154.需要说明的是,本发明实施例提供的一种软件测试装置用于执行上述实施例的一种软件测试方法的所有流程步骤,两者的工作原理和有益效果一一对应,因而不再赘述。
155.参见图3,是本发明提供的一种终端设备的一个优先实施的示意图。该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如软件测试程序。所述处理器执行所述计算机程序时实现上述各个软件测试方法实施例中的步骤,例如图1所示的步骤s1~s5。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能。
156.示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。例如,所述计算机程序可以被分割成代码上传模块、软件打包模块、软件存储模块、设备连接模块和设备测试模块,各模块具体功能再次不作赘述。
157.所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
158.所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
159.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
160.其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
161.需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
162.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
技术特征:
1.一种软件测试方法,其特征在于,所述方法包括:接收上传的软件代码,并对所述软件代码进行分布式管理;对所述软件代码进行打包构建,生成对应的待测试软件;将所述待测试软件存储到指定的软件仓库;识别连接的至少一个设备的参数数据,将所述待测试软件安装到连接的选定设备中;根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果。2.如权利要求1所述的软件测试方法,其特征在于,所述参数数据包括:连接的每一设备的设备型号、连接的设备数量;所述待测试软件为可执行软件或可执行固件;所述根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果,具体包括:判断所述参数数据中的任一设备型号的设备数量n与该设备型号预设的测试设备总台数m的大小;当所述设备数量n不小于所述测试设备总台数m时,将连接的设备数量n的设备中随机选择的m台设备确定为测试设备;当所述设备数量n小于所述测试设备总台数m时,将连接的设备确定为测试设备,并发送消息提醒测试人员增加m-n台对应设备型号的设备作为测试对象;对确定的测试设备中的每一设备进行所述待测试软件的测试,生成各个设备的测试结果。3.如权利要求2所述的软件测试方法,其特征在于,所述待测试软件的测试类型包括:功能测试、局部软件测试、全局软件测试和系统测试;所述功能测试为对所述待测试软件的功能对不同型号的设备进行的测试;所述局部软件测试为对所述待测试软件以及与所述待测试软件存在耦合关系的软件的所有功能进行的测试;所述全局软件测试为对安装所述待测试软件的设备上安装的所有软件进行的全局整体联合测试;所述系统测试为对安装所述待测试软件的设备上的所有软件进行的统一测试。4.如权利要求3所述的软件测试方法,其特征在于,所述对确定的测试设备中的每一设备进行所述待测试软件的测试,生成各个设备的测试结果,具体包括:根据所述测试设备中每一设备的设备型号和待测试软件的类型,确定每一设备上的所述待测试软件的测试类型;根据每一设备需要进行的测试类型,对每一设备进行相应测试类型的测试,并记录每一测试类型的测试结果,每一测试类型的测试结果包括:测试通过、测试不通过和测试结果待定。5.如权利要求2所述的软件测试方法,其特征在于,所述待测试软件的测试类型包括灰度测试和全量测试;所述灰度测试为将所述待测试软件发送到与测试设备相同设备型号的内测设备中进行的测试;所述全量测试为将所述待测试软件推送给与测试设备相同设备型号的设备中进行的
测试。6.如权利要求1所述的软件测试方法,其特征在于,所述接收上传的软件代码,并对所述软件代码进行分布式管理,具体包括:接收上传的软件代码,并通过代码管理工具对代码进行分布式管理,将所述软件代码上传至指定的代码仓库;其中,所述代码管理工具包括git代码管理工具和/或svn代码管理工具;所述对所述软件代码进行打包构建,生成对应的待测试软件,具体包括:采用代码构建工具,对所述软件代码进行打包构建,从而生成对应的待测试软件,所述代码构建工具包括jenkins构建工具;所述将所述待测试软件存储到指定的软件仓库,具体包括:根据所述待测试软件的版本、软件名称以及所述待测试软件的目标设备的设备型号进行分层存储。7.如权利要求1所述的软件测试方法,其特征在于,所述方法还包括:将所述待测试软件的测试相关信息反馈给具备查看权限的终端,其中,测试相关信息包括所述待测试软件在不同设备的测试结果、测试时长及所述待测试软件的开发人员信息。8.如权利要求1所述的软件测试方法,其特征在于,所述方法还包括:识别到有线连接的设备未进行所述待测试软件的测试时,自动给连接的设备充电。9.一种软件测试装置,其特征在于,所述装置包括:代码上传模块,用于接收上传的软件代码,并对所述软件代码进行分布式管理;软件打包模块,用于对所述软件代码进行打包构建,生成对应的待测试软件;软件存储模块,用于将所述待测试软件存储到指定的软件仓库;设备连接模块,用于识别连接的至少一个设备的参数数据,将所述待测试软件安装到连接的选定设备中;设备测试模块,用于根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果。10.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8中任意一项所述的软件测试方法。
技术总结
本发明公开了一种软件测试方法、装置和设备,通过接收上传的软件代码,并对所述软件代码进行分布式管理;对所述软件代码进行打包构建,生成对应的待测试软件;将所述待测试软件存储到指定的软件仓库;识别连接的至少一个设备的参数数据,将所述待测试软件安装到连接的选定设备中;根据所述参数数据完成对所述待测试软件的测试,并生成各个设备的测试结果。自动完成待测试软件在不同设备中的测试,极大的节省了测试人员的测试成本与测试时间,提高测试效率,也更容易追溯测试问题。也更容易追溯测试问题。也更容易追溯测试问题。
技术研发人员:黄何列 麦海涛 马志平 岳玉美
受保护的技术使用者:广东省科技基础条件平台中心
技术研发日:2021.12.07
技术公布日:2022/3/8