应用测试方法、装置、系统、电子设备和存储介质与流程

文档序号:24648514发布日期:2021-04-13 16:27阅读:96来源:国知局
应用测试方法、装置、系统、电子设备和存储介质与流程

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.图1是本发明实施例一提供的一种应用测试方法的流程示意图;
38.图2是本发明实施例二提供的另一种应用测试方法的流程示意图;
39.图3是本发明实施例三提供的一种应用测试方法的流程示意图;
40.图4是本发明实施例三所涉及的提测任务界面的示意图;
41.图5是本发明实施例三所涉及的能效分析结果的示意图;
42.图6(a)是本发明实施例三所涉及的提测任务详情界面的流程进度的示意图;
43.图6(b)是本发明实施例三所涉及的提测任务详情界面的操作日志的示意图;
44.图6(c)是本发明实施例三所涉及的提测任务详情界面的关联用例的示意图;
45.图6(d)是本发明实施例三所涉及的提测任务详情界面的关联bug列表的示意图;
46.图7是本发明实施例四提供的一种应用测试方法的交互流程示意图;
47.图8是本发明实施例五提供的一种应用测试装置的结构示意图;
48.图9是本发明实施例六提供的一种应用测试装置的结构示意图;
49.图10是本发明实施例七提供的一种应用测试系统的结构示意图;
50.图11为本发明实施例八提供的电子设备的结构示意图。
具体实施方式
51.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
52.实施例一
53.图1为本发明实施例一提供的一种应用测试方法的流程图,本实施例可应用于服务端,适用于需要对研发的应用程序软件进行测试的情况。该方法可以由应用测试装置来执行,该装置可以由软件和/或硬件的方式来实现。可选的,该应用测试装置可配置于服务器中。如图1所述,该方法具体包括以下步骤:
54.s110、接收客户端发送的提测任务信息,根据提测任务信息创建提测任务。
55.为了衡量应用软件是否满足设计要求,需要对软件进行测试,即在规定的条件下
对程序进行操作,以发现程序错误,衡量软件质量。现有的软件测试流程中不同的步骤需要使用不同的系统和平台,各系统和平台之间联系不是很紧密,不利于提高测试效率;并且现有软件测试工具等都是按分层结构部署,导致在完整的测试实施过程中自动化覆盖率较低。为了解决上述问题,提高测试流程中的自动化覆盖率以及测试效率,本发明实施例的技术方案通过构建一个能够支撑测试全流程的平台,并将检测及测试工具接入测试的各个步骤中,因此可以获取完整的测试数据并进行分析,进而提高测试效率,促进研发质量。具体的,接收客户端发送的提测任务信息,并根据提测任务信息创建提测任务。具体的,提测任务信息包括但不限于提测标题、提测部门、提测时间、预计测试完成时间、需求提出人、应用研发人员、测试人员、待测试应用、提测内容、以及需求文档地址中的至少一项。创建的提测任务可以包含提测任务标识以及对应的提测任务信息。
56.可选的,根据提测任务信息创建提测任务之后、将提测任务对应的待测试应用的源代码进行编译之前,可以根据提测任务信息确定提测任务对应的相关人员,调用信息发送模块提供的服务自动向相关人员对应的通讯账号发送提测通知,以使相关人员根据提测通知获知待测试应用已被提测并成功在平台建立了提测任务。其中,相关人员可以包括需求提出人、应用研发人员以及测试人员中的至少一个。可选的,也可以在接收到客户端发送的提测通知请求时,确定提测通知请求中提测任务对应的相关人员,通过调用信息发送模块提供的服务,向该相关人员对应的通讯账号发送提测通知。其中,提测通知请求是用户在客户端的界面执行提测通知触发操作后生成的,该提测通知触发操作可以是点击客户端界面中的提测通知按钮等。可选的,该用户可以是应用研发人员。可选的,通讯账号可以是手机号码、邮箱、以及微信等即时通讯账号。可选的,在根据提测任务信息创建提测任务之后,可以接收客户端发送的提测报告查看请求,根据提测任务信息生成提测报告,并将提测报告发送至客户端进行展示。其中,提测报告查看请求是用户在客户端的界面执行提测报告查看触发操作后生成的,该提测报告查看触发操作可以是点击客户端界面中的提测报告按钮等。可选的,该用户可以是应用研发人员或测试人员。可选的,提测报告中包含有提测标题、提测部门、提测时间、预计测试完成时间、需求提出人、应用研发人员、测试人员、待测试应用、提测内容和需求文档地址等提测任务信息。
57.s120、将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用。
58.在本发明实施例中,根据提测任务信息创建提测任务,获取提测任务对应的待测试应用的源代码,将待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用。可选的,也可以在接收到客户端发送的应用构建请求时,将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用。其中,应用构建请求是用户在客户端的界面执行应用构建触发操作后生成的,该应用构建触发操作可以是点击客户端界面中的应用构建按钮等。可选的,该用户包括测试人员。在一些实施例中,在触发测试机基于编译得到的目标文件运行待测试应用之前,可以通过调用主机管理模块提供的服务,采用shh(secure shell,安全外壳)协议与待测试应用对应的测试机接入本系统即与测试机建立通信连接,从而可以基于建立的连接将编译得到的目标文件发送至测试机,使测试机基于目标文件运行对应的待测试应用。可选的,接入本系统的方式包括用户密码验证和公私钥无密码两种方式,本实施例对此不加以限制。
59.具体的,应用管理模块中预先存储有各个可测试应用的应用标识,以及各应用标识分别对应的应用部署信息。可选的,可以通过调用应用管理模块提供的服务,获取提测任务对应的待测试应用的应用标识对应的应用部署信息。其中,应用部署信息包括应用代码地址和测试机地址。可选的,应用标识可以是但不限于待测试应用的名称、编号或者由数字、字母和字符中的至少一项形成的字符串等。根据应用部署信息中的应用代码地址获取到待测试应用的源代码,将源代码进行编译,并将编译得到的目标文件发送至测试机地址对应的测试机,以使测试机基于目标文件运行待测试应用。
60.s130、获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例。
61.在本发明实施例中,当接收到客户端发送的测试受理请求时,通过调用自动化测试设备提供的服务获取待测试应用对应的自动化测试用例,并自动触发自动化测试设备针对该测试机运行的待测试应用执行自动化测试用例。其中,测试受理请求是在用户在客户端的界面执行测试受理触发操作后生成的,该测试受理触发操作可以是点击客户端界面中的测试受理按钮等。可选的,该用户可以是测试人员。自动化测试用例包括自动化接口测试用例和/或自动化ui测试用例。
62.可选的,通过用例管理模块获取执行的自动化测试用例的相关信息,并将自动化测试用例的相关信息发送至客户端进行展示,使相关用户更加清楚的了解对待测试应用进行测试时所执行的自动化测试用例的情况。
63.可选的,在触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例之后,接收客户端发送的功能测试覆盖率查看请求,从测试机获取待测试应用的功能测试覆盖率,并将功能测试覆盖率返回给客户端进行展示。可选的,功能测试覆盖率可以由部署在测试机上的jacoco等测试覆盖率统计工具进行统计分析获得。
64.可选的,在触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例之后,可以接收自动化测试设备发送的执行自动化测试用例时产生的错误(bug)信息,将bug信息发送给客户端,以使客户端将bug信息进行展示并获取用户基于该bug信息在客户端的界面上填写的bug内容和bug处理人。可选的,bug信息中包含有该bug的标识以及产生的位置等信息。可选的,该用户可以是测试人员,bug内容可以包括为bug预先设定的唯一标识,也可以包括具体的bug详情信息,bug处理人可以是编写该bug位置对应代码的研发人员。然后,在接收到客户端发送的携带bug内容和bug处理人的bug转发请求时,通过调用信息发送模块提供的服务向bug处理人对应的通讯账号发送bug处理通知信息。在检测到bug状态发生变更时,通过调用信息发送模块提供的服务向提测任务对应的相关人员的通讯账号发送bug状态变更的通知信息。可选的,bug状态变更可以是bug处理人对该bug进行处理以后该bug消除或者产生了新的bug等。以上关于bug处理的操作可以设置在系统中的bug管理模块来执行。
65.可选的,在触发测试机基于编译得到的目标文件运行待测试应用之后,可以接收客户端发送的应用日志查看请求,从日志检索平台获取待测试应用在测试机的运行日志,其中,运行日志是日志检索平台基于从搜索引擎(es)的存储器读取到的待测试应用的日志信息生成的,存储器中的日志信息是测试机发送的待测试应用在运行过程中产生的日志信息。可选的,可以由部署在测试机上的代理(agent)工具将测试机运行待测试应用的过程中
实时产生的日志信息定时存储到es的存储器中。
66.s140、根据自动化测试用例的执行结果生成提测任务对应的测试报告,将测试报告返回给客户端进行展示。
67.在本发明实施例中,可以接收自动化测试设备发送的自动化测试用例的执行结果,并根据该执行结果生成该提测任务的测试报告,并将该测试报告发送至客户端进行展示。可选的,可以在测试报告生成时自动将测试报告发送客户端进行展示;也可以在接收到客户端发送的测试报告查看请求后将提测报告发送至客户端进行显示,其中的测试报告查看请求是在用户在客户端的界面执行测试报告查看触发操作后生成的,该测试报告查看触发操作可以是点击客户端界面中的测试报告按钮等。为了提测任务的相关人员可以在第一时间看到测试报告,也可以调用信息发送模块提供的服务将测试报告发送至提测任务的相关人员对应的通讯账号,可选的,通讯账号可以是手机号、邮箱、以及微信等即时通讯账号。可选的,测试报告中包括但不限于测试任务、测试报告部门、测试结果、相关联系人、相关文档、测试日期、测试用例等测试内容中至少一项。
68.可选的,在生成待测试应用对应的测试报告之后,接收客户端发送的上线通告查看请求,生成待测试应用对应的检查表,将检查表发送至客户端,以使客户端对检查表进行展示。其中,检查表中包含在待测试应用上线前需要确认的检查项;具体的,检查项包括但不限于:代码是否通过代码评审、测试用例是否通过用例评审并全部执行、上线之前是否所有bug均已修复验证、以及是否发送测试报告等检查项。然后,接收客户端发送的检查项确认信息,其中,该检查项确认信息包括用户在检查表中输入的检查项确认信息。可选的,该用户可以为应用研发人员。最后,基于检查项确认信息生成上线通告信息,通过调用信息发送模块提供的服务,向提测任务对应的相关人员的通讯账号发送上线通告消息,以使相关人员获知待测试应用即将上线。
69.可选的,在向提测任务对应的相关人员的通讯账号发送上线通告信息后,可以接收客户端发送的线上验证报告查看请求,生成待测试应用对应的线上验证表,将线上验证表发送至客户端,以使客户端对线上验证表进行展示。其中,线上验证表中包含在待测试应用上线后需要用户确认的验证项。然后,接收客户端发送的验证项确认信息,其中,验证项确认信息包括用户在线上验证表中输入的验证确认信息。可选的,该用户包括应用研发人员、测试人员和产品人员。最后,基于验证项确认信息生成线上验证报告,并通过调用信息发送模块提供的服务向提测任务对应的相关人员的通讯账号发送线上验证报告,使相关人员进一步获知该待测试应用顺利上线。
70.在上述实施例的基础上,可以在接收到客户端发送的携带分析维度的能效分析请求时,基于存储的各应用的测试过程数据进行各分析维度的能效分析,获得能效分析数据。其中,能效分析数据用于代码质量量化和/或工作效率量化。可选的,分析维度包括但不限于:测试团队维度,人员维度,应用维度和项目维度等维度。将生成的能效分析数据发送至客户端进行展示。可选的,测试团队维度对应的能效分析数据包括:平均需求周期、平均开发周期、平均测试周期、平均交付周期、bug平均处理时效、平均静态代码质量分值、以及平均单测覆盖率中的至少一项。可选的,人员维度对应的能效分析数据包括:提测受理次数、提测驳回次数、bug解决平均失效、bug重开率、静态代码质量分值、单测覆盖率、平均开发周期、执行覆盖率、有效bug数、用例数、平均测试周期、bug拒绝率、以及自动化测试用例涉及
数中的至少一项。项目维度对应的能效分析数据包括:bug局势、需求周期、bug平均处理时效、核心工作时段、bug重开率以及需求变更次数中的至少一项。可选的,应用维度对应的能效分析数据包括:静态代码质量分值、提测频次、单侧覆盖率、自动化测试用例关联数、以及自动部署成功率中的至少一项。
71.本发明实施例通过接收客户端发送的提测任务信息,根据提测任务信息创建提测任务;将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用;获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例;根据自动化测试用例的执行结果生成提测任务对应的测试报告,将测试报告返回给客户端进行展示,解决了现有的应用程序软件的测试,测试流程的不连贯,测试效率较低的问题,实现了同时记录整个测试过程数据,提高了测试效率。
72.实施例二
73.图2为本发明实施例二提供的应用测试方法的流程图,本实施例可适用于服务端,适用于需要对研发的应用软件进行测试的情况。本实施例在上述实施例的基础上,在根据提测任务信息创建提测任务之后、获取待测试应用对应的自动化测试用例之前增加了“触发代码规范检测设备基于待测试应用的源代码对待测试应用执行单元测试并对源代码进行扫描,获得代码规范检测结果;并将代码规范检测结果返回给客户端进行展示。”和“获取待测试应用对应的冒烟测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行冒烟测试用例;并将执行冒烟测试用例后得到的冒烟测试结果返回给客户端进行展示。”,其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,本实施例提供的应用测试方法包括:
74.s210、接收客户端发送的提测任务信息,根据提测任务信息创建提测任务。
75.s220、将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用。
76.s230、触发代码规范检测设备基于待测试应用的源代码对待测试应用执行单元测试并对源代码进行扫描,获得代码规范检测结果;并将代码规范检测结果返回给客户端进行展示。
77.在本发明实施例中,在根据提测任务信息创建提测任务之后,自动获取提测任务对应的待测试应用的应用部署信息。可选的,从应用部署信息中获取应用代码地址,根据应用代码地址获取待测试应用的源代码,源代码中包含测试代码包,测试代码中包含待测试任务对应的单元测试用例。将包含测试代码包的源代码发送给代码规范检测设备,以使代码规范检测设备通过调用本地部署的maven等项目管理综合工具,执行测试代码包中的单元测试用例,并获取单元测试用例执行结果,从而实现了对待测试应用的单元测试。同时,代码规范检测设备在接收到待测试应用的源代码后,可以通过调用部署在本地的sonar等代码质量管理工具,对待测试应用的源代码进行扫描,将扫描到的代码与预设代码规范进行匹配,并根据匹配结果获得代码扫描结果。然后,基于单元测试用例执行结果和的单元代码扫描结果生成代码规范检测结果。将生成的代码规范结果发送至客户端进行展示。
78.可选的,也可以在收到客户端发送的单元测试请求时,触发代码规范检测设备对待测试应用的源代码执行单元测试并对该源代码进行扫描,生成待测试应用对应的代码规
范检测结果发送至客户端进行展示。其中,单元测试请求是在用户在客户端的界面执行单元测试触发操作后生成的,该单元测试触发操作可以是点击客户端界面中的单元测试按钮等。可选的,该用户可以是测试人员。
79.可选的,在接收到客户端发送的单元测试覆盖率查看请求时,从代码规范检测设备获取对待测试应用执行单元测试用例时的单元测试覆盖率,并将该单元测试覆盖率发送至客户端进行展示。其中,具体可以由部署在代码规范检测设备的sonar等代码质量管理工具进行统计分析得到单元测试覆盖率。
80.s240、获取待测试应用对应的冒烟测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行冒烟测试用例;并将执行冒烟测试用例后得到的冒烟测试结果返回给客户端进行展示。
81.在本发明实施例中,通过调用自动化测试设备的服务获取待测试应用的冒烟测试用例,并自动触发自动化测试设备针对测试机运行的待测试应用执行该冒烟测试用例,并将执行冒烟测试用例后得到的冒烟测试结果返回给客户端进行展示。其中,冒烟测试用例包括冒烟接口测试用例和/或冒烟ui测试用例。
82.可选的,也可以在接收到客户端发送的冒烟测试请求时,获取待测试应用对应的冒烟测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行冒烟测试用例。其中,冒烟测试请求是在用户在客户端的界面执行冒烟测试触发操作后生成的。可选的,执行冒烟测试用例可以使测试人员了解待测试应用的基本性能状态。
83.s250、获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例。
84.可选的,一些公开实施例在执行单元测试用例、代码扫描以及冒烟测试用例后,将代码规范检测结果与冒烟测试结果发送至客户端进行展示,以使用户(例如,测试人员)根据结果确定是否触发正式的自动化测试,如果触发则在客户端的界面上执行测试受理触发操作,客户端检测到该测试受理触发操作后,向服务端发送测试受理请求,服务端在接收到客户端发送的测试受理请求时,获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例。
85.其中,自动化测试设备管理有冒烟测试用例和自动化测试用例,冒烟测试用例用于对待测试应用进行冒烟测试,自动化测试用例用于对待测试应用进行正式的自动化测试,冒烟测试与自动化测试相比,前者的测试精细度要小于后者。在自动化测试设备可以通过对测试用例添加标记的方式来区分冒烟测试用例和自动化测试用例。
86.s260、根据自动化测试用例的执行结果生成提测任务对应的测试报告,将测试报告返回给客户端进行展示。
87.本发明实施例通过接收客户端发送的提测任务信息,根据提测任务信息创建提测任务;将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用;获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例;根据自动化测试用例的执行结果生成提测任务对应的测试报告,将测试报告返回给客户端进行展示,实现了同时记录整个测试过程数据,并且通过对待测试应用执行单元测试、代码扫描以及冒烟测试,并获取代码规范检测结果以及冒烟测试结果发送至客户端进行展示,以使测试人员确定是否进行自动化用
例测试,进一步提高了测试效率。
88.实施例三
89.图3为本发明实施例三提供的一种应用测试方法的流程图,本实施例应用于客户端,可适用于需要对研发的应用软件进行测试的情况。该方法可以由应用测试装置来执行,该装置可以由软件和/或硬件的方式来实现。可选的,该应用测试装置可配置于用户终端中,该用户终端可以是笔记本电脑,智能平板、手机等电子设备。如图3,该方法具体包括以下步骤:
90.s310、在检测到用户的应用提测触发操作时,展示提测任务界面。
91.在本发明实施例中,在检测到用户的应用提测触发操作时,展示提测任务界面,以供用户通过提测任务界面输入提测任务信息。提测任务界面的示例如图4所示,需要通过提测任务界面输入的提测任务信息包括但不限于提测标题、提测部门、提测时间、预计测试完成时间、需求提出人、应用研发人员、测试人员、待测试应用(即提测应用和分支)、提测内容、以及需求文档地址中的至少一项。在提测任务界面中,用户还可以选择是否立即发送提测通知以及是否立即构建提测应用,若用户选择了立即发送提测通知,则服务端在接收到提测任务信息时立即向相关人员发送提测通知,若用户未选择立即发送提测通知,则服务端在接收到客户端发送的提测通知请求时,再向相关人员发送提测通知;若用户选择了立即构建提测应用,则服务端在接收到提测任务信息时立即针对待测试应用执行应用构建的操作,若用户未选择立即构建提测应用,则服务端在接收到客户端发送的应用构建请求时,再针对待测试应用执行应用构建的操作。
92.s320、获取用户通过提测任务界面输入的提测任务信息,将提测任务信息发送至服务端。
93.在本发明实施例中,在展示提测任务界面后,用户需要通过提测任务界面选择待测试应用并输入待测试应用的提测任务信息。
94.其中,用户通过提测任务界面选择待测试应用时,从服务端获取各可测试应用的标识信息,将各可测试应用的标识信息进行展示,并将用户在各标识信息中选择的标识信息对应的可测试应用作为待测试应用;其中,各可测试应用的标识信息可以是服务端通过调用应用管理模块提供的服务获取到的。服务端的应用管理模块用于存储并管理各可测试应用的标识信息以及各标识信息分别对应的应用部署信息。应用管理模块中存储的各可测试应用的标识信息以及各标识信息分别对应的应用部署信息可以通过如下方式获得:首先,当检测到用户在客户端界面执行的应用添加触发操作时,展示应用管理界面,并获取用户通过应用管理界面输入的应用管理信息。该用户可以是应用研发人员。应用管理信息包括可测试应用的应用标识和对应的应用部署信息。应用标识可以包括但不限于待测试应用的名称、编号或者由数字、字母和字符中的至少一项形成的字符串等。应用部署信息可以包括应用代码地址和测试机地址。然后,将获取的可测试应用的应用标识和应用部署信息发送至服务端,服务端将接收到的应用标识和应用部署信息进行关联存储,具体可以存储在应用管理模块中。后续服务端可以根据应用部署信息中的应用代码地址获取待测试应用的源代码,根据应用部署信息中的测试机地址确定测试机。测试机用于运行待测试应用,为了将运行待测试应用所需要的目标文件发送给测试机,需要预先将测试机接入本系统即与测试机建立通信连接。具体的,在检测到用户的主机接入触发操作时,展示主机管理界面,并
获取用户通过主机管理界面输入的测试机地址,向服务器端发送携带测试机地址的主机接入请求,以使服务器通过调用主机管理模块提供的服务,采用shh协议将测试机接入本系统。可选的,接入系统方式包括用户密码验证和公私钥无密码两种方式,本实施例对此不加以限制。可选的,该用户可以是研发人员和测试人员。
95.在获取到用户通过提测任务界面输入的待测试应用的提测任务信息后,将获取的提测任务信息发送至服务器,以使服务器根据提测任务信息创建提测任务。可选的,该用户可以包括应用研发人员。
96.可选的,在将提测任务信息发送至服务端之后,用户可以通过客户端的界面触发服务端向提测任务的相关人员发送提测通知,以使相关人员根据提测通知获知待测试应用已被提测并成功在平台建立了提测任务。具体的,在检测到用户在客户端的提测任务详情界面执行的提测通知触发操作时,向服务端发送提测通知请求,以使服务端根据提测任务信息确定提测任务对应的相关人员,并通过调用信息发送模块提供的服务向相关人员对应的通讯账号发送提测通知。具体的,相关人员包括但不限于需求提出人,研发人员和测试人员。可选的,可以将提测通知发送到相关人员的手机号码、邮箱以及微信等即时通讯账号。
97.可选的,在将提测任务信息发送至服务端之后,用户可以通过客户端的界面查看提测报告。具体的,在检测到用户在客户端的提测任务详情界面执行的提测报告查看触发操作时,向服务端发送提测报告查看请求,并接收服务端返回的根据提测任务信息生成的提测报告,并将提测报告进行展示。可选的,提测报告中包括但不限于提测标题、提测部门、提测时间、预计测试完成时间、需求提出人、应用研发人员、测试人员、待测试应用、提测内容和需求文档地址等提测任务信息中至少一项。
98.可选的,在将提测任务信息发送至服务端之后,用户可以触发服务端执行应用构建,具体的,在检测到用户在客户端的提测任务详情界面执行的应用构建触发操作时,向服务器发送应用构建请求,以使服务器端在接收到应用构建请求时将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用。可选的,该用户可以包括测试人员。
99.可选的,在将提测任务信息发送至服务端之后,具体可以是向服务端发送应用构建请求之后,用户可以通过客户端的界面触发服务端对待测试应用执行单元测试。具体的,在检测到用户在客户端的提测任务详情界面执行的单元测试触发操作时,向服务端发送单元测试请求,以使服务端在接收到单元测试请求时将待测试应用的源代码发送给代码规范检测设备,从而触发代码规范检测设备基于接收的源代码对待测试应用执行单元测试并对源代码进行扫描,获得代码规范检测结果。可选的,该用户可以包括测试人员。可选的,可以接收服务端返回的代码规范检测结果,并将代码规范检测结果进行展示,以使测试人员确定当前待测试应用的代码编写规范程度。
100.可选的,用户可以通过客户端的界面查看单元测试覆盖率。具体的,在检测到用户在客户端的提测任务详情界面执行的单元测试覆盖率查看触发操作时,向服务端发送单元测试覆盖率查看请求。可选的,该用户可以包括测试人员。然后,接收服务端返回的对待测试应用执行单元测试时的单元测试覆盖率,并将单元测试覆盖率进行展示。其中,单元测试覆盖率是对待测试应用执行单元测试用例时调用sonar等代码质量管理工具所获取到的。
101.可选的,在将提测任务信息发送至服务端之后,具体可以是向服务端发送单元测
试请求之后,用户还可以通过客户端的界面触发服务端对待测试应用执行冒烟测试。具体的,在检测到用户在客户端的提测任务详情界面执行的冒烟测试触发操作时,向服务端发送冒烟测试请求,以使服务端在接收到所述冒烟测试请求时获取待测试应用对应的冒烟测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行冒烟测试用例。可选的,该用户可以是测试人员。可选的,可以接收服务端返回的冒烟测试结果,并将冒烟测试结果进行展示,以使测试人员获知对待测试应用的冒烟测试结果。
102.可选的,在对代码规范检测结果和冒烟测试结果进行展示之后,用户(例如,测试人员)可以根据结果确定是否触发正式的自动化测试。如果触发则在客户端的界面上执行测试受理触发操作,从而触发服务端对待测试应用执行自动化测试。具体的,在检测到用户在客户端的提测任务详情界面执行的测试受理触发操作时,向服务端发送测试受理请求,以使服务端在接收到测试受理请求时获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例。
103.可选的,在将提测任务信息发送至服务端之后,用户可以通过客户端的界面查看在自动化测试执行过程中的功能测试覆盖率。具体的,在检测到用户在客户端的提测任务详情界面执行的功能测试覆盖率查看触发操作时,向服务端发送功能测试覆盖率查看请求;接收服务端返回的待测试应用的功能测试覆盖率,并将功能测试覆盖率进行展示。其中,功能测试覆盖率是通过调用jacoco等代码覆盖率工具提供的服务获得的。
104.可选的,在服务端对待测试应用进行自动化测试的过程中,用户可以通过客户端的界面对测试产生的bug进行处理。具体的,接收服务端发送的自动化测试设备执行自动化测试用例时产生的bug信息;将bug信息进行展示,并获取用户基于bug信息在客户端的界面上填写的bug内容和bug处理人。可选的,该用户可以是测试人员,bug内容可以包括为bug预先设定的唯一标识,也可以包括具体的bug详情信息,bug处理人可以是编写该bug位置对应代码的研发人员。然后,向服务端发送携带bug内容和bug处理人的bug转发请求,以使服务端通过调用信息发送模块提供的服务向bug处理人对应的通讯账号发送bug处理通知信息。
105.可选的,用户可以通过客户端的界面查看测试过程中待测试应用在测试机上运行时所产生的日志信息。具体的,在检测到用户在客户端的任务详情界面执行的应用日志查看触发操作时,向服务端发送应用日志查看请求,以使服务端从日志检索平台获取待测试应用在测试机的运行日志;然后,接收服务端返回的运行日志,并将运行日志进行展示。其中,运行日志是日志检索平台基于从es的存储器读取到的待测试应用的日志信息生成的,存储器中的日志信息是测试机发送的待测试应用在运行过程中产生的日志信息。
106.s330、接收服务端返回的测试报告,将测试报告进行展示。
107.在本发明实施例中,测试报告是服务端在根据提测任务信息创建提测任务,将提测任务对应的待测试应用的源代码进行编译,触发测试机基于编译得到的目标文件运行所述待测试应用,以及获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例后,根据自动化测试用例的执行结果生成的。可选的,测试报告中包括但不限于测试任务、测试报告部门、测试结果、相关联系人、相关文档、测试日期、测试用例等测试内容中至少一项。
108.可选的,在接收服务端返回的测试报告之后,用户可以通过客户端的界面触发服务端向提测任务的相关人员发送上线通告信息,以使相关人员获知待测试应用即将上线。
具体的,在检测到用户在客户端的提测任务详情界面执行的上线通告触发操作时,向服务端发送上线通告查看请求,以使服务端生成待测试应用对应的检查表。然后,接收服务端返回的检查表,对检查表进行展示并获取用户在检查表中输入的检查项确认信息。其中,检查表中包含在待测试应用上线前需要确认的检查项。具体的,检查项包括但不限于:代码是否通过代码评审、测试用例是否通过用例评审并全部执行、上线之前是否所有bug均已修复验证、以及是否发送测试报告等检查项目。接着,向服务端发送检查项确认信息,以使服务端基于检查项确认信息生成上线通告信息,并通过调用信息发送模块提供的服务向提测任务对应的相关人员发送上线通告信息。
109.可选的,在向服务端发送检查项确认信息后,用户可以通过客户端的界面触发服务端向提测任务的相关人员发送线上验证报告,以使相关人员获知待测试应用顺利上线。具体的,在检测到用户在客户端的任务详情界面执行的线上验证报告查看触发操作时,向服务端发送线上验证报告查看请求,以使服务端生成待测试应用对应的线上验证表。然后,接收服务端返回的线上验证表,对线上验证表进行展示并获取用户在线上验证表中输入的验证项确认信息;其中线上验证表中包含在待测试应用上线后需要用户确认的验证项。接着,向服务端发送验证项确认信息,以使服务端基于验证项确认信息生成线上验证报告,并通过调用信息发送模块提供的服务向提测任务对应的相关人员的通讯账号发送线上验证报告。
110.在上述实施例的基础上,用户可以通过客户端的界面触发服务端基于测试过程数据进行能效分析,并查看能效分析结果。具体的如图5所示为能效分析结果图。在检测到用户的能效分析触发操作时,向服务端发送携带分析维度的能效分析请求,以使服务端基于存储的各应用的测试过程数据进行分析维度的能效分析,获得能效分析数据;其中,能效分析数据用于代码质量量化和/或工作效率量化。可选的,分析维度包括但不限于:测试团队维度,人员维度,应用维度和项目维度等维度。接收服务端返回的能效分析数据,并将能效分析数据进行展示。可选的,测试团队维度对应的能效分析数据包括:平均需求周期、平均开发周期、平均测试周期、平均交付周期、bug平均处理时效、平均静态代码质量分值、以及平均单测覆盖率中的至少一项。可选的,人员维度对应的能效分析数据包括:提测受理次数、提测驳回次数、bug解决平均失效、bug重开率、静态代码质量分值、单测覆盖率、平均开发周期、执行覆盖率、有效bug数、用例数、平均测试周期、bug拒绝率、以及自动化测试用例涉及数中的至少一项。项目维度对应的能效分析数据包括:bug局势、需求周期、bug平均处理时效、核心工作时段、bug重开率以及需求变更次数中的至少一项。可选的,应用维度对应的能效分析数据包括:静态代码质量分值、提测频次、单侧覆盖率、自动化测试用例关联数、以及自动部署成功率中的至少一项。
111.在上述实施例的基础上,提测任务详情界面中包括如图6(a)所示的流程进度,如图所示,可以将测试全流程中的各个操作节点展示在客户端的提测任务详情界面中,以使相关人员能够通过界面获知当前的测试进度,同时还可以通过点击各节点下的按钮来触发对应的操作,比如通过点击“查看提测报告”按钮来查看提测报告等。提测任务详情界面中还可以如图6(b)所示的日志列表,在该日志列表中可以展示操作日志的相关内容,包括各操作节点的操作人、操作类型、执行结果、以及操作时间等操作信息,通过这些信息的展示可以使相关人员能够清楚了解当前提测任务已经进行的各个操作;可选的,在该日志列表
中还可以展示单元测试覆盖率、功能测试覆盖率、冒烟测试结果、以及自动化测试结果等内容。在上述实施例的基础上,提测任务详情界面还包括如图6(c)所示的关联用例列表和如图6(d)所示的关联bug列表,在如图6(c)所示的关联用例列表中可以展示当前提测任务对应的已执行的自动化测试用例的相关用例信息,包括用例序号、用例内容、用例的创建时间、用例的创建人、用例的执行结果等信息。在如图6(d)所示的关联bug列表中可以展示在执行自动化测试过程中所产生的bug信息,包括bug序号、bug标题、bug的创建人、bug的处理人、bug的创建时间、bug的最新修改时间、bug的当前状态等信息,以使相关人员更清楚当前提测任务的相关bug信息。
112.本发明实施例通过在检测到用户的应用提测触发操作时,展示提测任务界面;获取用户通过提测任务界面输入的对待测试应用的提测任务信息,将提测任务信息发送至服务端;接收服务端返回的测试报告,将测试报告进行展示,实现了测试流程操作简单且可视,方便同时记录整个测试过程数据,提高了测试效率。
113.实施例四
114.图7为本发明实施例四提供的应用测试方法的流程示意图,本实施例可适用于需要对研发的应用软件进行测试的情况。本实施例在上述实施例的基础上,主要体现应用测试方法中客户端与服务端的交互过程。如图7,该方法具体包括以下步骤:
115.s410、客户端在检测到用户的应用提测触发操作时,展示提测任务界面;获取用户通过提测任务界面输入的待测试应用的提测任务信息,将提测任务信息发送至服务端;
116.s411、服务端接收客户端发送的提测任务信息,根据提测任务信息创建提测任务;
117.s412、客户端在检测到用户在界面执行的提测通知触发操作时,向服务端发送提测通知请求;
118.s413、服务端接收客户端发送的提测通知请求,根据提测任务信息确定提测任务对应的相关人员,并通过调用信息发送模块提供的服务向相关人员对应的通讯账号发送提测通知;
119.s414、客户端在检测到用户在界面执行的应用构建触发操作时,向服务端发送应用构建请求;
120.s415、服务端接收客户端发送的应用构建请求,将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用;
121.s416、客户端在检测到用户在界面执行的单元测试触发操作时,向服务端发送单元测试请求;
122.s417、服务端接收客户端发送的单元测试请求,触发代码规范检测设备基于待测试应用的源代码对待测试应用执行单元测试并对源代码进行扫描,获得代码规范检测结果,将代码规范检测结果发送至客户端;
123.s418、客户端接收服务端返回的代码规范检测结果,并将代码规范检测结果进行展示;
124.s419、客户端在检测到用户在界面执行的冒烟测试触发操作时,向服务端发送冒烟测试请求;
125.s420、服务端在接收到客户端发送的冒烟测试请求时,获取待测试应用对应的冒烟测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行冒烟测试用例,将
所述冒烟测试结果返回给客户端;
126.s421、客户端接收服务端返回的冒烟测试结果,并将冒烟测试结果进行展示;
127.s422、客户端在检测到用户在界面执行的测试受理触发操作时,向服务端发送测试受理请求;
128.s423、服务端接收客户端发送的测试受理请求,获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例;根据自动化测试用例的执行结果生成测试报告,并将测试报告返回给客户端进行展示;
129.s424、客户端在检测到用户在界面执行的上线通告触发操作时,向服务端发送上线通告查看请求;
130.s425、服务端生成待测试应用对应的检查表,将检查表返回给客户端;
131.s426、客户端接收服务端返回的检查表,对检查表进行展示并获取用户在检查表中输入的检查项确认信息,并向服务端发送检查项确认信息;
132.s427、服务端接收客户端发送的检查项确认信息,基于检查项确认信息生成上线通告信息,并通过调用信息发送模块提供的服务向提测任务对应的相关人员发送上线通告信息;
133.s428、客户端在检测到用户在界面执行的线上验证报告查看触发操作时,向服务端发送线上验证报告查看请求;
134.s429、服务端接收客户端发送的线上验证报告查看请求,生成待测试应用对应的线上验证表,将线上验证表返回给客户端;
135.s430、客户端接收服务端返回的线上验证表,对线上验证表进行展示并获取用户在线上验证表中输入的验证项确认信息,并向服务端发送验证项确认信息;
136.s431、服务端接收客户端发送的验证项确认信息,基于验证项确认信息生成线上验证报告,并通过调用信息发送模块提供的服务向提测任务对应的相关人员的通讯账号发送线上验证报告。
137.本发明实施例实现了测试流程操作简单且可视,方便同时记录整个测试过程数据,提高了测试效率。
138.实施例五
139.图8为本发明实施例五提供的应用测试装置的结构示意图,该应用测试装置可配置于服务器中。该装置与上述各实施例的应用测试方法属于同一个发明构思,在应用测试装置的实施例中未详尽描述的细节内容,可以参考上述应用测试方法的实施例。
140.该应用测试装置的具体结构如图8所示,包括:提测任务创建模块510、待测试应用运行模块520、自动化测试用例执行模块530和测试报告生成模块540。
141.其中,提测任务创建模块510,用于接收客户端发送的提测任务信息,根据提测任务信息创建提测任务;
142.待测试应用运行模块520,用于将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用;
143.自动化测试用例执行模块530,用于获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例;
144.测试报告生成模块540,用于根据自动化测试用例的执行结果生成提测任务对应
的测试报告,将测试报告返回给客户端进行展示。
145.可选的,该装置还包括:
146.第一提测通知发送单元,用于在根据提测任务信息确定提测任务对应的相关人员,并通过调用信息发送模块提供的服务,向相关人员对应的通讯账号发送提测通知。
147.可选的,第一提测通知发送单元具体用于:
148.在接收到客户端发送的提测通知请求时,根据提测任务信息确定提测任务对应的相关人员,并通过调用信息发送模块提供的服务,向相关人员对应的通讯账号发送提测通知;其中,提测通知请求是用户在客户端的界面执行提测通知触发操作后生成的。
149.可选的,该装置还包括:
150.提测报告生成单元,用于接收客户端发送的提测报告查看请求,根据提测任务信息生成提测报告,并将提测报告发送至客户端进行展示;其中,提测报告查看请求是用户在客户端的界面执行提测报告查看触发操作后生成的。
151.可选的,待测试应用运行模块520具体用于:
152.在接收到客户端发送的应用构建请求时,将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用;其中,应用构建请求是用户在客户端的界面执行应用构建触发操作后生成的。
153.可选的,待测试应用运行模块520具体用于:
154.通过调用应用管理模块提供的服务,获取提测任务对应的待测试应用的应用部署信息;其中,应用部署信息包括:应用代码地址和测试机地址;
155.根据应用代码地址获取到待测试应用的源代码,将源代码进行编译,并将编译得到的目标文件发送至测试机地址对应的测试机,以使测试机基于目标文件运行待测试应用。
156.可选的,该装置还包括:
157.测试机接入单元,用于通过调用主机管理模块提供的服务,采用shh协议将待测试应用对应的测试机接入本系统。
158.可选的,该装置还包括:
159.第一检测结果获取单元,用于触发代码规范检测设备基于待测试应用的源代码对待测试应用执行单元测试并对源代码进行扫描,获得代码规范检测结果;
160.检测结果展示单元,用于将代码规范检测结果返回给客户端进行展示。
161.可选的,第一检测结果获取单元具体用于:
162.在接收到客户端发送的单元测试请求时,触发代码规范检测设备基于待测试应用的源代码对待测试应用执行单元测试并对源代码进行扫描;其中,单元测试请求是在用户在客户端的界面执行单元测试触发操作后生成的。
163.可选的,该装置还包括:
164.第二检测结果获取单元,用于接收客户端发送的单元测试覆盖率查看请求,从代码规范检测设备获取对待测试应用执行单元测试时的单元测试覆盖率,并将单元测试覆盖率返回给客户端进行展示。
165.可选的,该装置还包括:
166.第三检测结果获取单元,用于获取待测试应用对应的冒烟测试用例,并触发自动
化测试设备针对测试机运行的待测试应用执行冒烟测试用例;将执行冒烟测试用例后得到的冒烟测试结果返回给客户端进行展示。
167.可选的,第三检测结果获取单元具体用于:
168.在接收到客户端发送的冒烟测试请求时,获取待测试应用对应的冒烟测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行冒烟测试用例;其中,冒烟测试请求是在用户在客户端的界面执行冒烟测试触发操作后生成的。
169.可选的,自动化测试用例执行模块530具体用于:
170.在接收到客户端发送的测试受理请求时,获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例;其中,测试受理请求是在用户在客户端的界面执行测试受理触发操作后生成的。
171.可选的,该装置还包括:
172.功能测试覆盖率获取单元,用于接收客户端发送的功能测试覆盖率查看请求,从测试机获取待测试应用的功能测试覆盖率,将功能测试覆盖率返回给客户端进行展示。
173.可选的,该装置还包括:
174.错误bug信息发送单元,用于接收测试机执行自动化测试用例时产生的错误bug信息,将bug信息发送给客户端,以使客户端将bug信息进行展示并获取用户基于bug信息在客户端的界面上填写的bug内容和bug处理人;
175.bug转发请求接收单元,用于接收客户端发送的携带bug内容和bug处理人的bug转发请求,通过调用信息发送模块提供的服务向bug处理人对应的通讯账号发送bug处理通知信息;
176.通知消息发送单元,用于在检测到bug状态发生变更时,通过调用信息发送模块提供的服务向提测任务对应的相关人员的通讯账号发送bug状态变更的通知信息。
177.可选的,该装置还包括:
178.运行日志获取单元,用于接收客户端发送的应用日志查看请求,从日志检索平台获取待测试应用在测试机的运行日志,将运行日志返回给客户端进行展示;
179.其中,运行日志是日志检索平台基于从搜索引擎es的存储器读取到的待测试应用的日志信息生成的,存储器中的日志信息是测试机发送的待测试应用在运行过程中产生的日志信息。
180.可选的,该装置还包括:
181.检查表发送单元,用于接收客户端发送的上线通告查看请求,生成待测试应用对应的检查表,将检查表发送至客户端,以使客户端对检查表进行展示并获取用户在检查表中输入的检查项确认信息;其中检查表中包含在待测试应用上线前需要确认的检查项;
182.线上通告消息生成单元,用于接收客户端发送的检查项确认信息,基于检查项确认信息生成上线通告信息,并通过调用信息发送模块提供的服务,向提测任务对应的相关人员的通讯账号发送上线通告信息。
183.可选的,该装置还包括:
184.线上验证表生成单元,用于接收客户端发送的线上验证报告查看请求,生成待测试应用对应的线上验证表,将线上验证表发送至客户端,以使客户端对线上验证表进行展示并获取用户在线上验证表中输入的验证项确认信息;其中线上验证表中包含在待测试应
用上线后需要用户确认的验证项;
185.线上验证报告生成单元,用于接收客户端发送的验证项确认信息,基于验证项确认信息生成线上验证报告,并通过调用信息发送模块提供的服务向提测任务对应的相关人员的通讯账号发送线上验证报告。
186.可选的,该装置还包括:
187.能效分析请求接收模块,用于接收客户端发送的携带分析维度的能效分析请求,基于存储的各应用的测试过程数据进行分析维度的能效分析,获得能效分析数据;其中,能效分析数据用于代码质量量化和/或工作效率量化;
188.能效分析数据发送模块,用于将能效分析数据发送至客户端,以使客户端将能效分析数据进行展示。
189.可选的,分析维度包括:测试团队维度、人员维度、项目维度和应用维度中的至少一项。
190.可选的,测试团队维度对应的能效分析数据包括:平均需求周期、平均开发周期、平均测试周期、平均交付周期、bug平均处理时效、平均静态代码质量分值、以及平均单测覆盖率中的至少一项。
191.可选的,人员维度对应的能效分析数据包括:提测受理次数、提测驳回次数、bug解决平均失效、bug重开率、静态代码质量分值、单测覆盖率、平均开发周期、执行覆盖率、有效bug数、用例数、平均测试周期、bug拒绝率、以及自动化测试用例涉及数中的至少一项。
192.可选的,项目维度对应的能效分析数据包括:bug局势、需求周期、bug平均处理时效、核心工作时段、bug重开率以及需求变更次数中的至少一项。
193.可选的,应用维度对应的能效分析数据包括:静态代码质量分值、提测频次、单侧覆盖率、自动化测试用例关联数、以及自动部署成功率中的至少一项。
194.本发明实施例所提供的应用测试装置可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
195.值得注意的是,上述应用测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
196.实施例六
197.图9为本发明实施例六提供的应用测试装置的结构示意图,该应用测试装置可配置与用户终端中。该装置与上述各实施例的应用测试方法属于同一个发明构思,在应用测试装置的实施例中未详尽描述的细节内容,可以参考上述应用测试方法的实施例。
198.该应用测试装置的具体结构如图9所示,包括:提测任务界面展示模块610、提测任务信息发送模块620、和测试报告接收模块630。
199.其中,提测任务界面展示模块610,用于在检测到用户的应用提测触发操作时,展示提测任务界面;
200.提测任务信息发送模块620,用于获取用户通过提测任务界面输入的待测试应用的提测任务信息,将提测任务信息发送至服务端;
201.测试报告接收模块630,用于接收服务端返回的测试报告,将测试报告进行展示;
202.其中,测试报告是服务端在根据所述提测任务信息创建提测任务,将所述提测任
务对应的待测试应用的源代码进行编译,触发测试机基于编译得到的目标文件运行所述待测试应用,以及获取所述待测试应用对应的自动化测试用例,并触发自动化测试设备针对所述测试机运行的所述待测试应用执行所述自动化测试用例后,根据所述自动化测试用例的执行结果生成的。
203.可选的,该装置还包括:
204.提测通知发送单元,用于在检测到用户在客户端的提测任务详情界面执行的提测通知触发操作时,向服务端发送提测通知请求,以使服务端根据提测任务信息确定提测任务对应的相关人员,并通过调用信息发送模块提供的服务向相关人员对应的通讯账号发送提测通知。
205.可选的,该装置还包括:
206.提测报告查看请求发送单元,用于在检测到用户在客户端的提测任务详情界面执行的提测报告查看触发操作时,向服务端发送提测报告查看请求;
207.提测报告接收单元,用于接收服务端返回的根据提测任务信息生成的提测报告,并将提测报告进行展示。
208.可选的,该装置还包括:
209.应用构建请求发送单元,用于在检测到用户在客户端的提测任务详情界面执行的应用构建触发操作时,向服务端发送应用构建请求,以使服务端在接收到应用构建请求时将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用。
210.可选的,该装置还包括:
211.应用管理界面展示单元,用于在检测到用户的应用添加触发操作时,展示应用管理界面;
212.信息获取单元,用于获取用户通过应用管理界面输入的待测试应用的应用标识和应用部署信息;
213.关联信息存储单元,用于将待测试应用的应用标识和应用部署信息发送至服务端进行关联存储,以使服务端根据应用部署信息中的应用代码地址获取待测试应用的源代码,根据应用部署信息中的测试机地址确定测试机。
214.可选的,该装置还包括:
215.主机管理界面展示单元,用于在检测到用户的主机接入触发操作时,展示主机管理界面;
216.主机接入请求发送单元,用于获取用户通过主机管理界面输入的测试机的地址,向服务端发送携带测试机的地址的主机接入请求,以使服务端通过调用主机管理模块提供的服务,采用shh协议将测试机接入本系统。
217.可选的,该装置还包括:
218.单元测试请求发送单元,用于在检测到用户在客户端的提测任务详情界面执行的单元测试触发操作时,向服务端发送单元测试请求,以使服务端在接收到所述单元测试请求时,触发代码规范检测设备基于待测试应用的源代码对待测试应用执行单元测试并对源代码进行扫描,获得代码规范检测结果;
219.检测结果展示单元,用于接收服务端返回的代码规范检测结果,并将代码规范检
测结果进行展示。
220.可选的,该装置还包括:
221.单元测试覆盖率查看请求发送单元,用于在检测到用户在客户端的提测任务详情界面执行的单元测试覆盖率查看触发操作时,向服务端发送单元测试覆盖率查看请求;
222.查看结果展示单元,用于接收服务端返回的对待测试应用执行单元测试时的单元测试覆盖率,并将单元测试覆盖率进行展示。
223.可选的,该装置还包括:
224.冒烟测试请求发送单元,用于在检测到用户在客户端的提测任务详情界面执行的冒烟测试触发操作时,向服务端发送冒烟测试请求,以使服务端在接收到所述冒烟测试请求时获取待测试应用对应的冒烟测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行冒烟测试用例;
225.冒烟测试结果展示单元,用于接收服务端返回的冒烟测试结果,并将冒烟测试结果进行展示。
226.可选的,该装置还包括:
227.测试受理请求发送单元,用于在检测到用户在客户端的提测任务详情界面执行的测试受理触发操作时,向服务端发送测试受理请求,以使服务端在接收到测试受理请求时获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例。
228.可选的,该装置还包括:
229.功能测试覆盖率查看请求发送单元,用于在检测到用户在客户端的提测任务详情界面执行的功能测试覆盖率查看触发操作时,向服务端发送功能测试覆盖率查看请求;
230.功能测试覆盖率展示单元,用于接收服务端返回的待测试应用的功能测试覆盖率,并将功能测试覆盖率进行展示。
231.可选的,该装置还包括:
232.bug信息接收单元,用于接收服务端发送的自动化测试设备执行自动化测试用例时产生的bug信息;
233.bug信息展示单元,用于将bug信息进行展示并获取用户基于bug信息在客户端的界面上填写的bug内容和bug处理人;
234.bug转发请求发送单元,用于向服务端发送携带bug内容和bug处理人的bug转发请求,以使服务端通过调用信息发送模块提供的服务向bug处理人对应的通讯账号发送bug处理通知信息。
235.可选的,该装置还包括:
236.应用日志查看请求发送单元,用于在检测到用户在客户端的任务详情界面执行的应用日志查看触发操作时,向服务端发送应用日志查看请求,以使服务端从日志检索平台获取待测试应用在测试机的运行日志;其中,运行日志是日志检索平台基于从搜索引擎es的存储器读取到的待测试应用的日志信息生成的,存储器中的日志信息是测试机发送的待测试应用在运行过程中产生的日志信息;
237.运行日志展示单元,用于接收服务端返回的运行日志,并将运行日志进行展示。
238.可选的,该装置还包括:
239.上线通告查看请求发送单元,用于在检测到用户在客户端的提测任务详情界面执行的上线通告触发操作时,向服务端发送上线通告查看请求,以使服务端生成待测试应用对应的检查表;
240.检查表接收单元,用于接收服务端返回的检查表,对检查表进行展示并获取用户在检查表中输入的检查项确认信息;其中检查表中包含在待测试应用上线前需要确认的检查项;
241.检查项确认信息发送单元,用于向服务端发送检查项确认信息,以使服务端基于检查项确认信息生成上线通告信息,并通过调用信息发送模块提供的服务向提测任务对应的相关人员发送上线通告信息。
242.可选的,该装置还包括:
243.线上验证报告查看请求发送单元,用于在检测到用户在客户端的任务详情界面执行的线上验证报告查看触发操作时,向服务端发送线上验证报告查看请求,以使服务端生成待测试应用对应的线上验证表;
244.验证项确认信息获取单元,用于接收服务端返回的线上验证表,对线上验证表进行展示并获取用户在线上验证表中输入的验证项确认信息;其中线上验证表中包含在待测试应用上线后需要用户确认的验证项;
245.验证项确认信息发送单元,用于向服务端发送验证项确认信息,以使服务端基于验证项确认信息生成线上验证报告,并通过调用信息发送模块提供的服务向提测任务对应的相关人员的通讯账号发送线上验证报告。
246.可选的,该装置还包括:
247.能效分析请求发送模块,用于在检测到用户的能效分析触发操作时,向服务端发送携带分析维度的能效分析请求,以使服务端基于存储的各应用的测试过程数据进行分析维度的能效分析,获得能效分析数据;其中,能效分析数据用于代码质量量化和/或工作效率量化;
248.能效分析数据接收模块,用于接收服务端返回的能效分析数据,并将能效分析数据进行展示。
249.可选的,分析维度包括:测试团队维度、人员维度、项目维度和应用维度中的至少一项。
250.可选的,测试团队维度对应的能效分析数据包括:平均需求周期、平均开发周期、平均测试周期、平均交付周期、bug平均处理时效、平均静态代码质量分值、以及平均单测覆盖率中的至少一项。
251.可选的,人员维度对应的能效分析数据包括:提测受理次数、提测驳回次数、bug解决平均失效、bug重开率、静态代码质量分值、单测覆盖率、平均开发周期、执行覆盖率、有效bug数、用例数、平均测试周期、bug拒绝率、以及自动化测试用例涉及数中的至少一项。
252.可选的,项目维度对应的能效分析数据包括:bug局势、需求周期、bug平均处理时效、核心工作时段、bug重开率以及需求变更次数中的至少一项。
253.可选的,应用维度对应的能效分析数据包括:静态代码质量分值、提测频次、单侧覆盖率、自动化测试用例关联数、以及自动部署成功率中的至少一项。
254.本发明实施例所提供的应用测试装置可执行本发明任意实施例所提供的方法,具
备执行方法相应的功能模块和有益效果。
255.值得注意的是,上述应用测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
256.实施例七
257.图10为本发明实施例七提供的应用测试系统的结构示意图,该系统与上述各实施例的应用测试方法属于同一个发明构思,在应用测试系统的实施例中未详尽描述的细节内容,可以参考上述应用测试方法的实施例。
258.该应用测试系统的具体结构如图10所示,包括:服务器710、用户终端720。
259.用户终端720,用于在检测到用户的应用提测触发操作时,展示提测任务界面;获取用户通过提测任务界面输入的待测试应用的提测任务信息,将提测任务信息发送至服务端;接收服务端返回的测试报告,将测试报告进行展示。
260.服务器710,用于接收用户终端发送的提测任务信息,根据提测任务信息创建提测任务;将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用;获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例;根据自动化测试用例的执行结果生成提测任务对应的测试报告,将测试报告返回给用户终端。
261.本发明实施例所提供的应用测试系统可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
262.实施例八
263.图11为本发明实施例八提供的一种电子设备的结构示意图。图11示出了适于用来实现本发明实施方式的示例性电子设备11的框图。图11显示的电子设备11仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
264.如图11所示,电子设备11以通用计算电子设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
265.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
266.电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
267.系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图11未显示,通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd

rom,dvd

rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程
序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
268.具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
269.电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图11所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图11中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
270.处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及样本数据获取,例如实现本发实施例所提供的应用测试方法,
271.其中,当该方法应用于服务端时,该方法包括:
272.接收用户终端发送的提测任务信息,根据提测任务信息创建提测任务;
273.将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用;
274.获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例;
275.根据自动化测试用例的执行结果生成提测任务对应的测试报告,将测试报告返回给用户终端进行展示。
276.其中,当该方法应用于客户端时,该方法包括:
277.在检测到用户的应用提测触发操作时,展示提测任务界面;
278.获取用户通过提测任务界面输入的提测任务信息,将提测任务信息发送至服务端;
279.接收服务端返回的测试报告,将测试报告进行展示;
280.其中,测试报告是服务端在根据提测任务信息创建提测任务,将提测任务对应的待测试应用的源代码进行编译,触发测试机基于编译得到的目标文件运行待测试应用,以及获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例后,根据自动化测试用例的执行结果生成的。
281.当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的样本数据获取方法的技术方案。
282.实施例九
283.本实施例九提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现例如本发实施例所提供的应用测试方法,其中,当该方法应用于服务端
时,该方法包括:
284.接收用户终端发送的提测任务信息,根据提测任务信息创建提测任务;
285.将提测任务对应的待测试应用的源代码进行编译,并触发测试机基于编译得到的目标文件运行待测试应用;
286.获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例;
287.根据自动化测试用例的执行结果生成提测任务对应的测试报告,将测试报告返回给用户终端进行展示。
288.其中,当该方法应用于客户端时,该方法包括:
289.在检测到用户的应用提测触发操作时,展示提测任务界面;
290.获取用户通过提测任务界面输入的提测任务信息,将提测任务信息发送至服务端;
291.接收服务端返回的测试报告,将测试报告进行展示;
292.其中,测试报告是服务端在根据提测任务信息创建提测任务,将提测任务对应的待测试应用的源代码进行编译,触发测试机基于编译得到的目标文件运行待测试应用,以及获取待测试应用对应的自动化测试用例,并触发自动化测试设备针对测试机运行的待测试应用执行自动化测试用例后,根据自动化测试用例的执行结果生成的。
293.本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
294.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
295.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
296.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网
(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
297.本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
298.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1