一种用于软件测试的系统和方法转让专利

申请号 : CN202111545933.5

文献号 : CN113934646B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蒋滔林强云卢辉张怀宇卢章凯

申请人 : 中建电子商务有限责任公司

摘要 :

本申请实施例公开了一种用于软件测试的系统和方法,包括创建测试计划,所述测试计划至少包括两轮测试轮次,其中,所述测试轮次具有先后顺序;载入第一测试用例;依次对每轮测试轮次进行测试,并基于当前测试轮次测试情况与预设条件,确定是否能够流转到下一测试轮次或需要增加测试轮次;当测试完所有测试轮次时,生成第一测试结果;基于所述第一测试结果,生成测试报告;以对整个测试计划进程控制,并对用例执行情况,缺陷情况进行分析统计为项目复盘提供数据支撑。

权利要求 :

1.一种用于软件测试的方法,其特征在于,包括创建测试计划,所述测试计划至少包括两轮测试轮次,其中,所述测试轮次具有先后顺序;

载入第一测试用例;

依次对每轮测试轮次进行测试,并基于当前测试轮次测试情况与预设条件,确定是否能够流转到下一测试轮次或需要增加测试轮次;预设条件是指预先设定的当前测试轮次合格的条件,当当前测试轮次满足预设条件时确定流转到下一测试轮次,当当前测试轮次不满足预设条件时,重新执行当前测试轮次;

当测试完所有测试轮次时,生成第一测试结果;

基于所述第一测试结果,生成测试报告;

所述依次对每轮测试轮次进行测试,并基于当前测试轮次测试情况与预设条件,确定是否能够流转到下一测试轮次或需要增加测试轮次包括导入第二测试用例;

分配测试人员执行测试;

生成第二测试结果;

基于所述第二测试结果,确定所述当前测试轮次是否合格。

2.根据权利要求1所述的用于软件测试的方法,其特征在于,还包括对载入的所述第一测试用例打上标签;

当测试完所有测试轮次时,将最终测试用例中的一个或多个测试用例推送至回归用例池。

3.根据权利要求2所述的用于软件测试的方法,其特征在于,还包括将所述回归用例池中的测试用例转换为自动化测试用例并打上标识。

4.根据权利要求3所述的用于软件测试的方法,其特征在于,所述导入第二测试用例包括从所述回归用例池导入所述第二测试用例。

5.根据权利要求1所述的用于软件测试的方法,其特征在于,所述测试报告至少可以包括所述测试轮次、测试用例执行条数、缺陷修复率、次轮收敛率、测试用例执行率、冒烟测试用例条数、冒烟测试用例通过率、有效缺陷、缺陷密度、缺陷日清率、缺陷重开率、质量收敛率、缺陷原因分布。

6.一种用于软件测试的系统,其特征在于,包括测试计划创建模块,用于创建测试计划,所述测试计划至少包括两轮测试轮次,其中,所述测试轮次具有先后顺序;

第一测试用例载入模块,用于载入第一测试用例;

测试模块,用于依次对每轮测试轮次进行测试,并基于当前测试轮次测试情况与预设条件,确定是否能够流转到下一测试轮次或需要增加测试轮次;预设条件是指预先设定的当前测试轮次合格的条件,当当前测试轮次满足预设条件时确定流转到下一测试轮次,当当前测试轮次不满足预设条件时,重新执行当前测试轮次;

第一测试结果生成模块,用于当测试完所有测试轮次时,生成第一测试结果;

测试报告生成模块,用于基于所述第一测试结果,生成测试报告;

所述测试模块包括:

第二测试用例导入单元,用于导入第二测试用例;

测试人员分配单元,用于分配测试人员执行测试;

第二测试结果生成单元,用于生成第二测试结果;

判断单元,用于基于所述第二测试结果,确定所述当前测试轮次是否合格。

7.根据权利要求6所述的用于软件测试的系统,其特征在于,包括回归用例池,还包括标签关联模块,用于对载入的所述第一测试用例打上标签;

测试用例推送模块,用于当测试完所有测试轮次时,将最终测试用例中的一个或多个测试用例推送至所述回归用例池。

8.根据权利要求7所述的用于软件测试的系统,其特征在于,还包括测试用例转换模块,用于将所述回归用例池中的测试用例转换为自动化测试用例并打上标识。

说明书 :

一种用于软件测试的系统和方法

技术领域

[0001] 本申请涉及软件系统领域,尤其涉及一种用于软件测试的系统和方法。

背景技术

[0002] 作为整个软件生命周期中不可或缺的一环软件测试,市面上却很少有一款专门服务于软件测试的平台或系统,基本都是一些项目管理软件带有测试用例和缺陷管理功能,
但是对于整个软件测试流程来说是不满足实际使用需求的。并且整个软件测试过程中的轮
次流转,上线也是缺少相应的系统门禁,完全取决于人工决定,项目质量风险较高。且在项
目测试完毕之后,也不能自动生成测试报告,不能提供该项目质量相关对的量化数据和各
个维度的数据分析,为项目复盘提供数据支撑。所以软件测试行业都需要有一款可以专门
用户整个测试流程的测试平台,规范测试流程,提高测试效率,提供各个维度的质量看板 。

发明内容

[0003] 本说明书实施例之一提供了一种用于软件测试的方法,包括创建测试计划,所述测试计划至少包括两轮测试轮次,其中,所述测试轮次具有先后顺序;载入第一测试用例;
依次对每轮测试轮次进行测试,并基于当前测试轮次测试情况与预设条件,确定是否能够
流转到下一测试轮次或需要增加测试轮次;当测试完所有测试轮次时,生成第一测试结果;
基于所述第一测试结果,生成测试报告。
[0004] 进一步的,还包括对载入的所述第一测试用例打上标签;当测试完所有测试轮次时,将最终测试用例中的一个或多个测试用例推送至回归用例池。
[0005] 进一步的,还包括将所述回归用例池中的测试用例转换为自动化测试用例并打上标识。
[0006] 进一步的,所述依次对每轮测试轮次进行测试,并基于当前测试轮次测试情况与预设条件,确定是否能够流转到下一测试轮次或需要增加测试轮次包括导入第二测试用
例;分配测试人员执行测试;生成第二测试结果;基于所述第二测试结果,确定所述当前测
试轮次是否合格。
[0007] 进一步的,所述导入第二测试用例包括从所述回归用例池导入所述第二测试用例。
[0008] 进一步的,所述测试报告至少可以包括所述测试轮次、测试用例执行条数、缺陷修复率、次轮收敛率、测试用例执行率、冒烟测试用例条数、冒烟测试用例通过率、有效缺陷、
缺陷修复率、缺陷密度、缺陷日清率、缺陷重开率、质量收敛率、缺陷原因分布。
[0009] 本说明书实施例之一还提供了一种用于软件测试的系统,包括测试计划创建模块,用于创建测试计划,所述测试计划至少包括两轮测试轮次,其中,所述测试轮次具有先
后顺序;第一测试用例载入模块,用于载入第一测试用例;测试模块,用于依次对每轮测试
轮次进行测试,并基于当前测试轮次测试情况与预设条件,确定是否能够流转到下一测试
轮次或需要增加测试轮次;第一测试结果生成模块,用于当测试完所有测试轮次时,生成第
一测试结果;测试报告生成模块,用于基于所述第一测试结果,生成测试报告。
[0010] 进一步的,包括回归用例池,还包括标签关联模块,用于对载入的所述第一测试用例打上标签;测试用例推送模块,用于当测试完所有测试轮次时,将最终测试用例中的一个
或多个测试用例推送至所述回归用例池。
[0011] 进一步的,还包括测试用例转换模块,用于将所述回归用例池中的测试用例转换进一步的,所述测试模块包括第二测试用例导入单元,用于导入第二测试用例;测试人员分
配单元,用于分配测试人员执行测试;第二测试结果生成单元,用于生成第二测试结果;判
断单元,用于基于所述第二测试结果,确定所述当前测试轮次是否合格。

附图说明

[0012] 本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其
中:
[0013] 图1是根据本说明书一些实施例所示的用于软件测试的方法的示例性流程图;
[0014] 图2是根据本说明书一些实施例所示的对每轮测试轮次进行测试的方法的示例性流程图;
[0015] 图3是根据本说明书一些实施例所示的用于软件测试的系统的示例性模块图;
[0016] 图4是根据本说明书一些实施例所示的测试模块的示例性模块图。

具体实施方式

[0017] 为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实
施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标
号代表相同结构或操作。
[0018] 本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图的方式进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结
构。
[0019] 本说明书实施例所涉及的场景至少可以包括用户、服务器、网络和存储设备。
[0020] 在一些实施例中,软件测试系统可以用于各种需要进行软件测试的场景,例如,软件上线测试、软件迭代测试等。
[0021] 用户可以包括测试人员、管理人员、开发人员等中的一种或多种。用户可以通过使用用户终端对软件进行测试,其中,用户终端可以是各种设备(如,智能手机和/或计算机
等),例如,管理人员可以通过用户终端下发测试项目。又例如,测试人员可以通过用户终端
完成测试计划。
[0022] 服务器可以用于管理资源以及处理数据和/或信息。在一些实施中,服务器上设置有处理器,处理器可以用于处理获得的数据、信息等,并根据这些数据、信息等执行程序指
令,以实现本说明书一些实施例中描述的功能。在一些实施例中,服务器可以与用户终端通
信连接,以接收用户发出的指令,实现本说明书一些实施例所述的软件测试的功能。
[0023] 网络可以提供信息交换的渠道。在一些实施例中,用户终端、服务器和存储设备之间可以通过网络进行信息交换。例如,管理人员可以通过网络下发测试项目,服务器接收下
发的测试项目,并生成测试计划、发送至测试人员进行测试,测试人员根据接收的测试计划
进行测试得到测试结果。
[0024] 存储设备可以用于存储数据和/或指令。例如,将测试结果存入存储设备。又例如,将用户终端下发的测试要求存入存储设备。
[0025] 上述方式仅为方便理解,本系统亦可以以其他可行的操作方式实施本说明书一些实施例中的方法。
[0026] 图1是根据本说明书一些实施例所示的用于软件测试的方法的示例性流程图。如图1所示,流程100可以包括以下步骤。在一些实施例中,流程100可以由软件测试系统300执
行。
[0027] 步骤110,创建测试计划,所述测试计划至少包括两轮测试轮次,其中,所述测试轮次具有先后顺序。在一些实施例中,步骤110可以由测试计划创建模块310执行。
[0028] 测试计划可以是指与软件测试相关的计划。在一些实施例中,可以根据项目需求创建测试计划。例如,根据项目的大小创建测试计划。
[0029] 在一些实施例中,可以通过在web界面在线创建或者Excel导入的方式创建功能测试用例。例如,当前某个迭代提测,测试人员可以导入当前迭代的功能测试用例。
[0030] 在一些实施例中,测试计划可以与项目相关联。
[0031] 在一些实施例中,测试计划可以包括项目迭代的测试过程。例如,测试轮次。在一些实施例中,每个项目迭代的测试过程可以对应一个测试计划。
[0032] 测试轮次可以是指进行软件测试的次数。在一些实施例中,测试轮次可以包括首轮和预发布轮。在另一些实施例中,测试轮次还可以包括冒烟轮、次轮等中的一种或多种。
[0033] 在一些实施例中,不同的轮次具有不同的先后顺序。例如,冒烟轮先于首轮、首轮先于次轮、次轮先于预发布轮。
[0034] 在一些实施例中,测试轮次可以根据项目确定。例如,根据项目的大小确定。又例如,根据项目的复杂度确定。
[0035] 步骤120,载入第一测试用例。在一些实施例中,步骤120可以由第一测试用例载入模块320执行。
[0036] 第一测试用例可以是指用于软件迭代测试的测试用例。例如,当前迭代的全部测试用例。
[0037] 在一些实施例中,可以预先将当前迭代的测试用例载入测试系统;也可以在进行测试时载入测试系统。例如,载入预先创建的用于本次迭代的测试用例。又例如,载入该项
目其他迭代的测试用例。
[0038] 在一些实施例中,可以根据测试用例的类型载入测试用例。例如,载入本次迭代所需的功能测试用例。
[0039] 在一些实施例中,还可以包括步骤130,对载入的所述第一测试用例打上标签。在一些实施例中,步骤130可以由标签关联模块340执行。
[0040] 标签可以用于标识测试用例的级别。例如,冒烟、功能、回归等级别。
[0041] 在一些实施例中,一个测试用例可以对应一种标签。例如,测试用例1可以被打上冒烟标签。在另一些实施例中,一个测试用例可以对应多种标签。例如,测试用例2可以被打
上冒烟标签和功能标签。测试用例和标签的关系也可以是其他关系。
[0042] 在一些实施例中,测试系统可以自动识别测试用例的级别,为其打上对应的标签。在另一些实施例中,也可以人工为测试用例打标。
[0043] 在一些实施例中,还可以包括步骤140,当测试完所有测试轮次时,将最终测试用例中的一个或多个测试用例推送至回归用例池。在一些实施例中,步骤140可以由测试用例
推送模块350执行。
[0044] 回归用例池可以是指存储有复用测试用例信息的单元。在一些实施例中,回归用例池可以为测试系统提供复用测试用例的信息。例如,存储有复用测试用例的存储单元。又
例如,记录有复用测试用例地址的文件。其中,复用测试用例可以是指重要的测试用例。例
如,使用次数大于一次的测试用例。又例如,实现主程序功能的测试用例。在一些实施例中,
测试系统可以基于测试用例是否满足复用测试用例的条件将测试用例推送至回归用例池。
例如,将上一次软件迭代或软件开发时使用次数大于一次的测试用例推送至回归用例池。
又例如,将实现主程序功能的测试用例推送至回归用例池。
[0045] 在另一些实施例中,也可以通过其他可行的方式将测试用例推送至回归用例池,包括但不限于手动勾选。
[0046] 最终测试用例可以是指用于软件测试的测试用例的最终版本。例如,用于测试预发布轮所使用的测试用例。又例如,经过修改或删减后,最终确定的测试用例。
[0047] 在一些实施例中,可以基于测试轮次的类型确定最终测试用例。例如,可以将预发布轮所使用的用于实现主程序的测试用例确定为最终测试用例。在一些实施例中,可以将
修改后的测试用例作为最终测试用例。例如,可以将修改后的第一测试用例中的一个或多
个测试用例确定为最终测试用例。
[0048] 在一些实施例中,还包括将所述回归用例池中的测试用例转换为自动化测试用例并打上标识。
[0049] 自动化测试用例是指可以进行自动化测试的测试用例。
[0050] 在一些实施例中,可以通过各种可行的方式将回归池中的测试用例转换为自动化测试用例,包括但不限于手动转化、将回归池中的测试用例与自动化测试进行关联等中的
一种或多种。
[0051] 标识可以用于展示测试用例是否为自动化测试用例。
[0052] 在一些实施例中,可以通过各种可行的方式为自动化的测试用例打上标识。
[0053] 步骤150,依次对每轮测试轮次进行测试,并基于当前测试轮次测试情况与预设条件,确定是否能够流转到下一测试轮次或需要增加测试轮次。在一些实施例中,步骤130可
以由测试模块360执行。
[0054] 当前测试轮次是指当前正在进行测试的测试轮次。
[0055] 预设条件可以是指预先设定的当前测试轮次合格的条件。在一些实施例中,不同测试轮次的预设条件可以不同。例如,冒烟轮测试的预设条件不同于首轮测试的预设条件。
[0056] 下一轮测试次可以是指按照先后顺序,在当前测试轮次后的下一个进行测试的测试轮次。例如,测试计划包括冒烟轮、首轮、次轮和预发布轮,当当前测试轮次为首轮时,下
一测试轮次为次轮。
[0057] 在一些实施例中,执行测试时,可以实时统计当前测试轮次的执行情况,并进行展示。例如,实时显示当前测试轮次的执行进度、通过率和缺陷修复率等。以方便测试人员判
断当前项目的测试质量。
[0058] 关于步骤150的更多内容,参见图2及其相关描述,此处不再赘述。
[0059] 步骤160,当测试完所有测试轮次时,生成第一测试结果。在一些实施例中,步骤160可以由第一测试结果生成模块370执行。
[0060] 第一测试结果可以是指测试计划中所有轮次的测试结果。
[0061] 在一些实施例中,第一测试结果可以包括测试计划的用例执行情况、缺陷情况等中的一种或多种。
[0062] 在一些实施例中,测试系统可以通过各种可行的方式生成第一测试结果,包括但不限于拉取所有第二测试结果,基于第二测试结果生成第一测试结果。例如,将多个测试轮
次的测试结果的测试用例执行进度的和,确定为第一测试结果的测试用例执行进度。又例
如,将第二测试结果的测试用例通过率进行比较,得到第一测试结果的测试用例通过率。其
中,第二测试结果的更多内容,参见图2及其描述,此处不再赘述。
[0063] 步骤170,基于所述第一测试结果,生成测试报告。在一些实施例中,步骤170可以由测试报告生成模块380执行。
[0064] 测试报告可以是指测试计划的统计数据。测试报告可以用于反映本次测试计划的执行情况。
[0065] 在一些实施例中,测试报告可以包括测试结果的表格。
[0066] 在另一些实施例中,测试报告可以包括缺陷原因分布的直方图。
[0067] 在一些实施例中,测试报告可以包括多个维度的指标。例如,与测试用例执行情况相关的指标。又例如,与缺陷的相关数据相关的指标。
[0068] 在一些实施例中,测试用例执行情况可以包括测试用例执行条数、缺陷的相关数据等中的一种或多种。其中,缺陷的相关数据可以包括缺陷的日清率、缺陷重开率、缺陷原
因分布、缺陷总数等中的一种或多种。
[0069] 在一些实施例中,测试报告可以包括所述测试轮次、测试用例执行条数、缺陷修复率、次轮收敛率、测试用例执行率、冒烟测试用例条数、冒烟测试用例通过率、有效缺陷、缺
陷修复率、缺陷密度、缺陷日清率、缺陷重开率、质量收敛率、缺陷原因分布等中的一种或多
种。
[0070] 测试用例执行条数可以是指测试计划中被执行的测试用例的个数。例如,测试用例执行条数可以是被执行过的测试用例的总数(即,不包括重复执行的测试用例)。又例如,
测试用例执行条数可以是执行测试用例的次数(即,包括重复执行的测试用例)。
[0071] 本说明书一些实施例可以反馈测试项目的大小、测试计划的工作量和缺陷的相关数据。
[0072] 缺陷修复率可以表示本轮测试轮次修复缺陷的情况。在一些实施例中,缺陷修复率可以是本轮测试轮次已修复的缺陷数/该轮次总的缺陷数。例如,首轮提了4个缺陷,开发
修复了2个,那么缺陷修复率就是50%。
[0073] 在一些实施例中,缺陷修复率需要大于等于95%。
[0074] 缺陷收敛率可以表示缺陷的收敛情况。在一些实施例中,缺陷收敛率可以是每个轮次的缺陷收敛率。例如,次轮收敛率、回归轮收敛率等。
[0075] 在一些实施例中,次轮收敛率需要大于等于90%、回归轮收敛率需要大于等于95%。
[0076] 测试用例执行率可以表示测试用例的执行情况。在一些实施例中,测试用例执行率可以用百分比表示。例如,已执行测试用例/总测试用例。
[0077] 在一些实施例中,测试用例执行率需要大于等于95%。
[0078] 冒烟测试用例条数可以是指用于冒烟测试的测试用例的个数。
[0079] 冒烟测试用例通过率可以表示指冒烟测试用例的通过情况。
[0080] 在一些实施例中,冒烟用例通过率可以用比值表示。例如,在首轮测试中,冒烟测试用例第一次执行通过数/总冒烟测试用例个数。
[0081] 在一些实施例中,冒烟用例通过率需要大于等于90%。
[0082] 有效缺陷可以是指对软件测试有效的缺陷。例如,妨碍主程序实现的缺陷。
[0083] 在一些实施例中,有效缺陷可以是该计划关联的项目迭代中过滤无效状态后的总的缺陷数。
[0084] 缺陷修复率可以表示缺陷的修复情况。
[0085] 在一些实施例中,缺陷的修复情况可以用比值表示。例如,在项目迭代中有效缺陷已关闭的数量/总的有效缺陷数。
[0086] 在一些实施例中,缺陷修复率需要大于等于95%。
[0087] 缺陷密度可以体现测试用例的质量。在一些实施例中,缺陷密度可以用比值表征。例如,测试用例关联的缺陷的数量/总的测试用例数。
[0088] 在一些实施例中,缺陷密度可以是测试人员的测试用例关联的缺陷数/该测试人员总的缺陷数。
[0089] 本说明书一些实施例可以得出与测试人员相关的用例缺陷密度的指标,实现对测试人员的用例设计质量的统计。
[0090] 缺陷日清率可以用于表示当前清理缺陷的情况。
[0091] 在一些实施例中,缺陷日清率可以用比值表示。例如,该测试计划执行期间,有需要日清缺陷的日期对应日清率总和/有日期缺陷的天数。
[0092] 在一些实施例中,当天5点之前提的优先级为高或紧急的缺陷应该当天日清,当天5点之后提的优先级为高或紧急的缺陷应该第二天24点日清。
[0093] 缺陷重开率可以反馈修复缺陷的情况。例如,开发是否将缺陷修复好。
[0094] 在一些实施例中,缺陷重开率可以用比值表示。例如,缺陷重新打开的次数/总的缺陷数。
[0095] 本说明书一些实施例可以反馈开发人员修复缺陷的能力和态度。
[0096] 质量收敛率可以表示测试轮次的质量。
[0097] 在一些实施例中,质量收敛率可以用比值表示。在一些实施例中,不同的测试轮次的质量收敛率可以用不同的比值表示。例如,次轮的质量收敛率可以为:1‑次轮的bugDI值/
(次轮+首轮的bugDI值)。又例如,回归轮的质量收敛率可以为:1‑回归轮的bugDI值/(次轮+
首轮+回归轮的bugDI值)。其中,bugDI值可以基于缺陷的严重程度有不同的权重,例如,严
重程度:建议:0、轻微:0.1、一般:1、严重:3和致命:10。
[0098] 缺陷原因分布可以用于表示缺陷的分布情况。
[0099] 在一些实施例中,缺陷原因分布可以包括程序逻辑错误、需求理解错误、需求设计不明、与UI交互不符、需求变更、前端兼容性问题、版本依赖问题、系统配置问题、UI设计不
足、接口设计错误、历史遗留问题、代码被覆盖、合并代码问题等中的一种或多种。
[0100] 在一些实施例中,可以对缺陷的分布原因进行统计。在一些实施例中,统计的不同缺陷的分布原因有不同的作用。例如,缺陷原因为需求设计不明的缺陷数/总的缺陷数占比
过高,则可以确定产品人员的需求写的不详细,需要改进。又例如,程序问题的缺陷数占比
过高,则可以确定开发人员的开发质量不行,需要加强自测。
[0101] 测试报告还可以包括测试用例执行进度。测试用例执行进度可以是指每轮测试轮次执行测试用例的情况。
[0102] 在一些实施例中,测试用例执行进度可以用比值表示。例如,执行了的用例数/用例总数。示例性的,在首轮中,执行了8个测试用例,测试用例执行进度为 80%。
[0103] 测试报告还可以包括测试用例通过率。测试用例通过率可以表示本轮测试轮次中测试用例的通过情况。
[0104] 在一些实施例中,测试用例通过率可以用比值表示。例如,测试用例执行状态标记为通过的数量/该轮总的测试用例数。示例性的,首轮执行了8个测试用例,执行通过了6个
测试用例,用例通过率为60%。
[0105] 在一些实施例中,测试报告还可以包括其他各种信息,包括但不限于报告名称、上线目的、上线功能、问题&风险、相关项目人员等中的一种或多种。
[0106] 在一些实施例中,测试报告可以在项目上线后,根据第一测试结果生成。
[0107] 图2是根据本说明书一些实施例所示的对每轮测试轮次进行测试的方法的示例性流程图。如图2所示,流程200包括以下步骤。在一些实施例中,流程200可以由测试模块360
执行。
[0108] 步骤210,导入第二测试用例。在一些实施例中,步骤210可以由第二测试用例导入单元410执行。
[0109] 第二测试用例可以是指用于测试轮次进行测试的测试用例。例如,冒烟轮所需的测试用例。又例如,首轮需要的测试用例。
[0110] 在一些实施例中,可以是根据轮次的类型导入对应的测试用例。例如,对冒烟轮进行测试,将导入测试冒烟轮所需要的冒烟测试用例。
[0111] 在一些实施例中,导入的测试用例可以是本次迭代所需的全部测试用例(如,第一测试用例)。例如,可以将第一测试用例导入首轮进行测试。
[0112] 在一些实施例中,不同轮次导入的测试用例可以不同。在一些实施例中,不同测试轮次的测试用例可以相同。在另一些实施例中,不同轮次的测试用例可以部分重叠。
[0113] 在一些实施例中,可以根据测试轮次的类型自动导入对应轮次的测试用例。例如,测试系统识别本轮测试轮次的类型为冒烟轮时,导入级别为冒烟的测试用例。
[0114] 在一些实施例中,可以包括从所述回归用例池导入所述第二测试用例。例如,测试系统自动拉取回归用例池中的测试用例。
[0115] 在另一些实施例中,还可以通过各种可行的方式导入第二测试用例,包括但不限于手动选择。
[0116] 在一些实施例中,导入第二测试用例时还可以展示所导入的用例是否产生过缺陷。例如,对其他轮次出现过缺陷的测试用例进行标注。
[0117] 步骤220,分配测试人员执行测试。在一些实施例中,步骤220可以由测试人员分配单元420执行。
[0118] 在一些实施例中,测试系统可以通过各种可行的方式将测试用例分配给对应的测试人员进行测试。例如,按测试用例的类型分配测试执行人。
[0119] 步骤230,生成第二测试结果。在一些实施例中,步骤230可以由第二测试结果生成单元430执行。
[0120] 第二测试结果可以是指当前测试轮次的测试结果。例如,执行首轮测试时,第二测试结果可以是首轮测试的测试结果。
[0121] 在一些实施例中,第二测试结果包括多个维度的指标,可以包括测试用例执行进度、缺陷修复率、用例通过率等中的一种或多种。在一些实施例中,第二测试结果可以与第
一测试结果部分相同。
[0122] 在一些实施例中,可以对本轮测试轮次的测试情况进行数据统计得到第二测试结果。例如。统计测试用例的执行情况,生成测试用例的第二测试结果。
[0123] 在一些实施例中,可以基于测试用例的执行情况标记用例状态,其中,用例状态可以是指测试用例的执行状态。在一些实施例中,用例状态可以包括通过、阻塞、失败等中的
一种或多种。
[0124] 在一些实施例中,同一测试用例在不同测试轮次的执行情况可以不同。例如,测试用例1在冒烟轮中的执行情况的执行状态可以是失败,在首轮中的执行情况的执行状态可
以是通过。
[0125] 在一些实施例中,当测试用例的执行状态是失败时,还可以包括记录标记为失败的测试用例。
[0126] 在一些实施例中,标记测试用例的方式可以包括为失败的测试用例关联bug。例如,对于每一个失败的测试用例,为其创建缺陷页面,其中,缺陷页面可以包括该测试用例
的前置条件、测试步骤、预期结果等与该测试用例相关的信息中的一种或多种。
[0127] 本说明书一些实施例实现了节约测试人员创建缺陷的时间。
[0128] 步骤240,基于所述第二测试结果,确定所述当前测试轮次是否合格。在一些实施例中,步骤240可以由判断单元440执行。
[0129] 在一些实施例中,测试用例状态可以用于确定本次测试轮次是否合格。例如,根据测试用例的通过率确定本轮测试是否合格。
[0130] 在一些实施例中,可以通过测试结果中一个或多个指标是否达到预设条件,确定当前测试轮次是否合格。例如,用例执行进度是否达到90%、缺陷修复率是否大于90%、用例
通过率是否达到90%。
[0131] 在一些实施例中,还可以基于图1第一测试结果中所例举的部分测试结果的需求确定当前轮次是否合格。其中,部分测试结果是指第一测试结果中定义和作用与第二测试
结果中相同的测试结果。
[0132] 响应于满足当前测试轮次的预设条件,当前测试轮次合格。响应于不满足当前测试轮次的预设条件,重新执行测试。
[0133] 在一些实施例中,还可以基于第二预测结果,确定当前测试轮次是否需要流转。例如,首轮、测试轮,流转到回归测试轮。
[0134] 在一些实施例中,当用例执行进度为100%,用例通过率大于95%,缺陷修复率大于95%时,当前测试轮次可以进行流转或上线。
[0135] 在一些实施例中,当流转轮次时,可以将流转轮次的测试用例选取到当前测试轮次进行执行。例如,首轮流转到次轮,可以选取首轮的测试用例到次轮来执行,其中,流转的
用例最开始可以为待执行状态。
[0136] 在一些实施例中,第二预测结果还可以包括缺陷收敛率,测试系统还可以基于缺陷收敛率确定是否需要增加测试轮次。例如,次轮测试轮的缺陷收敛率等于 1 ‑ 次轮的
bugDI值总和/(首轮+次轮的bugDI值总和),当缺陷收敛率小于90%时,确定需要增加测试轮
次。
[0137] 图3是根据本说明书一些实施例所示的用于软件测试的系统的示例性模块图。如图3所示,用于软件测试的系统至少可以包括测试计划创建模块310、第一测试用例载入模
块320、测试模块360、第一测试结果生成模块370和测试报告生成模块380。
[0138] 测试计划创建模块310,用于创建测试计划,所述测试计划至少包括两轮测试轮次,其中,所述测试轮次具有先后顺序。在一些实施例中,关于创建测试计划的更多内容,参
见图1及其相关描述,此处不再赘述。
[0139] 第一测试用例载入模块320,用于载入第一测试用例。在一些实施例中,关于载入第一测试用例的更多内容,参见图1及其相关描述,此处不再赘述。
[0140] 测试模块360,用于依次对每轮测试轮次进行测试,并基于当前测试轮次测试情况与预设条件,确定是否能够流转到下一测试轮次或需要增加测试轮次。在一些实施例中,关
于依次对每轮测试轮次进行测试的更多内容,参见图1及其相关描述,此处不再赘述。
[0141] 第一测试结果生成模块370,用于当测试完所有测试轮次时,生成第一测试结果。在一些实施例中,关于生成第一测试结果的更多内容,参见图1及其相关描述,此处不再赘
述。
[0142] 测试报告生成模块380,用于基于所述第一测试结果,生成测试报告。在一些实施例中,关于生成测试报告的更多内容,参见图1及其相关描述,此处不再赘述。
[0143] 在一些实施例中,用于软件测试的系统还可以包括回归用例池330。在一些实施例中,关于回归用例池的更多内容,参见图1及其描述,此处不再赘述。
[0144] 在一些实施例中,用于软件测试的系统还可以包括标签关联模块340,用于对载入的所述第一测试用例打上标签。在一些实施例中,关于对载入的所述第一测试用例打上标
签的更多内容,参见图1及其描述,此处不再赘述。
[0145] 在一些实施例中,用于软件测试的系统还可以包括测试用例推送模块350,用于当测试完所有测试轮次后,将最终测试用例中的一个或多个测试用例推至所述回归用例池。
在一些实施例中,关于将所述第一测试用例中的一个或多个测试用例推送至所述回归用例
池的更多内容,参见图1及其描述,此处不再赘述。送
[0146] 图4是根据本说明书一些实施例所示的测试模块的示例性模块图。如图4所示,测试模块360至少可以包括第二测试用例导入单元410、测试人员分配单元420、第二测试结果
生成单元430和判断单元440。
[0147] 第二测试用例导入单元,用于导入第二测试用例。在一些实施例中,关于导入第二测试用例的更多内容,参见图2及其相关描述,此处不再赘述。
[0148] 测试人员分配单元,用于分配测试人员执行测试。在一些实施例中,关于分配测试人员执行测试的更多内容,参见图2及其相关描述,此处不再赘述。
[0149] 第二测试结果生成单元,用于生成第二测试结果。在一些实施例中,关于生成第二测试结果的更多内容,参见图2及其相关描述,此处不再赘述。
[0150] 判断单元,用于基于所述第二测试结果,确定所述当前测试轮次是否合格。在一些实施例中,关于确定所述当前测试轮次是否合格的更多内容,参见图2及其相关描述,此处
不再赘述。
[0151] 第二测试结果可以展示项目组、迭代、计划名称、测试阶段、已执行的测试用例的个数、失败的测试用例、有效缺陷、执行进度、通过率、缺陷修复率、用例名称、功能模块、测
试用例的等级、创建人、测试用例的状态、分配执行人、执行人、用例编号、用例名称、用例的
执行状态、用例的类型等中的一种或多种数据。
[0152] 测试系统可以按测试轮次的类型勾选测试用例。在一些实施例中,测试用例包括标签。在一另些实施例中,测试用例还可以包括是否发生过缺陷。
[0153] 在一些实施例中,测试系统还可以通过勾选的方式将测试用例进行复用。
[0154] 测试报告可以包括表格。在一些实施例中,表格形式的测试报告可以本次迭代测试的测试轮次、已执行用例数、用例执行率、冒烟用例、冒烟通过率、有效缺陷、缺陷修复率、
缺陷密度、缺陷日清率、缺陷重开率、次轮质量收敛率、回归轮质量收敛率等中的一种或多
种。
[0155] 测试报告可以包括分布直方图。在一些实施例中,测试报告的分布直方图可以展示程序逻辑错误、与UI交互不符、需求理解错误、其他等中的一种或多种。
[0156] 本说明书一些实施例通过测试计划将测试过程分为多个测试轮次。并且每个轮次能够拉取对应测试用例来执行,满足了当前软件测试流程的需求。规范了测试流程,提高了
测试效率。
[0157] 本说明书一些实施例在每个测试轮次流转和上线都有对应的系统门禁,杜绝了人为判断的不稳定因素,提高了项目质量。
[0158] 本说明书一些实施例中每个轮次都有实时的测试情况统计,帮助项目相关人员能够直观的把握当前项目测试的进度和风险。
[0159] 本说明书一些实施例可以自动生成和发送多维度数据统计分析后的测试报告,能够直观向相关人员反馈整个项目的测试情况和质量情况,为项目复盘提供了数据支撑。
[0160] 本说明书一些实施例通过对测试过程阶段划分的标准和名称的不同,可以实现为不同测试轮次确定不同的标准。
[0161] 应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置
可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和
描述的实施例。