一种软件程序的测试方法、装置、介质及设备与流程

文档序号:27293750发布日期:2021-11-06 04:48阅读:91来源:国知局
一种软件程序的测试方法、装置、介质及设备与流程

1.本技术实施例涉及互联网技术领域,尤其涉及一种软件程序的测试方法、装置、介质及设备。


背景技术:

2.随着科技水平的迅速发展,互联网相关企业的业务量激增,需要大量软件来支持企业业务,做到新资金渠道接入的高效交付。
3.现有技术中,软件程序测试的方式主要采用手工测试的方式,测试人员需要参与软件程序的全程测试。此外,在软件程序涉及数据时,测试人员需要编造合适的测试数据。
4.现有技术中的软件程序测试方案,测试效率低,耗时长,测试人力投入大,同时,对于测试人员来说,测试数据制造困难,易出错。因此,软件程序测试方案亟待调整。


技术实现要素:

5.本技术实施例提供一种软件程序的测试方法、装置、介质及设备,可以通过测试系统,来灵活组装测试用例,从而提高软件程序的测试效率,降低测试人力投入,缩短软件程序测试周期。
6.第一方面,本技术实施例提供了一种软件程序的测试方法,所述方法由测试系统执行,所述测试系统部署于电子设备中,用于响应于测试操作,对目标程序进行测试,所述方法包括:
7.获取对目标程序进行定义的测试节点;其中,所述测试节点包括默认接口节点和/或自定义节点;其中,所述自定义节点是预先基于操作指令确定的;
8.根据所述测试节点确定测试用例;
9.响应于测试执行操作,采用所述测试用例对所述测试节点进行测试,得到目标程序的测试结果。
10.第二方面,本技术实施例提供了一种软件程序的测试装置,所述装置配置于测试系统,所述测试系统部署于电子设备中,用于响应于测试操作,对目标程序进行测试,所述装置包括:
11.测试节点获取模块,用于获取对目标程序进行定义的测试节点;其中,所述测试节点包括默认接口节点和/或自定义节点;其中,所述自定义节点是预先基于操作指令确定的;
12.测试用例确定模块,用于根据所述测试节点确定测试用例;
13.测试结果生成模块,用于响应于测试执行操作,采用所述测试用例对所述测试节点进行测试,得到目标程序的测试结果。
14.第三方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术实施例所述的软件程序的测试方法。
15.第四方面,本技术实施例提供了一种电子设备,包括存储器,处理器及存储在存储
器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本技术实施例所述的软件程序的测试方法。
16.本技术实施例所提供的技术方案,通过获取对目标程序进行定义的测试节点,根据测试节点确定测试用例。测试系统可以响应于测试执行操作,采用测试用例对测试节点进行测试,得到目标程序的测试结果。本方案可以通过测试系统,来灵活组装测试用例,从而提高软件程序的测试效率,降低测试人力投入,缩短软件程序测试周期。
附图说明
17.图1是本技术实施例一提供的软件程序的测试方法的流程图;
18.图2为本发明实施例二提供的软件程序的测试方法的流程图;
19.图3为本发明实施例三提供的软件程序的测试装置的结构示意图;
20.图4为本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
21.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部结构。
22.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
23.实施例一
24.图1是本技术实施例一提供的软件程序的测试方法的流程图,本实施例可适用于任何软件程序测试场景,该方法可以由本技术实施例所提供的软件程序的测试装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于电子设备中。
25.如图1所示,所述软件程序的测试方法包括:
26.s110,获取对目标程序进行定义的测试节点;其中,所述测试节点包括默认接口节点和/或自定义节点;其中,所述自定义节点是预先基于操作指令确定的。
27.本方案可以由测试系统执行,所述测试系统部署于电子设备中,用于响应于测试操作,对目标程序进行测试。所述测试系统可以具有前端显示界面,测试人员可以通过前端显示界面登录专属测试业务处理平台。所述测试业务处理平台可以包括软件程序所需的标准化测试节点,所述测试节点可以包括默认接口节点和/或自定义节点。测试人员可以根据实际软件程序的测试场景选择合适的测试节点,也可以添加常用的任务节点以便于满足常规的软件程序功能测试,还可以新建自定义节点以满足多样化的测试需求。所述自定义节点可以是预先基于操作指令确定的,例如可以是调用特定数据库操作指令。
28.所述目标程序可以是待测试的软件程序,也可以是待测试的程序片段。所述目标程序可以根据测试人员、开发人员以及产品人员的业务范围进行合理的拆分和组合。测试系统可以根据所述目标程序,筛选对目标程序进行定义的全部可用的测试节点,测试人员
可以进一步根据实际需要对测试节点进行编辑、复制以及删除等基础操作。所述对目标程序进行定义的测试节点可以具有优先级,测试人员也可以适应性的调整测试节点优先级顺序。
29.s120,根据所述测试节点确定测试用例。
30.测试系统可以根据s110获取的对目标程序进行定义的测试节点,组装测试用例,所述测试用例的数量可以是一个也可以是多个,所述测试节点在多个测试用例中可以重复利用。测试人员可以根据实际测试场景,将测试节点的逻辑顺序进行合理的调整,测试系统可以根据测试人员所做的调整,判断测试节点的逻辑顺序是否合理,对不合理的调整进行提示,以协助测试人员确定有效的测试用例。测试系统可以是根据测试节点之间的输入输出关系、输入输出数据的类型以及数量等,判断测试节点的逻辑顺序是否合理的方式。除此之外,在组装好的测试用例需要测试数据支持时,测试系统可以自动的生成测试用例中各测试节点所需要的测试数据。在特殊的测试场景,测试人员也可以自行编辑测试数据配置到测试用例中。
31.s130,响应于测试执行操作,采用所述测试用例对所述测试节点进行测试,得到目标程序的测试结果。
32.可以理解的,在确定了测试用例之后,测试人员可以选择执行测试,测试系统可以响应于测试执行操作,采用测试用例对测试节点进行测试,得到目标程序的测试结果。测试系统可以包括测试执行的物理和/或虚拟按键,所述测试执行操作可以是测试人员点击测试执行的物理和/或虚拟按键。
33.测试系统在采用测试用例对测试节点进行测试时,可以采用异步方式执行测试用例,也可以是采用同步方式执行测试用例。所述测试结果可以是目标程序是否执行成功,也可以是目标程序执行后输出数据是否与预设测试数据相同,还可以是目标程序执行后输出数据是否在一个合理的数据范围内。根据目标程序的测试结果,测试人员可以判断目标程序是否符合发布或交付标准,如不符合发布或交付标准,开发人员可以根据测试结果进一步优化完善目标程序。
34.在本方案中,可选的,所述在得到目标程序的测试结果之后,所述方法还包括:
35.若检测到测试节点的测试失败,则生成测试节点失败信息并进行告警;所述测试节点失败信息包括测试节点名称、测试节点位置、执行失败时间以及失败原因中的至少一种。
36.在得到目标程序的测试结果之后,如果测试失败,测试系统可以进一步分析测试失败的原因,即定位到哪些测试节点测试失败。所述测试节点的测试失败可以是测试节点的执行过程未能完成,也可以是测试节点的执行结果不符合预设结果要求。如果测试系统检测到测试节点测试失败,测试系统可以生成测试节点执行失败信息,并发出告警信息。所述测试节点失败信息可以包括测试节点名称、测试节点位置、执行失败时间以及失败原因中的至少一种,还可以包括已执行成功节点数量以及未执行节点数量等。所述告警信息可以以邮件的形式发出,也可以是在前端显示界面弹出告警信息窗口,还可以是发出语音告警。测试系统可以根据不同的测试失败类型,采用不同的告警方式,以对告警进行区分,还可以对测试节点测试失败的严重程度进行分级。
37.本方案可以帮助测试人员快速的定位到执行失败的测试节点,方便测试人员分析
测试失败原因,加快测试工作的进程。
38.在上述实施例的基础上,可选的,所述在检测到测试节点的测试失败之后,所述方法还包括:
39.若检测到测试用例的重测指令,则对执行失败的测试节点采用所述测试用例进行重测。
40.在上述方案的基础上,测试系统在检测到测试节点的测试失败之后,测试人员和/或开发人员可以根据测试节点失败信息分析测试失败原因,进一步完善测试节点设置和/或目标程序。假如测试失败是由于测试人员自定义节点执行失败,测试人员可以完善自定义节点的定义,假如测试失败是由于目标程序存在漏洞,开发人员可以完善目标程序。在对测试节点和/或目标程序进行调整之后,还需要再次对目标程序进行测试,此时,测试人员可以触发重测指令,测试系统在检测到测试用例的重测指令后,可以跳过执行成功的测试节点,直接对执行失败的测试节点采用测试用例进行重测。
41.本方案,在检测到重测指令后,对执行失败的测试节点采用测试用例进行重测,可以在保证测试准确率的前提下,大大节约软件程序测试的时间成本,缩短软件程序测试的交付周期。
42.在一个可行的实施例中,可选的,所述方法还包括:
43.收集测试节点的执行日志;所述日志包括测试节点执行时间、执行状态、操作人员以及操作类型中的至少一种。
44.测试系统可以具有日志记录功能,收集测试节点的执行日志,所述日志可以包括测试节点执行时间、执行状态、操作人员以及操作类型中的至少一种,所述日志还可以包括测试节点编号以及节点名称等基本信息,除此之外,在测试节点执行失败时,所述日志还可以包括执行失败原因以及警告提示信息等。
45.所述日志可以包括测试节点在组装测试用例和执行测试用例两个阶段的日志。表1为三条日志记录信息。在组装测试用例阶段,测试人员可以对测试节点进行编辑、删除、复制以及顺序调整等操作,日志可以如下表1中第一条形式所记录,即测试1号人员将a节点添加到测试用例中,测试节点执行时间、执行状态、操作人员以及操作类型如表1所示。在测试用例执行阶段,测试系统采用测试用例对测试节点进行测试,日志可以如下表1中第二条和第三条形式所记录,即系统运行节点a和节点b,测试节点执行时间、执行状态、操作人员以及操作类型如表1所示。
46.表1:
47.节点编号节点名称执行时间执行状态操作人员操作类型a入池接口2021.08.12.9:00:00正常测试1号添加a入池接口2021.08.12.13:00:00正常系统运行b审核申请接口2021.08.12.13:00:03正常系统运行
48.本方案中,测试系统可以实时收集测试节点的执行日志,方便测试人员进行测试交接,同时方便测试人员在测试过程中查找历史测试记录,为后续测试提供依据。
49.本技术实施例所提供的技术方案,通过获取对目标程序进行定义的测试节点,根据测试节点确定测试用例。测试系统可以响应于测试执行操作,采用测试用例对测试节点进行测试,得到目标程序的测试结果。本方案可以通过测试系统,来灵活组装测试用例,从
而提高软件程序的测试效率,降低测试人力投入,缩短软件程序测试周期。
50.实施例二
51.图2为本发明实施例二中的软件程序的测试方法的流程图,本实施例以上述实施例为基础进行优化。如图2所示,本实施例的方法具体包括如下步骤:
52.s210,获取对目标程序进行定义的测试节点;其中,所述测试节点包括默认接口节点和/或自定义节点;其中,所述自定义节点是预先基于操作指令确定的。
53.s220,从测试节点中确定至少一个测试节点作为目标节点。
54.可以理解的,很多测试场景下,需要向测试用例输入测试数据,才能完成正常的目标程序测试。测试系统可以判断每个目标节点是否需要输入数据和是否输出数据,在全部所需的测试节点中选择至少一个测试节点作为目标节点,所述目标节点可以是需要输入数据和/或输出数据的测试节点。
55.s230,对所述目标节点的执行逻辑进行所述目标节点的输入输出数据封装,得到测试用例。
56.进一步的,测试系统可以按照s220确定的目标节点,测试系统在组装测试用例之前,可以根据每个测试节点所要完成的测试任务确定测试节点的排列顺序,即确定目标节点的执行逻辑。测试系统根据目标节点的执行逻辑,可以确定哪些目标节点需要输入数据,哪些目标节点需要对输出数据进行检验。测试数据可以为需要输入数据的目标节点提供符合条件的测试数据,所述符合条件可以是符合输入数据的类型、输入数据的数量、输入数据的精度以及输入数据的范围等等。测试系统在依据目标节点的执行逻辑,为全部目标节点进行输入输出数据封装后,就可以得到用于测试的测试用例。
57.在本方案中,可选的,所述对所述目标节点的执行逻辑,进行所述目标节点的输入输出数据封装,得到测试用例,包括:
58.根据所述目标节点的执行逻辑,确定所述目标节点是否需要构建输入输出数据;
59.若是,则根据所述目标节点的节点类型,从预设可选范围中构建输入输出数据,并进行封装,得到测试用例。
60.具体的,测试系统可以依据目标节点的执行逻辑,确定目标节点是否需要构建输入输出数据。以一个具体的例子来说,假设存在两个目标节点,节点a和节点b,两个目标节点的执行逻辑是节点a在节点b之前执行,并且节点b需要调用节点a的1个输出数据。其中,节点a需要1个输入数据,节点a执行结束后可以输出2个输出数据,节点b需要3个输入数据,无输出数据。根据上述目标节点的执行逻辑,测试系统需要为节点a配置一个输入数据,为节点b配置2个输入数据。
61.如果目标节点需要构建输入输出数据,测试系统可以根据目标节点的节点类型,从预设可选范围中构建输入输出数据。所述预设可选范围可以是根据历史数据得到的参考范围,也可以是符合常识和专业知识的数值范围,例如某事件发生概率应该在0

1范围内。所述构建输入输出数据的方式可以是由测试系统在预设参考范围内随机生成,也可以是在预设参考范围内设置默认值,还可以根据实际场景提供几种典型数据,测试系统根据测试场景在多种典型数据中进行选择。
62.本方案可以为有输入输出数据需求的目标节点,进行科学造数,解决了测试人员的造数难题,避免了测试人员因为造数问题造成测试错误,减缓测试进度。
63.在上述实施例的基础上,可选的,所述输入输出数据包括输入数据、输出数据以及输入和输出数据;
64.所述预设可选范围是根据所述目标节点在所述目标程序中的执行逻辑确定的。
65.在上述方案的基础上,所述输入输出数据可以包括输入数据、输出数据以及输入和输出数据。根据目标节点在目标程序中的执行逻辑,目标节点可能需要输入数据,也可能需要输出数据,还可能既需要输入数据也需要输出数据。所述预设可选范围可以是根据目标节点在目标程序中的执行逻辑确定的。以一个具体的例子来说,假设存在两个目标节点,节点a和节点b,两个目标节点的执行逻辑是节点a在节点b之前执行,并且节点b需要调用节点a的输出数据。节点b的输入数据依赖于节点a的输出数据,因此,节点b的输入输出数据的预设可选范围可以根据目标节点在目标程序中的执行逻辑确定。
66.本方案可以为测试系统设置预设可选范围提供可靠依据,实现科学造数,保证数据的可靠性,可以加快测试进程,提高测试效率。
67.s240,响应于测试执行操作,采用所述测试用例对所述测试节点进行测试,得到目标程序的测试结果。
68.本技术实施例所提供的技术方案,通过获取对目标程序进行定义的测试节点,根据测试节点确定测试用例。测试系统可以响应于测试执行操作,采用测试用例对测试节点进行测试,得到目标程序的测试结果。本方案可以通过测试系统,来灵活组装测试用例,实现科学造数,从而提高软件程序的测试效率,降低测试人力投入,缩短软件程序测试周期。
69.实施例三
70.图3为本发明实施例三提供的一种软件程序的测试装置的结构示意图,该装置配置于测试系统,所述测试系统部署于电子设备中,用于响应于测试操作,对目标程序进行测试,所述装置可执行本发明任意实施例所提供的软件程序的测试方法,具备执行方法相应的功能模块和有益效果。如图3所示,该装置可以包括:
71.测试节点获取模块310,用于获取对目标程序进行定义的测试节点;其中,所述测试节点包括默认接口节点和/或自定义节点;其中,所述自定义节点是预先基于操作指令确定的;
72.测试用例确定模块320,用于根据所述测试节点确定测试用例;
73.测试结果生成模块330,用于响应于测试执行操作,采用所述测试用例对所述测试节点进行测试,得到目标程序的测试结果。
74.在本实施例中,可选的,所述测试用例确定模块320,具体用于:
75.从测试节点中确定至少一个测试节点作为目标节点;
76.对所述目标节点的执行逻辑进行所述目标节点的输入输出数据封装,得到测试用例。
77.在一个可行的实施例中,可选的,所述测试结果生成模块330,还用于:
78.若检测到测试节点的测试失败,则生成测试节点失败信息并进行告警;所述测试节点失败信息包括测试节点名称、测试节点位置、执行失败时间以及失败原因中的至少一种。
79.在另一个可行的实施例中,可选的,所述测试结果生成模块330,还用于:
80.若检测到测试用例的重测指令,则对执行失败的测试节点采用所述测试用例进行
重测。
81.可选的,所述装置还包括:
82.执行日志收集模块,用于收集测试节点的执行日志;所述日志包括测试节点执行时间、执行状态、操作人员以及操作类型中的至少一种。
83.在本方案中,可选的,所述测试用例确定模块320,具体用于:
84.根据所述目标节点的执行逻辑,确定所述目标节点是否需要构建输入输出数据;
85.若是,则根据所述目标节点的节点类型,从预设可选范围中构建输入输出数据,并进行封装,得到测试用例。
86.在上述实施例的基础上,可选的,所述输入输出数据包括输入数据、输出数据以及输入和输出数据;
87.所述预设可选范围是根据所述目标节点在所述目标程序中的执行逻辑确定的。
88.上述产品可执行本技术实施例所提供的软件程序的测试方法,具备执行方法相应的功能模块和有益效果。
89.实施例四
90.本发明实施例四提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术所有发明实施例提供的软件程序的测试方法:
91.获取对目标程序进行定义的测试节点;其中,所述测试节点包括默认接口节点和/或自定义节点;其中,所述自定义节点是预先基于操作指令确定的;
92.根据所述测试节点确定测试用例;
93.响应于测试执行操作,采用所述测试用例对所述测试节点进行测试,得到目标程序的测试结果。
94.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
95.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
96.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。
97.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以
完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
98.实施例五
99.本技术实施例五提供了一种电子设备。图4是本技术实施例五提供的一种电子设备的结构示意图。如图4所示,本实施例提供了一种电子设备400,其包括:一个或多个处理器420;存储装置410,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器420执行,使得所述一个或多个处理器420实现本技术实施例所提供的软件程序的测试方法,该方法包括:
100.获取对目标程序进行定义的测试节点;其中,所述测试节点包括默认接口节点和/或自定义节点;其中,所述自定义节点是预先基于操作指令确定的;
101.根据所述测试节点确定测试用例;
102.响应于测试执行操作,采用所述测试用例对所述测试节点进行测试,得到目标程序的测试结果。
103.当然,本领域技术人员可以理解,处理器420还实现本技术任意实施例所提供的软件程序的测试方法的技术方案。
104.图4显示的电子设备400仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
105.如图4所示,该电子设备400包括处理器420、存储装置410、输入装置430和输出装置440;电子设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;电子设备中的处理器420、存储装置410、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线450连接为例。
106.存储装置410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本技术实施例中的软件程序的测试方法对应的程序指令。
107.存储装置410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
108.输入装置430可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏、扬声器等电子设备。
109.本技术实施例提供的电子设备,可以通过测试系统,来灵活组装测试用例,从而提高软件程序的测试效率,降低测试人力投入,缩短软件程序测试周期。
110.上述实施例中提供的软件程序的测试装置、介质及设备可执行本技术任意实施例所提供的软件程序的测试方法,具备执行该方法相应的功能模块和有益效果。未在上述实
施例中详尽描述的技术细节,可参见本技术任意实施例所提供的软件程序的测试方法。
111.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1