CN109189673B - 一种软件的测试方案、测试用例的确定方法及装置 - Google Patents

一种软件的测试方案、测试用例的确定方法及装置 Download PDF

Info

Publication number
CN109189673B
CN109189673B CN201810921320.9A CN201810921320A CN109189673B CN 109189673 B CN109189673 B CN 109189673B CN 201810921320 A CN201810921320 A CN 201810921320A CN 109189673 B CN109189673 B CN 109189673B
Authority
CN
China
Prior art keywords
test
degree
determining
candidate
scheme
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810921320.9A
Other languages
English (en)
Other versions
CN109189673A (zh
Inventor
杜丹
王大鹏
邸泽朝
林方健
苗立云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Union Mobile Pay Electronic Commerce Co ltd
Original Assignee
Union Mobile Pay Electronic Commerce Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Union Mobile Pay Electronic Commerce Co ltd filed Critical Union Mobile Pay Electronic Commerce Co ltd
Priority to CN201810921320.9A priority Critical patent/CN109189673B/zh
Publication of CN109189673A publication Critical patent/CN109189673A/zh
Application granted granted Critical
Publication of CN109189673B publication Critical patent/CN109189673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种软件的测试方案、测试用例的确定方法及装置。所述方法包括:根据测试用例之前的关联关系,确定测试用例的度,从而根据测试用例的度来确定候选测试方案,进而可以根据候选测试方案的度,确定出目标测试方案。如此,能够使得确定出的目标测试方案能够更充分的覆盖被测软件的重点功能,相比于现有技术中人为确定的测试方案而言,本发明实施例保证了筛选出来的测试方案中每个测试用例的重要性,通过筛选出来的测试方案,能够更全面的、更精确的覆盖被测试软件的重点功能。

Description

一种软件的测试方案、测试用例的确定方法及装置
技术领域
本发明涉及软件测试技术领域,尤其涉及一种软件的测试方案、测试用例的确定方法及装置。
背景技术
软件测试是软件生命周期的一个非常重要的环节,在软件系统运行前和运行期间,软件系统都需要经过反复多遍的测试。软件测试行为中,除了根据测试说明和测试用例进行的测试行为外,还需要对软件进行随机测试。随机测试是根据测试说明和测试用例执行测试的一种补充手段。随机测试是对被测软件的一些重要功能进行复测,理论上,每一个被测软件都需要执行随机测试,尤其对于即将要发布的版本更要进行随机测试。
现有技术中,在确定软件的随机测试的测试方案时,通常是基于测试人员的经验和对被测软件的了解,人为制定测试方案。然而,依赖人为的经验进行的随机测试行为具有很大的不确定性和不稳定性,并且,对于测试人员的专业素质要求较高,容易受到其他外界因素的干扰,从而影响测试的质量。
基于此,目前亟需一种软件的测试方案的确定方法,用于解决现有技术中人为制定随机测试的测试方案导致降低测试质量的问题。
发明内容
本发明实施例提供一种软件的测试方案的确定方法,以解决现有技术中人为制定随机测试的测试方案导致降低测试质量的技术问题。
本发明实施例提供一种软件的测试方案的确定方法,所述方法包括:
获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的出度和入度;所述任意两个功能节点分别对应的测试用例的关联关系是根据所述任意两个功能节点之间的关联关系确定的;
根据所述每个测试用例的出度和入度,从所述多个测试用例中确定出至少一个起始测试用例和至少一个终止测试用例;
根据所述至少一个起始测试用例和所述至少一个终止测试用例,以及所述任意两个功能节点分别对应的测试用例的关联关系,确定至少一种候选测试方案;
根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度;所述第一候选测试方案为所述至少一种候选测试方案中任意一种;
根据所述每个候选测试方案的度,从所述至少一种候选测试方案中确定出目标测试方案。
如此,根据测试用例之前的关联关系,确定测试用例的度,从而根据测试用例的度来确定候选测试方案,进而可以根据候选测试方案的度,确定出目标测试方案。采用这种方法,将测试用例之间的关联关系抽象为网络模型,测试用例的度代表着测试用例的重要性,度约大,对应的测试用例与被测软件的重要功能关系越密切,即测试用例越重要。如此,能够使得确定出的目标测试方案能够更充分的覆盖被测软件的重点功能,相比于现有技术中人为确定的测试方案而言,本发明实施例保证了筛选出来的测试方案中每个测试用例的重要性,通过筛选出来的测试方案,能够更全面的、更精确的覆盖被测试软件的重点功能。
在一种可能的实现方式中,从所述至少一种候选测试方案中确定出目标测试方案之前,还包括:
根据所述第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的权重值,确定所述第一候选测试方案的权重值;所述测试用例的权重值是根据测试用例对应的BUG数量确定的;
根据所述每个候选测试方案的度,从所述至少一种候选测试方案中确定出目标测试方案,包括:
根据所述每个候选测试方案的度和所述每个候选测试方案的权重值,从所述至少一种候选测试方案中确定出所述目标测试方案。
测试用例的权重值,代表着测试用例与BUG的关联程度,测试用例的权重值越大,所产出的BUG数越多,对应的功能节点越脆弱,需要投入更多的精力和时间去测试这些功能节点。采用上述方法,重点关注容易出现BUG的功能节点,使得软件测试更加符合八二定律(80%的缺陷出现在20%的功能节点中)确保了筛选出来的测试方案中每个测试用例能够更全面的覆盖容易出现BUG的功能节点,即能够更多的测试上文中提到的20%的功能节点。
在一种可能的实现方式中,所述方法还包括:
根据所述软件的每个测试用例的出度和入度,确定所述软件的多个测试用例对应的平均度;以及根据所述软件的每个测试用例的权重值,确定所述软件的多个测试用例对应的平均权重值;
根据所述每个候选测试方案的度和所述每个候选测试方案的权重值,从所述至少一种候选测试方案多个测试用例中确定出所述目标测试方案用例,包括:
根据所述每个候选测试方案的度、所述软件的多个测试用例对应的平均度、所述每个候选测试方案的权重值以及所述软件的多个测试用例对应的平均权重值,从所述至少一种候选测试方案中确定所述目标测试方案;所述目标测试方案的度大于所述软件的多个测试用例对应的平均度,且所述目标测试方案的权重值大于所述软件的多个测试用例对应的平均权重值。
如此,在对测试方案进行筛选的过程中,通过对比候选测试方案的平均度和所有测试用例对应的平均度,以及对比候选测试方案的权重值和所有测试用例对应的平均权重值,使得筛选出来的目标测试方案更加符合软件的特点,能够有效提高软件测试的质量。
在一种可能的实现方式中,根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度,包括:
根据所述第一候选测试方案包括的测试用例,确定所述第一候选测试方案包括的测试用例的个数;
根据所述第一候选测试方案包括的测试用例的个数,以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案包括的测试用例的平均度,并将所述第一候选测试方案包括的测试用例的平均度作为所述第一候选测试方案的度。
本发明实施例还提供一种软件的测试用例的确定方法,所述方法包括:
获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
根据任意两个功能节点之间的关联关系,确定所述任意两个功能节点分别对应的测试用例的关联关系;
根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的度;
根据所述每个测试用例的度,从所述多个测试用例中确定出目标测试用例。
如此,根据测试用例之前的关联关系,确定测试用例的度,进而可以根据测试用例的度,确定出目标测试用例。采用这种方法,将测试用例之间的关联关系抽象为网络模型,测试用例的度代表着测试用例的重要性,度约大,对应的测试用例与被测软件的重要功能关系越密切,即测试用例越重要。如此,能够使得确定出的目标测试用例能够更充分的覆盖被测软件的重点功能,从而提高软件测试的质量。
在一种可能的实现方式中,在从所述多个测试用例中确定出目标测试用例之前,还包括:
根据每个测试用例对应的缺陷BUG数量,确定所述每个测试用例的权重值;所述每个测试用例对应的BUG数量是根据所述每个测试用例的历史测试结果得到的;
根据所述每个测试用例的度,从所述多个测试用例中确定出目标测试用例,包括:
根据所述每个测试用例的度和所述每个测试用例的权重值,从所述多个测试用例中确定出目标测试用例。
测试用例的权重值,代表着测试用例与BUG的关联程度,测试用例的权重值越大,所产出的BUG数越多,对应的功能节点越脆弱,需要投入更多的精力和时间去测试这些功能节点。采用上述方法,重点关注容易出现BUG的功能节点,使得软件测试更加符合八二定律(80%的缺陷出现在20%的功能节点中)确保了筛选出来的测试用例中每个测试用例能够更全面的覆盖容易出现BUG的功能节点,即能够更多的测试上文中提到的20%的功能节点。
在一种可能的实现方式中,根据所述每个测试用例的度和所述每个测试用例的权重值,从所述多个测试用例中确定出目标测试用例,包括:
根据所述每个测试用例的度,从所述多个测试用例中确定出度大于第一阈值的至少一个候选测试用例;
根据所述每个测试用例的权重值,从所述至少一个候选测试用例中确定出权重值大于第二阈值的目标测试用例。
本发明实施例提供一种软件的测试方案的确定装置,所述装置包括:
获取单元,用于获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
处理单元,用于根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的出度和入度;所述任意两个功能节点分别对应的测试用例的关联关系是根据所述任意两个功能节点之间的关联关系确定的;并根据所述每个测试用例的出度和入度,从所述多个测试用例中确定出至少一个起始测试用例和至少一个终止测试用例;并根据所述至少一个起始测试用例和所述至少一个终止测试用例,以及所述任意两个功能节点分别对应的测试用例的关联关系,确定至少一种候选测试方案;并根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度;所述第一候选测试方案为所述至少一种候选测试方案中任意一种;
确定单元,用于根据所述每个候选测试方案的度,从所述至少一种候选测试方案中确定出目标测试方案。
在一种可能的实现方式中,在所述确定单元从所述至少一种候选测试方案中确定出目标测试方案之前,所述处理单元还用于:
根据所述第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的权重值,确定所述第一候选测试方案的权重值;所述测试用例的权重值是根据测试用例对应的BUG数量确定的;
所述确定单元具体用于:
根据所述每个候选测试方案的度和所述每个候选测试方案的权重值,从所述至少一种候选测试方案中确定出所述目标测试方案。
在一种可能的实现方式中,所述处理单元还用于:
根据所述软件的每个测试用例的出度和入度,确定所述软件的多个测试用例对应的平均度;以及根据所述软件的每个测试用例的权重值,确定所述软件的多个测试用例对应的平均权重值;
所述确定单元具体用于:
根据所述每个候选测试方案的度、所述软件的多个测试用例对应的平均度、所述每个候选测试方案的权重值以及所述软件的多个测试用例对应的平均权重值,从所述至少一种候选测试方案中确定所述目标测试方案;所述目标测试方案的度大于所述软件的多个测试用例对应的平均度,且所述目标测试方案的权重值大于所述软件的多个测试用例对应的平均权重值。
在一种可能的实现方式中,所述处理单元具体用于:
根据所述第一候选测试方案包括的测试用例,确定所述第一候选测试方案包括的测试用例的个数;
根据所述第一候选测试方案包括的测试用例的个数,以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案包括的测试用例的平均度,并将所述第一候选测试方案包括的测试用例的平均度作为所述第一候选测试方案的度。
本发明实施例还提供一种软件的测试用例的确定装置,所述装置包括:
获取单元,用于获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
处理单元,用于根据任意两个功能节点之间的关联关系,确定所述任意两个功能节点分别对应的测试用例的关联关系;以及根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的度;
确定单元,用于根据所述每个测试用例的度,从所述多个测试用例中确定出目标测试用例。
在一种可能的实现方式中,在所述确定单元从所述多个测试用例中确定出目标测试用例之前,所述处理单元还用于:
根据每个测试用例对应的缺陷BUG数量,确定所述每个测试用例的权重值;所述每个测试用例对应的BUG数量是根据所述每个测试用例的历史测试结果得到的;
所述确定单元具体用于:
根据所述每个测试用例的度和所述每个测试用例的权重值,从所述多个测试用例中确定出目标测试用例。
在一种可能的实现方式中,所述确定单元具体用于:
根据所述每个测试用例的度,从所述多个测试用例中确定出度大于第一阈值的至少一个候选测试用例;
根据所述每个测试用例的权重值,从所述至少一个候选测试用例中确定出权重值大于第二阈值的目标测试用例。
本发明实施例还提供一种装置,所述装置包括:
存储器,用于存储软件程序;
处理器,用于读取所述存储器中的软件程序并执行上述各种可能的实现方式中所描述的软件的测试方案的确定方法或软件的测试用例的确定。
本发明实施例还提供一种计算机存储介质,所述存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时实现上述各种可能的实现方式中所描述的软件的测试方案的确定方法或软件的测试用例的确定。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的软件的测试方案的确定方法或软件的测试用例的确定。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1为本发明实施例提供的一种软件的测试方案的确定方法所对应的流程示意图;
图2a为本发明实施例中多个功能节点之间的关系示意图;
图2b为本发明实施例中多个功能节点对应的测试用例之间的关系示意图;
图3为本发明实施例中所涉及到的软件的测试方案的确定的整体性流程的示意图;
图4为本发明实施例提供的一种软件的测试方案的确定装置的结构示意图;
图5为本发明实施例提供的一种软件的测试用例的确定方法所对应的流程示意图;
图6为本发明实施例中所涉及到的软件的测试用例的确定的整体性流程的示意图;
图7为本发明实施例提供的一种软件的测试用例的确定装置的结构示意图。
具体实施方式
下面结合说明书附图对本申请进行具体说明,方法实施例中的具体操作方法也可以应用于装置实施例中。
实施例一
图1示例性示出了本发明实施例提供的一种软件的测试方案的确定方法所对应的流程示意图。如图1所示,具体包括如下步骤:
步骤101,获取软件的多个测试用例。
测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包括测试目标,测试环境,输入数据,测试步骤,预期结果,测试脚本等并形成文档。
软件的多个测试用例的获取方式有多种,例如,可以是从预设的测试用例数据库中获取测试用例;或者,也可以是获取测试人员现场编写的测试用例,具体不做限定。
本发明实施例中,软件可以包括多个功能节点,且,多个功能节点中的任一功能节点可以对应多个测试用例中的至少一个测试用例。举个例子,如表1所示,为测试用例和功能节点的对应关系的一种示例。
表1:初始测试用例和功能节点的对应关系的一种示例
测试用例的编号 功能节点
测试用例a 功能节点A
测试用例b 功能节点B
测试用例c 功能节点C
测试用例d 功能节点D
…… ……
需要说明的是,表1仅为一种示例,在其它可能的示例中,测试用例和功能节点之间也可以是多对一的关系,例如,测试用例a和测试用例b也可以都对应功能节点A,具体不做限定。
步骤102,根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的出度和入度。
本发明实施例中,任意两个功能节点分别对应的测试用例的关联关系可以是根据任意两个功能节点之间的关联关系确定的。如图2a所示,为本发明实施例中多个功能节点之间的关系示意图。从图2a中可以看出,软件共有四个功能节点,分别为功能节点A、功能节点B、功能节点C和功能节点D。这四个功能节点可以存在三种关联关系,第一种关系为,功能节点A指向功能节点B,功能节点B指向功能节点C,功能节点C指向功能节点D,表明软件中执行功能节点A之后可以执行功能节点B,执行功能节点B之后可以执行功能节点C,执行功能节点C之后可以执行功能节点D;第二种关系为,功能节点A指向功能节点C,功能节点C指向功能节点D,表明软件中执行功能节点A之后可以执行功能节点C,执行功能节点C之后可以执行功能节点D;第三种关系为,功能节点A指向功能节点D,表明软件中执行功能节点A之后可以执行功能节点D。
相应地,根据图2a示出的内容,可以得到功能节点分别对应的测试用例之间的关联关系。如图2b所示,为本发明实施例中多个功能节点对应的测试用例之间的关系示意图。其中,功能节点A对应测试用例a,功能节点B对应测试用例b,功能节点C对应测试用例c,功能节点D对应测试用例d。
从图2b中可以看出,这四个功能节点对应的测试用例可以存在三种关联关系,第一种关系为,测试用例a指向测试用例b,测试用例b指向测试用例c,测试用例c指向测试用例d,表明在采用测试用例a对软件进行测试后可以采用测试用例b对软件进行测试,在采用测试用例b对软件进行测试后可以采用测试用例c对软件进行测试,在采用测试用例c对软件进行测试后可以采用测试用例d对软件进行测试。
第二种关系为,测试用例a指向测试用例c,测试用例c指向测试用例d,表明在采用测试用例a对软件进行测试后可以采用测试用例c对软件进行测试,在采用测试用例c对软件进行测试后可以采用测试用例d对软件进行测试。
第三种关系为,测试用例a指向测试用例d,表明在采用测试用例a对软件进行测试后可以采用测试用例d对软件进行测试。
上述三种关系中,以测试用例a指向测试用例b为例,一个测试用例指向另一测试用例可以理解为,测试用例a为测试用例b的前置测试用例,测试用例b为测试用例a的后置测试用例。相应地,测试用例b指向测试用例c,或测试用例c指向测试用例d也可以采用上述方式进行理解,在此不再赘述。
进一步地,图2b可以看做是由测试用例构建的随机测试的复杂网络,每个测试用例可以看做是该网络中的节点,任意两个测试用例之间的关联关系可以看做是网络的边,记作<Vi,Vj>。其中,Vi可以表示前置测试用例,Vj可以表示后置测试用例。
更进一步地,网络的边可以具有方向,前置测量用例指向后置测试用例即为边的方向。进而,图2b示出的边包括以下几种:
(1)<Va,Vb>;其中,Va为测试用例a,Vb为测量用例b。
(2)<Va,Vc>;其中,Va为测试用例a,Vc为测量用例c。
(3)<Va,Vd>;其中,Va为测试用例a,Vd为测量用例d。
(4)<Vb,Vc>;其中,Vb为测量用例b,Vc为测试用例c。
(5)<Vc,Vd>;其中,Vc为测量用例c,Vd为测试用例d。
本发明实施例中,出度可以是指由一个节点指出的边的个数。以图2b示出的网络结构为例,测试用例a指出的边为<Va,Vb>、<Va,Vc>、<Va,Vd>,可知测量用例a的出度为3;测试用例b指出的边为<Vb,Vc>,可知测量用例b的出度为1;测试用例c指出的边为<Vc,Vd>,可知测量用例c的出度为1;测试用例d没有指出的边,可知测试用例d的出度为0,进一步可知,当一个节点的出度为0时,意味着该节点没有后置用例。
入度可以是指向一个节点的边的格式。以图2b示出的网络结构为例,没有指向测试用例a的边,可知测量用例a的入度为0,进一步地可知,当一个节点的入度为0时,意味着该节点没有前置用例;指向测试用例b的边为<Va,Vb>,可知测量用例b的入度为1;指向测试用例c的边为<Va,Vc>、<Vb,Vc>,可知测量用例c的入度为2;指向测试用例d的边为<Va,Vd>、<Vc,Vd>,可知测试用例d的入度为2。
步骤103,根据所述每个测试用例的出度和入度,从所述多个测试用例中确定出至少一个起始测试用例和至少一个终止测试用例。
本发明实施例中,起始测试用例可以是指由测试用例构建的复杂网络中,所有入度为0的测试用例。举个例子,在图2b示出的网络结构中,起始测试用例为测试用例a。
终止测试用例可以是指由测试用例构建的随机测试的复杂网络中,所有出度为0的测试用例。举个例子,在图2b示出的网络结构中,起始测试用例为测试用例d。
步骤104,根据所述至少一个起始测试用例和所述至少一个终止测试用例,以及所述任意两个功能节点分别对应的测试用例的关联关系,确定至少一种候选测试方案。
本发明实施例中,在由测试用例构建的随机测试复杂网络构建完成之后,可以利用随机游走算法,确定候选测试方案。
具体来说,可以以任一起始测试用例作为起点开始游走,经过与该起始测试用例对应的边到达另有一个测试用例,直至所到达的测试用例为终止测试用例,游走结束。如此,从开始游走到游走结束的过程中,所经过的多个测试用例可以作为候选测试方案。
以图2b示出的复杂网络为例,共有如下三种候选测试方案:
方案一:起始测试用例a→测试用例b→测试用例c→测试用例d。
方案二:起始测试用例a→测试用例c→测试用例d。
方案三:起始测试用例a→测试用例d。
步骤105,根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度;所述第一候选测试方案为所述至少一种候选测试方案中任意一种。
测试用例的出度与入度的和可以看做是该测试用例的度。测试用例的度越大,标识测试用例的中心性越高,测试用例在网络中就越重要,这就意味着,拥有较大度的测试用例,与软件的重要功能关系更为密切,在随机测试过程中需要更多的关注。
进而,图2b示出的各测试用例中,测试用例a的度为3,测试用例b的度为2,测试用例c的度为3,测试用例d的度为2。
进一步地,根据候选测试方案中包括的每个测试用例的度,可以确定该候选测试方案的度。具体地,可以先根据候选测试方案包括的测试用例,确定候选测试方案包括的测试用例的个数;然后,再根据候选测试方案包括的测试用例的个数,以及候选测试方案中每个测试用例的出度和入度,确定候选测试方案包括的测试用例的平均度,并将候选测试方案中包括的测试用例的平均度,作为该候选测试方案的度。
如此,图2b示出的复杂网络中,候选测试方案一(即起始测试用例a→测试用例b→测试用例c→测试用例d)的度为2.5;候选测试方案二(即起始测试用例a→测试用例c→测试用例d)的度为2.7;候选测试方案三(即起始测试用例a→测试用例d)的度为2.5。
步骤106,根据所述每个候选测试方案的度,从所述至少一种候选测试方案中确定出目标测试方案。
本发明实施例中,根据每个候选测试方案的度来目标测试方案的确定方式有多种,一个示例中,可以根据每个候选测试方案的度、以及软件的多个测试用例对应的平均度来确定目标测试方案。
具体地,首先根据软件的每个测试用例的出度和入度,确定软件的多个测试用例对应的平均度。以图2b示出的复杂网络为例,软件共有四个测试用例,其中,测试用例a的度为3,测试用例b的度为2,测试用例c的度为3,测试用例d的度为2,进而可以确定该软件的四个测试用例对应的平均度为2.5。
其次,根据每个候选测试方案的度以及软件的多个测试用例对应的平均度,可以确定出目标测试用例。具体地,可以将候选测试方案中度大于软件的多个测试用例对应的平均度的测试方案作为目标测试方案。即,图2b示出负杂网络中,候选测试方案二(即起始测试用例a→测试用例c→测试用例d)可以作为目标测试方案。
又一个示例中,可以根据每个候选测试方案的度和预设阈值来确定目标测试方案。具体地,可以将候选测试方案中度大于预设阈值的测试方案作为目标测试方案。其中,预设阈值可以是本领域技术人员根据经验和实际情况确定的,具体不做限定。
又一个示例中,可以将候选测试方案中度最大的测试方案作为目标测试方案。
需要说明的是,上述三种示例仅为示例性说明,本领域技术人员也可以采用其它方法来确定目标测试用例,具体不做限定。
进一步地,考虑到在采用测试用例对软件进行测试的过程中,会产出一定个数的缺陷(BUG),而在随机测试中,测试用例产出的BUG越多,越需要采用该测试用例进行测试。
基于此,本发明实施例在执行上述步骤106之前,还可以测试用例对应的BUG数量确定测试用例的权重值,进而根据候选测试方案包括的测试用例以及候选测试方案中每个测试用例的权重值,确定候选测试方案的权重值。
如表2所示,为本发明实施例中测试用例产出的BUG数量的一种示例。其中,测试用例a产出1个BUG,测试用例b产出1个BUG,测试用例c产出3个BUG,测试用例d产出2个BUG。
表2:本发明实施例中测试用例产出的BUG数量的一种示例
测试用例 产出的BUG数量
测试用例a 1
测试用例b 1
测试用例c 3
测试用例d 2
本发明实施例中,构建完成随机测试的复杂网络后,可以设置网络的边的权重值,记做Wij或Wji。其中,Wij表示<Vi,Vj>的权重值;Wji表示<Vj,Vi>的权重值。具体地,测试用例每产出一个BUG,该测试用例所有指出和被指向的边的权重值会加1,这就意味着,当一条边的权重值越大,边对应的两个测试用例产出的BUG越多,在随机测试中,需要被更多的测试。举个例子,以图2b示出的复杂网络为例,Wab为2,Wac为4,Wad为3,Wbc为4,Wcd为5。
进一步地,根据候选测试方案中包括的测试用例对应的边的权重值,可以确定该候选测试方案的权重值。具体地,可以先根据候选测试方案包括的测试用例,确定候选测试方案包括的测试用例的个数;然后,再根据候选测试方案包括的测试用例的个数,以及候选测试方案中每个测试用例对应的边的权重值,确定候选测试方案包括的测试用例对应的边的平均权重值,并将候选测试方案中包括的测试用例对应的边的平均权重值,作为该候选测试方案的权重值。
如此,图2b示出的复杂网络中,候选测试方案一(即起始测试用例a→测试用例b→测试用例c→测试用例d)的权重值为3.7;候选测试方案二(即起始测试用例a→测试用例c→测试用例d)的权重值为4;候选测试方案三(即起始测试用例a→测试用例d)的度为3.5。
更进一步地,在确定目标测试方案的方法中,还可以根据每个候选测试方案的度和每个候选测试方案的权重值来确定目标测试方案。具体的实现方法有多种,一个示例中,可以根据每个候选测试方案的度、软件的多个测试用例对应的平均度、每个候选测试方案的权重值以及软件的多个测试用例对应的平均权重值。
具体地,首先根据软件的每个测试用例的出度和入度,确定软件的多个测试用例对应的平均度。以图2b示出的复杂网络为例,软件共有四个测试用例,其中,测试用例a的度为3,测试用例b的度为2,测试用例c的度为3,测试用例d的度为2,进而可以确定该软件的四个测试用例对应的平均度为2.5。
其次,根据软件的每个测试用例的权重值,确定软件的多个测试用例对应的平均权重值。具体地,可以根据每个测试用例产出的BUG数量,确定每个测试用例的权重值,进而确定测试用例对应的网络的边的权重值。以图2b示出的复杂网络为例,软件共有四个测试用例,这四个测试用例对应的网络的边有五种,其中,Wab为2,Wac为4,Wad为3,Wbc为4,Wcd为5。进而,可以确定该软件的四个测试用例对应的平均权重值为3.6。
最后,根据每个候选测试方案的度和软件的多个测试用例对应的平均度,以及根据每个候选测试方案的权重值和软件的多个测试用例对应的平均权重值可以确定出目标测试用例。如此,在对测试用例进行筛选的过程中,通过对比候选测试方案的平均度和所有测试用例对应的平均度,以及对比候选测试方案的权重值和所有测试用例对应的平均权重值,使得筛选出来的目标测试方案更加符合软件的特点,能够有效提高软件测试的质量。
具体地,可以将候选测试方案中度大于软件的多个测试用例对应的平均度,且权重值大于软件的多个测试用例对应的平均权重值的测试方案作为目标测试方案。即,图2b示出负杂网络中,候选测试方案二(即起始测试用例a→测试用例c→测试用例d)可以作为目标测试方案。
在其它可能的示例中,本领域技术人员还可以采用其它方法来确定目标测试用例,比如,可以将度大于预设阈值,且权重值大于预设权重阈值的测试方案作为目标测试方案,具体不做限定。
如此,根据测试用例之前的关联关系,确定测试用例的度,从而根据测试用例的度来确定候选测试方案,进而可以根据候选测试方案的度,确定出目标测试方案。采用这种方法,将测试用例之间的关联关系抽象为网络模型,测试用例的度代表着测试用例的重要性,度约大,对应的测试用例与被测软件的重要功能关系越密切,即测试用例越重要。如此,能够使得确定出的目标测试方案能够更充分的覆盖被测软件的重点功能,相比于现有技术中人为确定的测试方案而言,本发明实施例保证了筛选出来的测试方案中每个测试用例的重要性,通过筛选出来的测试方案,能够更全面的、更精确的覆盖被测试软件的重点功能。进一步地,由于测试用例的权重值代表着测试用例与BUG的关联程度,测试用例的权重值越大,所产出的BUG数越多,对应的功能节点越脆弱,需要投入更多的精力和时间去测试这些功能节点。因此,采用上述方法,重点关注容易出现BUG的功能节点,使得软件测试更加符合八二定律(80%的缺陷出现在20%的功能节点中)确保了筛选出来的测试方案中每个测试用例能够更全面的覆盖容易出现BUG的功能节点,即能够更多的测试上文中提到的20%的功能节点。
为了更加清楚地介绍上述软件的测试方案的确定方法,下面结合图3,对本发明实施例中所涉及到的流程进行整体性说明。如图3所示,可以包括以下步骤:
步骤301,获取软件的多个测试用例。
步骤302,根据任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的出度和入度。
步骤303,根据每个测试用例的出度和入度,从所述多个测试用例中确定出至少一个起始测试用例和至少一个终止测试用例。
步骤304,根据至少一个起始测试用例和至少一个终止测试用例,以及任意两个功能节点分别对应的测试用例的关联关系,确定至少一种候选测试方案。
步骤305,根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度;所述第一候选测试方案为所述至少一种候选测试方案中任意一种。
步骤306,根据软件的每个测试用例的出度和入度,确定软件的多个测试用例对应的平均度。
步骤307,根据第一候选测试方案包括的测试用例以及第一候选测试方案中每个测试用例的权重值,确定第一候选测试方案的权重值;测试用例的权重值是根据测试用例对应的BUG数量确定的。
步骤308,根据软件的每个测试用例的权重值,确定软件的多个测试用例对应的平均权重值。
步骤309,根据所述每个候选测试方案的度、所述软件的多个测试用例对应的平均度、所述每个候选测试方案的权重值以及所述软件的多个测试用例对应的平均权重值,从所述至少一种候选测试方案中确定度大于所述软件的多个测试用例对应的平均度,且权重值大于所述软件的多个测试用例对应的平均权重值的目标测试方案。
需要说明的是,上述步骤编号仅为一种执行流程的示例性表示,本申请对各个步骤的先后顺序不做具体限定,例如,上述步骤305和步骤306中,也可以先根据软件的每个测试用例的出度和入度,确定软件的多个测试用例对应的平均度;然后再根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度,具体不做限定。
基于相同构思,本发明实施例提供的一种软件的测试方案的确定装置,如图4示,该装置包括获取单元401、处理单元402、确定单元403;其中,
获取单元401,用于获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
处理单元402,用于根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的出度和入度;所述任意两个功能节点分别对应的测试用例的关联关系是根据所述任意两个功能节点之间的关联关系确定的;并根据所述每个测试用例的出度和入度,从所述多个测试用例中确定出至少一个起始测试用例和至少一个终止测试用例;并根据所述至少一个起始测试用例和所述至少一个终止测试用例,以及所述任意两个功能节点分别对应的测试用例的关联关系,确定至少一种候选测试方案;并根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度;所述第一候选测试方案为所述至少一种候选测试方案中任意一种;
确定单元403,用于根据所述每个候选测试方案的度,从所述至少一种候选测试方案中确定出目标测试方案。
在一种可能的实现方式中,在所述确定单元403从所述至少一种候选测试方案中确定出目标测试方案之前,所述处理单元402还用于:
根据所述第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的权重值,确定所述第一候选测试方案的权重值;所述测试用例的权重值是根据测试用例对应的BUG数量确定的;
所述确定单元403具体用于:
根据所述每个候选测试方案的度和所述每个候选测试方案的权重值,从所述至少一种候选测试方案中确定出所述目标测试方案。
在一种可能的实现方式中,所述处理单元402还用于:
根据所述软件的每个测试用例的出度和入度,确定所述软件的多个测试用例对应的平均度;以及根据所述软件的每个测试用例的权重值,确定所述软件的多个测试用例对应的平均权重值;
所述确定单元403具体用于:
根据所述每个候选测试方案的度、所述软件的多个测试用例对应的平均度、所述每个候选测试方案的权重值以及所述软件的多个测试用例对应的平均权重值,从所述至少一种候选测试方案中确定所述目标测试方案;所述目标测试方案的度大于所述软件的多个测试用例对应的平均度,且所述目标测试方案的权重值大于所述软件的多个测试用例对应的平均权重值。
在一种可能的实现方式中,所述处理单元402具体用于:
根据所述第一候选测试方案包括的测试用例,确定所述第一候选测试方案包括的测试用例的个数;
根据所述第一候选测试方案包括的测试用例的个数,以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案包括的测试用例的平均度,并将所述第一候选测试方案包括的测试用例的平均度作为所述第一候选测试方案的度。
实施例二
基于同样的发明构思,图5示例性示出了本发明实施例还提供一种软件的测试用例的确定方法所对应的流程示意图,如图5所示,具体包括如下步骤:
步骤501,获取软件的多个测试用例。
步骤502,根据任意两个功能节点之间的关联关系,确定所述任意两个功能节点分别对应的测试用例的关联关系。
步骤503,根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的度。
步骤504,根据所述每个测试用例的度,从所述多个测试用例中确定出目标测试用例。
如此,根据测试用例之前的关联关系,确定测试用例的度,进而可以根据测试用例的度,确定出目标测试用例。采用这种方法,将测试用例之间的关联关系抽象为网络模型,测试用例的度代表着测试用例的重要性,度约大,对应的测试用例与被测软件的重要功能关系越密切,即测试用例越重要。如此,能够使得确定出的目标测试用例能够更充分的覆盖被测软件的重点功能,从而提高软件测试的质量。
需要说明的是,步骤501至步骤503所描述的具体内容可以参考实施例一所示出的相关内容,此处不再具体描述。
步骤504中,确定目标测试用例的方法有多种,一种可能的实现方式为,根据每个测试用例的度来确定目标测试用例。具体来说,本发明实施例中,可以从多个测试用例中确定出度大于第一阈值测试用例,作为目标测试用例;或者,可以从多个测试用例中确定出度最大的测试用例,作为目标测试用例;或者,还可以从多个测试用例中确定出度大于多个测试用例对应的平均度的测试用例,作为目标测试用例,具体不做限定。
另一种可能的实现方式为,根据每个测试用例的度和每个测试用例对应的权重值来确定目标测试用例。
具体来说,在执行步骤504之前,可以先根据每个测试用例对应的BUG数量,确定每个测试用例的权重值;其中,每个测试用例对应的BUG数量是根据每个测试用例的历史测试结果得到的。具体地,可以直接将每个测试用例产出的BUG数量作为该测试用例的权重值;或者,也可以采用其它方式(如与某个系数相乘)来确定测试用例的权重值,具体不做限定。
进一步地,可以从多个测试用例中确定出度大于第一阈值,且权重值大于第二阈值的测试用例,作为目标测试用例;或者,可以从多个测试用例中确定出度最大,且权重值最大的测试用例,作为目标测试用例;或者,还可以从多个测试用例中确定出度大于多个测试用例对应的平均度,且权重值大于多个测试用例的平均权重值的测试用例,作为目标测试用例,具体不做限定。
由于测试用例的权重值代表着测试用例与BUG的关联程度,测试用例的权重值越大,所产出的BUG数越多,对应的功能节点越脆弱,需要投入更多的精力和时间去测试这些功能节点。因此,采用上述方法,重点关注容易出现BUG的功能节点,使得软件测试更加符合八二定律(80%的缺陷出现在20%的功能节点中)确保了筛选出来的测试用例中每个测试用例能够更全面的覆盖容易出现BUG的功能节点,即能够更多的测试上文中提到的20%的功能节点。
为了更加清楚地介绍上述软件的测试用例的确定方法,下面结合图6,对本发明实施例中所涉及到的流程进行整体性说明。如图6所示,可以包括以下步骤:
步骤601,获取软件的多个测试用例。
步骤602,根据任意两个功能节点之间的关联关系,确定所述任意两个功能节点分别对应的测试用例的关联关系。
步骤603,根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的度。
步骤604,根据每个测试用例对应的缺陷BUG数量,确定每个测试用例的权重值。
步骤605,根据每个测试用例的度,从多个测试用例中确定出度大于第一阈值的至少一个候选测试用例。
步骤606,根据每个测试用例的权重值,从至少一个候选测试用例中确定出权重值大于第二阈值的目标测试用例。
需要说明的是,上述步骤编号仅为一种执行流程的示例性表示,本申请对各个步骤的先后顺序不做具体限定,例如,上述步骤605和步骤606中,也可以先根据每个测试用例的权重值,从至少一个候选测试用例中确定出权重值大于第二阈值的至少一个候选测试用例;然后再根据每个测试用例的度,从多个测试用例中确定出度大于第一阈值的目标测试用例。
基于相同构思,本发明实施例提供的一种软件的测试用例的确定装置,如图7示,该装置包括获取单元701、处理单元702、确定单元703;其中,
获取单元701,用于获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
处理单元702,用于根据任意两个功能节点之间的关联关系,确定所述任意两个功能节点分别对应的测试用例的关联关系;以及根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的度;
确定单元703,用于根据所述每个测试用例的度,从所述多个测试用例中确定出目标测试用例。
在一种可能的实现方式中,在所述确定单元703从所述多个测试用例中确定出目标测试用例之前,所述处理单元702还用于:
根据每个测试用例对应的缺陷BUG数量,确定所述每个测试用例的权重值;所述每个测试用例对应的BUG数量是根据所述每个测试用例的历史测试结果得到的;
所述确定单元703具体用于:
根据所述每个测试用例的度和所述每个测试用例的权重值,从所述多个测试用例中确定出目标测试用例。
在一种可能的实现方式中,所述确定单元703具体用于:
根据所述每个测试用例的度,从所述多个测试用例中确定出度大于第一阈值的至少一个候选测试用例;
根据所述每个测试用例的权重值,从所述至少一个候选测试用例中确定出权重值大于第二阈值的目标测试用例。
本发明实施例还提供一种装置,所述装置包括:
存储器,用于存储软件程序;
处理器,用于读取所述存储器中的软件程序并执行上述各种可能的实现方式中所描述的软件的测试方案的确定方法或软件的测试用例的确定。
本发明实施例还提供一种计算机存储介质,所述存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时实现上述各种可能的实现方式中所描述的软件的测试方案的确定方法或软件的测试用例的确定。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的软件的测试方案的确定方法或软件的测试用例的确定。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种软件的测试方案的确定方法,其特征在于,所述方法包括:
获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的出度和入度;所述任意两个功能节点分别对应的测试用例的关联关系是根据所述任意两个功能节点之间的关联关系确定的;
根据所述每个测试用例的出度和入度,从所述多个测试用例中确定出至少一个起始测试用例和至少一个终止测试用例;
根据所述至少一个起始测试用例和所述至少一个终止测试用例,以及所述任意两个功能节点分别对应的测试用例的关联关系,确定至少一种候选测试方案;
根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度;所述第一候选测试方案为所述至少一种候选测试方案中任意一种;
根据所述每个候选测试方案的度,从所述至少一种候选测试方案中确定出目标测试方案。
2.根据权利要求1所述的方法,其特征在于,从所述至少一种候选测试方案中确定出目标测试方案之前,还包括:
根据所述第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的权重值,确定所述第一候选测试方案的权重值;所述测试用例的权重值是根据测试用例对应的BUG数量确定的;
根据所述每个候选测试方案的度,从所述至少一种候选测试方案中确定出目标测试方案,包括:
根据所述每个候选测试方案的度和所述每个候选测试方案的权重值,从所述至少一种候选测试方案中确定出所述目标测试方案。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述软件的每个测试用例的出度和入度,确定所述软件的多个测试用例对应的平均度;以及根据所述软件的每个测试用例的权重值,确定所述软件的多个测试用例对应的平均权重值;
根据所述每个候选测试方案的度和所述每个候选测试方案的权重值,从所述至少一种候选测试方案多个测试用例中确定出所述目标测试方案用例,包括:
根据所述每个候选测试方案的度、所述软件的多个测试用例对应的平均度、所述每个候选测试方案的权重值以及所述软件的多个测试用例对应的平均权重值,从所述至少一种候选测试方案中确定所述目标测试方案;所述目标测试方案的度大于所述软件的多个测试用例对应的平均度,且所述目标测试方案的权重值大于所述软件的多个测试用例对应的平均权重值。
4.根据权利要求1所述的方法,其特征在于,根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度,包括:
根据所述第一候选测试方案包括的测试用例,确定所述第一候选测试方案包括的测试用例的个数;
根据所述第一候选测试方案包括的测试用例的个数,以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案包括的测试用例的平均度,并将所述第一候选测试方案包括的测试用例的平均度作为所述第一候选测试方案的度。
5.一种软件的测试用例的确定方法,其特征在于,所述方法包括:
获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
根据任意两个功能节点之间的关联关系,确定所述任意两个功能节点分别对应的测试用例的关联关系;
根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的度;
根据所述每个测试用例的度,从所述多个测试用例中确定出目标测试用例。
6.根据权利要求5所述的方法,其特征在于,在从所述多个测试用例中确定出目标测试用例之前,还包括:
根据每个测试用例对应的缺陷BUG数量,确定所述每个测试用例的权重值;所述每个测试用例对应的BUG数量是根据所述每个测试用例的历史测试结果得到的;
根据所述每个测试用例的度,从所述多个测试用例中确定出目标测试用例,包括:
根据所述每个测试用例的度和所述每个测试用例的权重值,从所述多个测试用例中确定出目标测试用例。
7.根据权利要求6所述的方法,其特征在于,根据所述每个测试用例的度和所述每个测试用例的权重值,从所述多个测试用例中确定出目标测试用例,包括:
根据所述每个测试用例的度,从所述多个测试用例中确定出度大于第一阈值的至少一个候选测试用例;
根据所述每个测试用例的权重值,从所述至少一个候选测试用例中确定出权重值大于第二阈值的目标测试用例。
8.一种软件的测试方案的确定装置,其特征在于,所述装置包括:
获取单元,用于获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
处理单元,用于根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的出度和入度;所述任意两个功能节点分别对应的测试用例的关联关系是根据所述任意两个功能节点之间的关联关系确定的;并根据所述每个测试用例的出度和入度,从所述多个测试用例中确定出至少一个起始测试用例和至少一个终止测试用例;并根据所述至少一个起始测试用例和所述至少一个终止测试用例,以及所述任意两个功能节点分别对应的测试用例的关联关系,确定至少一种候选测试方案;并根据第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案的度;所述第一候选测试方案为所述至少一种候选测试方案中任意一种;
确定单元,用于根据所述每个候选测试方案的度,从所述至少一种候选测试方案中确定出目标测试方案。
9.根据权利要求8所述的装置,其特征在于,在所述确定单元从所述至少一种候选测试方案中确定出目标测试方案之前,所述处理单元还用于:
根据所述第一候选测试方案包括的测试用例以及所述第一候选测试方案中每个测试用例的权重值,确定所述第一候选测试方案的权重值;所述测试用例的权重值是根据测试用例对应的BUG数量确定的;
所述确定单元具体用于:
根据所述每个候选测试方案的度和所述每个候选测试方案的权重值,从所述至少一种候选测试方案中确定出所述目标测试方案。
10.根据权利要求9所述的装置,其特征在于,所述处理单元还用于:
根据所述软件的每个测试用例的出度和入度,确定所述软件的多个测试用例对应的平均度;以及根据所述软件的每个测试用例的权重值,确定所述软件的多个测试用例对应的平均权重值;
所述确定单元具体用于:
根据所述每个候选测试方案的度、所述软件的多个测试用例对应的平均度、所述每个候选测试方案的权重值以及所述软件的多个测试用例对应的平均权重值,从所述至少一种候选测试方案中确定所述目标测试方案;所述目标测试方案的度大于所述软件的多个测试用例对应的平均度,且所述目标测试方案的权重值大于所述软件的多个测试用例对应的平均权重值。
11.根据权利要求8所述的装置,其特征在于,所述处理单元具体用于:
根据所述第一候选测试方案包括的测试用例,确定所述第一候选测试方案包括的测试用例的个数;
根据所述第一候选测试方案包括的测试用例的个数,以及所述第一候选测试方案中每个测试用例的出度和入度,确定所述第一候选测试方案包括的测试用例的平均度,并将所述第一候选测试方案包括的测试用例的平均度作为所述第一候选测试方案的度。
12.一种软件的测试用例的确定装置,其特征在于,所述装置包括:
获取单元,用于获取软件的多个测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个测试用例中的至少一个测试用例;
处理单元,用于根据任意两个功能节点之间的关联关系,确定所述任意两个功能节点分别对应的测试用例的关联关系;以及根据所述任意两个功能节点分别对应的测试用例的关联关系,确定每个测试用例的度;
确定单元,用于根据所述每个测试用例的度,从所述多个测试用例中确定出目标测试用例。
13.根据权利要求12所述的装置,其特征在于,在所述确定单元从所述多个测试用例中确定出目标测试用例之前,所述处理单元还用于:
根据每个测试用例对应的缺陷BUG数量,确定所述每个测试用例的权重值;所述每个测试用例对应的BUG数量是根据所述每个测试用例的历史测试结果得到的;
所述确定单元具体用于:
根据所述每个测试用例的度和所述每个测试用例的权重值,从所述多个测试用例中确定出目标测试用例。
14.根据权利要求13所述的装置,其特征在于,所述确定单元具体用于:
根据所述每个测试用例的度,从所述多个测试用例中确定出度大于第一阈值的至少一个候选测试用例;
根据所述每个测试用例的权重值,从所述至少一个候选测试用例中确定出权重值大于第二阈值的目标测试用例。
15.一种计算机可读存储介质,其特征在于,所述存储介质存储有指令,当所述指令在计算机上运行时,使得计算机实现执行权利要求1至4中任一项所述的方法,或执行权利要求5至7中任一项所述的方法。
16.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至4任一权利要求所述的方法,或执行权利要求5至7中任一项所述的方法。
CN201810921320.9A 2018-08-14 2018-08-14 一种软件的测试方案、测试用例的确定方法及装置 Active CN109189673B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810921320.9A CN109189673B (zh) 2018-08-14 2018-08-14 一种软件的测试方案、测试用例的确定方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810921320.9A CN109189673B (zh) 2018-08-14 2018-08-14 一种软件的测试方案、测试用例的确定方法及装置

Publications (2)

Publication Number Publication Date
CN109189673A CN109189673A (zh) 2019-01-11
CN109189673B true CN109189673B (zh) 2021-08-27

Family

ID=64921401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810921320.9A Active CN109189673B (zh) 2018-08-14 2018-08-14 一种软件的测试方案、测试用例的确定方法及装置

Country Status (1)

Country Link
CN (1) CN109189673B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948257B (zh) * 2021-03-23 2024-05-14 三六零数字安全科技集团有限公司 内核模糊测试用例生成方法、装置、设备及存储介质
CN114564388A (zh) * 2022-02-23 2022-05-31 中国农业银行股份有限公司 一种程序测试方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365765A (zh) * 2012-03-28 2013-10-23 腾讯科技(深圳)有限公司 测试用例筛选方法和系统
CN103810104A (zh) * 2014-03-04 2014-05-21 中国人民解放军63863部队 一种软件测试用例优化方法及系统
CN105528288A (zh) * 2015-12-01 2016-04-27 深圳市迪菲特科技股份有限公司 一种软件测试方法以及装置
CN105930257A (zh) * 2015-10-12 2016-09-07 中国银联股份有限公司 一种确定目标测试用例的方法及装置
CN107622007A (zh) * 2016-07-14 2018-01-23 北京京东尚科信息技术有限公司 应用测试方法和装置
CN107957957A (zh) * 2017-12-28 2018-04-24 网易(杭州)网络有限公司 测试用例的获取方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652366B2 (en) * 2014-12-04 2017-05-16 Hcl Technologies Ltd. Code change analysis to optimize testing lifecycle

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365765A (zh) * 2012-03-28 2013-10-23 腾讯科技(深圳)有限公司 测试用例筛选方法和系统
CN103810104A (zh) * 2014-03-04 2014-05-21 中国人民解放军63863部队 一种软件测试用例优化方法及系统
CN105930257A (zh) * 2015-10-12 2016-09-07 中国银联股份有限公司 一种确定目标测试用例的方法及装置
CN105528288A (zh) * 2015-12-01 2016-04-27 深圳市迪菲特科技股份有限公司 一种软件测试方法以及装置
CN107622007A (zh) * 2016-07-14 2018-01-23 北京京东尚科信息技术有限公司 应用测试方法和装置
CN107957957A (zh) * 2017-12-28 2018-04-24 网易(杭州)网络有限公司 测试用例的获取方法和装置

Also Published As

Publication number Publication date
CN109189673A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN106294120B (zh) 测试代码的方法、设备和计算机程序产品
US9465724B2 (en) Method, program, and system for generating test cases
US20140033174A1 (en) Software bug predicting
US8397104B2 (en) Creation of test plans
FR3044126A1 (fr) Systeme et procede pour creer automatiquement des cas de tests a base d&#39;exigences liees a un logiciel critique
CN109976998B (zh) 一种软件缺陷预测方法、装置和电子设备
CN110196801B (zh) 一种基于代码覆盖率的测试方法及装置
CN109189673B (zh) 一种软件的测试方案、测试用例的确定方法及装置
CN113297060A (zh) 一种数据测试方法及其装置
CN111221721B (zh) 一种单元测试案例自动化录制和执行方法及装置
CN104063307A (zh) 一种软件测试方法和系统
CN110888809B (zh) 一种测试任务的风险预测方法及装置
CN117539754A (zh) 压力测试方法、装置、存储介质及电子设备
CN111984519B (zh) 一种用于业务系统的测试方法及其装置
CN109460366A (zh) 一种软件稳定性测试方法、装置、设备及介质
CN115373984A (zh) 代码覆盖率确定方法及装置
CN115510998A (zh) 交易异常值检测方法及装置
CN110442508B (zh) 测试任务处理方法、装置、设备和介质
CN113419706A (zh) 一种快速的任意分布随机数产生方法、系统及其检验方法、系统
CN112346994A (zh) 一种测试信息关联方法、装置、计算机设备及存储介质
CN112329124A (zh) Cae模型查错方法、装置、计算机设备和存储介质
CN110362461A (zh) 平均故障间隔时间的测试方法及计算机可读存储介质
CN115237786A (zh) 软件测试方法及装置
CN115757123B (zh) 一种测试用例生成方法、装置、设备及介质
CN111984522B (zh) 一种自动化测试的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant