CN108845927B - 一种测试用例的筛选方法及装置 - Google Patents

一种测试用例的筛选方法及装置 Download PDF

Info

Publication number
CN108845927B
CN108845927B CN201810420017.0A CN201810420017A CN108845927B CN 108845927 B CN108845927 B CN 108845927B CN 201810420017 A CN201810420017 A CN 201810420017A CN 108845927 B CN108845927 B CN 108845927B
Authority
CN
China
Prior art keywords
functional
node
functional node
nodes
test
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
CN201810420017.0A
Other languages
English (en)
Other versions
CN108845927A (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 CN201810420017.0A priority Critical patent/CN108845927B/zh
Publication of CN108845927A publication Critical patent/CN108845927A/zh
Application granted granted Critical
Publication of CN108845927B publication Critical patent/CN108845927B/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/3688Test management for test execution, e.g. scheduling of test suites

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种测试用例的筛选方法及装置。所述方法包括:在获取多个初始测试用例后,可以根据多个初始测试用例与多个功能节点的对应关系,获取多个功能节点分别对应的监控信息,并根据多个功能节点分别对应的监控信息得到多个功能节点分别对应的权值进而根据多个功能节点对应的权值,对多个初始测试用例进行筛选。本发明实施例中,可以根据每个功能节点的权值,量化功能节点所对应的初始测试用例的重要性和优先级,并将重要性和优先级较高的测试用例筛选出来,降低软件的测试用例的数量,确保相对重要的功能节点可以被测试到,从而有效避免测试工作重复、冗余的问题,进而提高测试效率。

Description

一种测试用例的筛选方法及装置
技术领域
本发明涉及软件测试技术领域,尤其涉及一种测试用例的筛选方法及装置。
背景技术
软件测试是软件生命周期的一个非常重要的环节,在软件系统运行前和运行期间,软件系统都需要经过反复多遍的测试。对软件系统的测试可以采用测试用例来进行测试。测试用例一般包括测试目标、测试环境、输入数据、测试步骤、预期结果。测试过程中,根据测试用例搭建测试环境,并按照预设的测试步骤输入预设的输入数据,然后核对输出结果与预期结果是否匹配。
现有技术中,对软件系统的每一遍测试,一般都要用到覆盖软件系统需求分析中所有功能节点的测试用例。随着软件技术的不断发展,软件系统的发展趋于大型化。而越是大型的软件系统,所包括的功能节点也越多,所需的测试用例的数量越多,容易导致测试工作的重复和冗余、测试效率较低的问题。
基于此,目前亟需一种测试用例的筛选方法,用于解决现有技术中测试用例的数量较多导致测试工作重复、冗余,测试效率较低的问题。
发明内容
本发明实施例提供一种测试用例的筛选方法及装置,以解决现有技术中测试用例的数量较多导致测试工作重复、冗余,测试效率较低的技术问题。
本发明实施例提供一种测试用例的筛选方法,所述方法包括:
获取软件的多个初始测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个初始测试用例中的至少一个初始测试用例;
获取所述多个功能节点分别对应的监控信息,并根据所述多个功能节点分别对应的监控信息得到所述多个功能节点分别对应的权值;第一功能节点对应的监控信息包括在测试环境中对所述第一功能节点的使用情况进行监控得到的第一监控信息和在生产环境中对所述第一功能节点的使用情况进行监控得到的第二监控信息,所述第一功能节点为所述多个功能节点中的任一功能节点;
根据所述多个功能节点分别对应的权值,对所述多个初始测试用例进行筛选。
如此,可以根据每个功能节点的权值,量化功能节点所对应的初始测试用例的重要性和优先级,从而可以实现将重要性和优先级较高的测试用例筛选出来,降低软件的测试用例的数量,并确保相对重要的功能节点可以被测试到,有效避免测试工作重复、冗余的问题,提高测试效率;进一步地,由于第一监控信息是在测试环境中获取到的信息,第二监控信息是在生产环境中获取到的信息,综合考虑了不同环境中的监控信息,从而使得每个功能节点的权值更加合理、可靠,进而能够有效提高筛选结果的全面性和准确性。
在一种可能的实现方式中,所述第一监控信息包括:所述第一功能节点在测试环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述测试环境中被访问的次数、在所述测试环境中触发所述第一功能节点的用户数目;
所述第二监控信息包括:所述第一功能节点在生产环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述生产环境中被访问的次数、在所述生产环境中触发所述第一功能节点的用户数目。
如此,在对测试用例进行筛选时,能够综合考虑不同环境中的测量信息。比如,某个功能节点在生产环境中被触发的概率较小,但在测试环境中被触发的概率较大,采用上文所描述的方法,能够将生产环境中使用频次较低,但在测试环境中变更、迭代、不稳定的功能节点对应的初始测试用例筛选出来,从而能够有效避免遗漏测试用例的情况。
在一种可能的实现方式中,所述第一功能节点对应的权值通过以下方式确定:
Figure BDA0001650465210000031
其中,H为所述第一功能节点对应的权值;x为在所述测试环境中所述第一功能节点被触发的次数;X为在所述测试环境中所述多个功能节点被触发的总次数;y为在所述测试环境中所述第一功能节点对应的用户界面组件被访问的次数;Y为在所述测试环境中所述多个功能节点对应的用户界面组件被访问的总次数;M为在所述测试环境中触发所述第一功能节点的用户数目;a为在所述生产环境中所述第一功能节点被触发的次数;A为在所述生产环境中所述多个功能节点被触发的总次数;b为在所述生产环境中所述第一功能节点对应的用户界面组件被访问的次数;B为在所述生产环境中所述多个功能节点对应的用户界面组件被访问的总次数;N为在所述生产环境中触发所述第一功能节点的用户数目。
采用上述计算方法,能够提高每个功能节点的权值的合理性和准确性,进而提高筛选测试用例的合理性和准确性。
在一种可能的实现方式中,根据所述多个功能节点分别对应的权值,对所述多个初始测试用例进行筛选,包括:
根据所述多个功能节点分别对应的权值,确定所述多个功能节点对应的平均权值;以及将所述多个功能节点中权值大于或等于所述平均权值的功能节点所对应的初始测试用例筛选出来;或者,
根据所述多个功能节点分别对应的权值,将所述多个功能节点按照所述多个功能节点分别对应的权值从大到小进行排列;以及将排名前i位的功能节点所对应的初始测试用例筛选出来;i为大于或等于1的整数。
采用这种筛选方法,一方面能够覆盖较广范围的功能节点的测试用例,另一方面能够为重要性较高的功能节点选取较多的测试用例,从而能够合理筛选测试用例,提高软件测试的效率。
本发明实施例提供一种测试用例的筛选装置,所述装置包括:
获取单元,用于获取软件的多个初始测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个初始测试用例中的至少一个初始测试用例;以及获取所述多个功能节点分别对应的监控信息,并根据所述多个功能节点分别对应的监控信息得到所述多个功能节点分别对应的权值;第一功能节点对应的监控信息包括在测试环境中对所述第一功能节点的使用情况进行监控得到的第一监控信息和在生产环境中对所述第一功能节点的使用情况进行监控得到的第二监控信息,所述第一功能节点为所述多个功能节点中的任一功能节点;
处理单元,用于根据所述多个功能节点分别对应的权值,对所述多个初始测试用例进行筛选。
在一种可能的实现方式中,所述第一监控信息包括:所述第一功能节点在测试环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述测试环境中被访问的次数、在所述测试环境中触发所述第一功能节点的用户数目;
所述第二监控信息包括:所述第一功能节点在生产环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述生产环境中被访问的次数、在所述生产环境中触发所述第一功能节点的用户数目。
在一种可能的实现方式中,所述第一功能节点对应的权值通过以下方式确定:
Figure BDA0001650465210000041
其中,H为所述第一功能节点对应的权值;x为在所述测试环境中所述第一功能节点被触发的次数;X为在所述测试环境中所述多个功能节点被触发的总次数;y为在所述测试环境中所述第一功能节点对应的用户界面组件被访问的次数;Y为在所述测试环境中所述多个功能节点对应的用户界面组件被访问的总次数;M为在所述测试环境中触发所述第一功能节点的用户数目;a为在所述生产环境中所述第一功能节点被触发的次数;A为在所述生产环境中所述多个功能节点被触发的总次数;b为在所述生产环境中所述第一功能节点对应的用户界面组件被访问的次数;B为在所述生产环境中所述多个功能节点对应的用户界面组件被访问的总次数;N为在所述生产环境中触发所述第一功能节点的用户数目。
在一种可能的实现方式中,所述处理单元具体用于:
根据所述多个功能节点分别对应的权值,确定所述多个功能节点对应的平均权值;以及将所述多个功能节点中权值大于或等于所述平均权值的功能节点所对应的初始测试用例筛选出来;或者,
根据所述多个功能节点分别对应的权值,将所述多个功能节点按照所述多个功能节点分别对应的权值从大到小进行排列;以及将排名前i位的功能节点所对应的初始测试用例筛选出来;i为大于或等于1的整数。
本发明实施例还提供一种装置,所述装置包括:
存储器,用于存储软件程序;
处理器,用于读取所述存储器中的软件程序并执行上述各种可能的实现方式中所描述的测试用例的筛选方法。
本发明实施例还提供一种计算机存储介质,所述存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时实现上述各种可能的实现方式中所描述的测试用例的筛选方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的测试用例的筛选方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1为本发明实施例提供的测试用例的筛选方法所对应的流程示意图;
图2为本发明实施例中所涉及到的整体性流程的示意图;
图3本发明实施例提供的一种测试用例的筛选装置的结构示意图。
具体实施方式
下面结合说明书附图对本申请进行具体说明,方法实施例中的具体操作方法也可以应用于装置实施例中。
为了便于理解本发明实施例中介绍的技术方案,现给出部分术语的定义:
1、测试环境:是开发环境到生产环境的过度环境,即克隆一份生产环境的配置,并使用软件的多个初始测试用例对软件进行测试。
2、生产环境:是指软件正式提供对外服务的环境。
3、测试用例:是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包括测试目标,测试环境,输入数据,测试步骤,预期结果,测试脚本等并形成文档。
针对现有技术中存在的测试用例的数量较多导致测试工作重复、冗余,测试效率较低的问题,已有的一种解决方案为:统计功能节点被触发的次数,并根据功能节点被触发的次数来计算功能节点的权值,进而可以根据功能节点的权值来筛选与功能节点相关的测试用例。然而,上述方案存在以下不足:上述方案并未考虑环境对功能节点的重要性的影响。比如,某个功能节点是该软件的重要功能节点,但是,该功能节点在生成环境中被触发的次数较少,若采用上述方案,显然该功能节点的权值较小,进而所筛选的与该功能节点相关的测试用例的数量也较少,不符合该功能节点的重要性,导致筛选结果与预期不符的问题。
基于此,本发明实施例提供一种测试用例的筛选方法。如图1所述,为本发明实施例提供的测试用例的筛选方法所对应的流程示意图,如图1所示,具体包括如下步骤:
步骤101,获取软件的多个初始测试用例。
步骤102,获取所述多个功能节点分别对应的监控信息,并根据所述多个功能节点分别对应的监控信息得到所述多个功能节点分别对应的权值。
步骤103,根据多个功能节点分别对应的权值,对多个初始测试用例进行筛选。
本发明实施例可以根据每个功能节点的权值,量化功能节点所对应的初始测试用例的重要性和优先级,并将重要性和优先级较高的测试用例筛选出来,降低软件的测试用例的数量,确保相对重要的功能节点可以被测试到,从而有效避免测试工作重复、冗余的问题,进而提高测试效率;进一步地,由于第一监控信息是在测试环境中获取到的信息,第二监控信息是在生产环境中获取到的信息,综合考虑了不同环境中的监控信息,从而使得每个功能节点的权值更加合理、可靠,进而能够有效提高筛选结果的全面性和准确性。
具体来说,步骤101中,软件的多个初始测试用例的获取方式有多种,例如,可以是从预设的测试用例数据库中获取初始测试用例;或者,也可以是获取测试人员现场编写的初始用例,具体不做限定。
本发明实施例中,软件可以包括多个功能节点,且,多个功能节点中的任一功能节点可以对应多个初始测试用例中的至少一个初始测试用例。举个例子,如表1所示,为初始测试用例和功能节点的对应关系的一种示例。
表1:初始测试用例和功能节点的对应关系的一种示例
初始测试用例的编号 功能节点
初始测试用例1 功能节点A
初始测试用例2 功能节点B
初始测试用例3 功能节点C
…… ……
需要说明的是,表1仅为一种示例,在其它可能的示例中,初始测试用例和功能节点之间也可以是多对一的关系,例如,初始测试用例1和初始测试用例2也可以都对应功能节点A,具体不做限定。
步骤102中,第一监控信息是指在测试环境中对第一功能节点的使用情况进行监控得到的监控信息,其中,第一功能节点为多个功能节点中的任一功能节点。第一监控信息可以包括多种信息,比如,第一功能节点在测试环境中被触发的次数、第一功能节点对应的用户界面组件在测试环境中被访问的次数、在测试环境中触发第一功能节点的用户数目等。
具体地,以第一监控信息包括在测试环境中第一功能节点被触发的次数为例,获取第一功能节点被触发的次数的方法可以有多种。一个示例中,可以通过监控装置来获取第一功能节点被触发的次数。当第一功能节点被触发时,监控装置可以监控第一功能节点相关的接口被调用的次数,从而确定第一功能节点被触发的次数,如此,在软件运行预设时间段之后,可以根据监控装置监控到的数据来获取该预设时间段内第一功能节点被触发的次数。
另一个示例中,可以预先在第一功能节点相关的程序代码中添加统计代码。当第一功能节点被触发时,第一功能节点相关的程序代码中的统计代码可将第一功能节点被触发的日志写入指定的文件或数据库中,如此,在软件运行预设时间段之后,可以在指定的文件或数据库中获取该预设时间段内第一功能节点被触发的次数。
以第一监控信息包括在测试环境中第一功能节点对应的用户界面组件被访问的次数为例。其中,用户界面组件包括在前端与用户交互的界面、按钮等,访问前端的用户界面组件可以触发与用户界面组件相关联的后端的功能节点,前端的用户界面组件与后端的功能节点的对应关系可以是一对一的关系,或者也可以是多对多的关系。如表2所示,为用户界面组件与功能节点的对应关系的一种示例。访问前端的用户界面组件1可以触发与用户界面组件1相关联的后端的功能节点A;访问前端的用户界面组件2可以触发与用户界面组件2相关联的后端的功能节点B;访问前端的用户界面组件3和用户界面组件4可以触发与用户界面组件3和用户界面组件4相关联的后端的功能节点C和功能节点D;访问前端的用户界面组件5、用户界面组件6和用户界面组件7可以触发与用户界面组件5、用户界面组件6和用户界面组件7相关联的后端的功能节点B、功能节点C和功能节点D。
表2:用户界面组件与功能节点的对应关系的一种示例
用户界面组件 功能节点
用户界面组件1 功能节点A
用户界面组件2 功能节点B
用户界面组件3、用户界面组件4 功能节点C、功能节点D
用户界面组件5、用户界面组件6、用户界面组件7 功能节点B、功能节点C、功能节点D
…… ……
进一步地,获取第一功能节点对应的用户界面组件被访问的次数的方法可以有多种。一种可能的实现方式为,可以通过埋点技术来获取第一功能节点对应的用户界面组件被访问的次数。当用户访问第一功能节点对应的用户界面组件时,可以根据用户界面组件中预先设置的埋点来统计用户界面组件被访问的次数,如此,在软件运行预设时间段之后,可以根据埋点技术统计得到的数据来获取该预设时间段内第一功能节点对应的用户界面组件被访问的次数。
另一种可能的实现方式为,可以预先在第一功能节点对应的用户界面组件的程序代码中添加统计代码。当用户访问第一功能节点对应的用户界面组件时,用户界面组件的程序代码即被执行,程序代码中的统计代码可将用户界面组件被访问的日志写入指定的文件或数据库中,如此,在软件运行预设时间段之后,可以在指定的文件或数据库中获取该预设时间段内第一功能节点对应的用户界面组件被访问的次数。
以第一监控信息包括在测试环境中触发第一功能节点的用户数目为例,本发明实施例中,可以通过查询第一功能节点相关的cookie文件,并根据cookie文件中的数据统计得到触发第一功能节点的用户数目。如此,能够提高功能节点的权值计算的准确性,有效避免少量用户多次触发某一功能节点而导致该功能节点权值偏高的情况。
需要说明的是,上述所列举的第一监控信息仅为示例性说明,本发明实施例中第一监控信息也可以包括在测试环境中第一功能节点被触发的次数和在测试环境中第一功能节点对应的用户界面组件被访问的次数;或者,第一监控信息也可以包括在测试环境中第一功能节点被触发的次数和在测试环境中触发第一功能节点的用户数目;或者,第一监控信息也可以包括在测试环境中第一功能节点对应的用户界面组件被访问的次数和在测试环境中触发第一功能节点的用户数目;或者,第一监控信息也可以包括在测试环境中第一功能节点被触发的次数、在测试环境中第一功能节点对应的用户界面组件被访问的次数和在测试环境中触发第一功能节点的用户数目,具体不做限定。
相应地,第二监控信息是指在生产环境中对第一功能节点的使用情况进行监控得到的监控信息,其中,第一功能节点为多个功能节点中的任一功能节点。第二监控信息可以包括多种信息,比如,第一功能节点在生产环境中被触发的次数、第一功能节点对应的用户界面组件在生产环境中被访问的次数、在生产环境中触发第一功能节点的用户数目等。
进一步地,获取第二监控信息的方式可以参考上文所描述的第一监控信息的获取方式,在此不再赘述。
需要说明的是:(1)第二监控信息可以包括以下任一种内容:在生产环境中第一功能节点被触发的次数、在生产环境中第一功能节点对应的用户界面组件被访问的次数、在生产环境中触发第一功能节点的用户数目、在生产环境中第一功能节点被触发的次数和在生产环境中第一功能节点对应的用户界面组件被访问的次数、在生产环境中第一功能节点被触发的次数和在生产环境中触发第一功能节点的用户数目、在生产环境中第一功能节点对应的用户界面组件被访问的次数和在生产环境中触发第一功能节点的用户数目、在生产环境中第一功能节点被触发的次数和在生产环境中第一功能节点对应的用户界面组件被访问的次数和在生产环境中触发第一功能节点的用户数目,具体不做限定;(2)第二监控信息与第一监控信息可以是相互对应的关系,比如,第一监控信息包括在测试环境中第一功能节点被触发的次数,第二监控信息包括在生产环境中第一功能节点被触发的次数;或者,第二监控信息与第一监控信息可以是相互不对应的关系,比如,第一监控信息包括在测试环境中第一功能节点被触发的次数,第二监控信息包括在生产环境中第一功能节点对应的用户界面组件被访问的次数。
如此,在对测试用例进行筛选时,能够综合考虑不同环境中的测量信息。比如,某个功能节点在生产环境中被触发的概率较小,但在测试环境中被触发的概率较大,采用上文所描述的方法,能够将生产环境中使用频次较低,但在测试环境中变更、迭代、不稳定的功能节点对应的初始测试用例筛选出来,从而能够有效避免遗漏测试用例的情况。
进一步地,每个功能节点对应的权值的计算方式有多种。一种可能的实现方式为,第一功能节点对应的权值可以根据第一功能节点在测试环境中被触发的次数、第一功能节点对应的用户界面组件在测试环境中被访问的次数、在测试环境中触发第一功能节点的用户数目、第一功能节点在生产环境中被触发的次数、第一功能节点对应的用户界面组件在生产环境中被访问的次数、以及在生产环境中触发第一功能节点的用户数目来计算。
举个例子,第一功能节点对应的权值可以通过以下方式确定:
Figure BDA0001650465210000111
在公式1中,H为第一功能节点对应的权值;x为在测试环境中所述第一功能节点被触发的次数;X为在测试环境中所述多个功能节点被触发的总次数;y为在测试环境中所述第一功能节点对应的用户界面组件被访问的次数;Y为在测试环境中所述多个功能节点对应的用户界面组件被访问的总次数;M为在测试环境中触发所述第一功能节点的用户数目;a为在生产环境中所述第一功能节点被触发的次数;A为在生产环境中所述多个功能节点被触发的总次数;b为在生产环境中所述第一功能节点对应的用户界面组件被访问的次数;B为在生产环境中所述多个功能节点对应的用户界面组件被访问的总次数;N为在生产环境中触发所述第一功能节点的用户数目。
需要说明的是,上文所描述的第一功能节点对应的权值的计算公式仅为一种示例性说明,在其它可能的实施例中,本领域技术人员可以根据经验和实际情况对上述公式进行调整,比如,可以根据第一功能节点在测试环境中被触发的次数和第一功能节点在生产环境中被触发的次数来计算第一功能节点对应的权值;或者,也可以根据第一功能节点对应的用户界面组件在测试环境中被访问的次数和第一功能节点对应的用户界面组件在生产环境中被访问的次数来计算第一功能节点对应的权值,具体不做限定。
步骤103中,对多个初始测试用例进行筛选的方式有多种。一种可能的实现方式为,根据多个功能节点分别对应的权值,确定多个功能节点对应的平均权值,进而可以将多个功能节点中权值大于或等于平均权值的功能节点所对应的初始测试用例筛选出来。
举个例子,如表3所示,为功能节点对应的权值的一种示例。其中,功能节点A对应的权值为0.27,功能节点B对应的权值为0.31,功能节点C对应的权值为0.13,功能节点D对应的权值为0.23,功能节点E对应的权值为0.06。进而,根据表3示出的内容可知,上述5个功能节点对应的平均权值为0.2,且,大于或等于该平均权值的功能节点为功能节点A、功能节点B和功能节点D。进一步地,可将功能节点A、功能节点B和功能节点D分别对应的初始测试用例筛选出来,作为软件的测试用例。
表3:功能节点对应的权值的一种示例
功能节点 功能节点对应的权值
功能节点A 0.27
功能节点B 0.31
功能节点C 0.13
功能节点D 0.23
功能节点E 0.06
另一种可能的实现方式为,根据多个功能节点分别对应的权值,将多个功能节点按照多个功能节点分别对应的权值从大到小进行排列,进而可以将排名前i位的功能节点所对应的初始测试用例筛选出来。其中,i为大于或等于1的整数。
举个例子,如表4所示,为功能节点对应的权值的另一种示例。其中,功能节点A对应的权值为0.19,功能节点B对应的权值为0.13,功能节点C对应的权值为0.36,功能节点D对应的权值为0.27,功能节点E对应的权值为0.05。进而,根据表4示出的内容可知,上述5个功能节点案子权值从大到小可以排列为:功能节点C>功能节点D>功能节点A>功能节点B>功能节点E。若设定i为2,则上述排列中排名前2位的功能节点为功能节点C和功能节点D。进一步地,可将功能节点C和功能节点D分别对应的初始测试用例筛选出来,作为软件的测试用例。
表4:功能节点对应的权值的另一种示例
功能节点 功能节点对应的权值
功能节点A 0.19
功能节点B 0.13
功能节点C 0.36
功能节点D 0.27
功能节点E 0.05
需要说明的是,上述筛选初始测试用例的方法仅为示例性说明,本领域技术人员可以根据经验和实际情况对初始测试用例进行筛选,比如,可以根据每个功能节点对应的权值之间的比例关系来筛选,具体不做限定。
为了更清楚地介绍上述测试用例的筛选方法,下面结合图2,对本发明实施例中所涉及到的流程进行整体性说明。如图2所示,可以包括以下步骤:
步骤201,获取软件的多个初始测试用例。
步骤202,确定所述多个初始测试用例分别对应的多个功能节点。
步骤203,获取预设时间段内每个功能节点在测试环境中被触发的次数和在生产环境中被触发的次数。
步骤204,获取预设时间段内每个功能节点在测试环境中所对应的用户界面组件被访问的次数和在生产环境中所对应的用户界面组件被访问的次数。
步骤205,获取预设时间段内在测试环境中触发每个功能节点对应的用户数目和在生产环境中触发每个功能节点对应的用户数目。
步骤206,根据预设时间段内每个功能节点在测试环境中被触发的次数和在生产环境中被触发的次数、每个功能节点在测试环境中所对应的用户界面组件被访问的次数和在生产环境中所对应的用户界面组件被访问的次数、在测试环境中触发每个功能节点对应的用户数目和在生产环境中触发每个功能节点对应的用户数目,确定每个功能节点对应的权值。
步骤207,根据每个功能节点分别对应的权值,对多个初始测试用例进行筛选。
需要说明的是,上述步骤编号仅为一种执行流程的示例性表示,本发明实施例对各个步骤的先后顺序不做具体限定,例如,上述步骤203和步骤204中,也可以是先获取预设时间段内每个功能节点在测试环境中所对应的用户界面组件被访问的次数和在生产环境中所对应的用户界面组件被访问的次数,再获取预设时间段内每个功能节点在测试环境中被触发的次数和在生产环境中被触发的次数。
基于同样的发明构思,图3示例性示出了本发明实施例提供的一种测试用例的筛选装置的结构示意图,如图3所示,该装置包括获取单元301、处理单元302;其中,
本发明实施例提供一种测试用例的筛选装置,所述装置包括:
获取单元301,用于获取软件的多个初始测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个初始测试用例中的至少一个初始测试用例;以及获取所述多个功能节点分别对应的监控信息,并根据所述多个功能节点分别对应的监控信息得到所述多个功能节点分别对应的权值;第一功能节点对应的监控信息包括在测试环境中对所述第一功能节点的使用情况进行监控得到的第一监控信息和在生产环境中对所述第一功能节点的使用情况进行监控得到的第二监控信息,所述第一功能节点为所述多个功能节点中的任一功能节点;
处理单元302,用于根据所述多个功能节点分别对应的权值,对所述多个初始测试用例进行筛选。
在一种可能的实现方式中,所述第一监控信息包括:所述第一功能节点在测试环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述测试环境中被访问的次数、在所述测试环境中触发所述第一功能节点的用户数目;
所述第二监控信息包括:所述第一功能节点在生产环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述生产环境中被访问的次数、在所述生产环境中触发所述第一功能节点的用户数目。
在一种可能的实现方式中,所述第一功能节点对应的权值通过以下方式确定:
Figure BDA0001650465210000151
其中,H为所述第一功能节点对应的权值;x为在所述测试环境中所述第一功能节点被触发的次数;X为在所述测试环境中所述多个功能节点被触发的总次数;y为在所述测试环境中所述第一功能节点对应的用户界面组件被访问的次数;Y为在所述测试环境中所述多个功能节点对应的用户界面组件被访问的总次数;M为在所述测试环境中触发所述第一功能节点的用户数目;a为在所述生产环境中所述第一功能节点被触发的次数;A为在所述生产环境中所述多个功能节点被触发的总次数;b为在所述生产环境中所述第一功能节点对应的用户界面组件被访问的次数;B为在所述生产环境中所述多个功能节点对应的用户界面组件被访问的总次数;N为在所述生产环境中触发所述第一功能节点的用户数目。
在一种可能的实现方式中,所述处理单元302具体用于:
根据所述多个功能节点分别对应的权值,确定所述多个功能节点对应的平均权值;以及将所述多个功能节点中权值大于或等于所述平均权值的功能节点所对应的初始测试用例筛选出来;或者,
根据所述多个功能节点分别对应的权值,将所述多个功能节点按照所述多个功能节点分别对应的权值从大到小进行排列;以及将排名前i位的功能节点所对应的初始测试用例筛选出来;i为大于或等于1的整数。
本发明实施例还提供一种装置,所述装置包括:
存储器,用于存储软件程序;
处理器,用于读取所述存储器中的软件程序并执行上述各种可能的实现方式中所描述的测试用例的筛选方法。
本发明实施例还提供一种计算机存储介质,所述存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时实现上述各种可能的实现方式中所描述的测试用例的筛选方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的测试用例的筛选方法。
本发明实施例中,在确定多个初始测试用例对应的多个功能节点后,获取预设时间段内每个功能节点的第一监控信息和第二监控信息,并根据每个功能节点的第一监控信息和第二监控信息,确定每个功能节点对应的权值,进而根据每个功能节点对应的权值,对多个初始测试用例进行筛选。如此,可以根据每个功能节点的权值,量化功能节点所对应的初始测试用例的重要性和优先级,并将重要性和优先级较高的测试用例筛选出来,降低软件的测试用例的数量,确保相对重要的功能节点可以被测试到,从而有效避免测试工作重复、冗余的问题,进而提高测试效率;进一步地,由于第一监控信息是在测试环境中获取到的信息,第二监控信息是在生产环境中获取到的信息,综合考虑了不同环境中的监控信息,从而使得每个功能节点的权值更加合理、可靠,进而能够有效提高筛选结果的全面性和准确性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种测试用例的筛选方法,其特征在于,所述方法包括:
获取软件的多个初始测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个初始测试用例中的至少一个初始测试用例;
获取所述多个功能节点分别对应的监控信息,并根据所述多个功能节点分别对应的监控信息得到所述多个功能节点分别对应的权值;第一功能节点对应的监控信息包括在测试环境中对所述第一功能节点的使用情况进行监控得到的第一监控信息和在生产环境中对所述第一功能节点的使用情况进行监控得到的第二监控信息,所述第一功能节点为所述多个功能节点中的任一功能节点;
根据所述多个功能节点分别对应的权值,对所述多个初始测试用例进行筛选;
所述第一监控信息包括:所述第一功能节点在测试环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述测试环境中被访问的次数、在所述测试环境中触发所述第一功能节点的用户数目;
所述第二监控信息包括:所述第一功能节点在生产环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述生产环境中被访问的次数、在所述生产环境中触发所述第一功能节点的用户数目。
2.根据权利要求1所述的方法,其特征在于,所述第一功能节点对应的权值通过以下方式确定:
Figure FDA0003272695370000011
其中,H为所述第一功能节点对应的权值;x为在所述测试环境中所述第一功能节点被触发的次数;X为在所述测试环境中所述多个功能节点被触发的总次数;y为在所述测试环境中所述第一功能节点对应的用户界面组件被访问的次数;Y为在所述测试环境中所述多个功能节点对应的用户界面组件被访问的总次数;M为在所述测试环境中触发所述第一功能节点的用户数目;a为在所述生产环境中所述第一功能节点被触发的次数;A为在所述生产环境中所述多个功能节点被触发的总次数;b为在所述生产环境中所述第一功能节点对应的用户界面组件被访问的次数;B为在所述生产环境中所述多个功能节点对应的用户界面组件被访问的总次数;N为在所述生产环境中触发所述第一功能节点的用户数目。
3.根据权利要求1至2中任一项所述的方法,其特征在于,根据所述多个功能节点分别对应的权值,对所述多个初始测试用例进行筛选,包括:
根据所述多个功能节点分别对应的权值,确定所述多个功能节点对应的平均权值;以及将所述多个功能节点中权值大于或等于所述平均权值的功能节点所对应的初始测试用例筛选出来;或者,
根据所述多个功能节点分别对应的权值,将所述多个功能节点按照所述多个功能节点分别对应的权值从大到小进行排列;以及将排名前i位的功能节点所对应的初始测试用例筛选出来;i为大于或等于1的整数。
4.一种测试用例的筛选装置,其特征在于,所述装置包括:
获取单元,用于获取软件的多个初始测试用例,所述软件包括多个功能节点,所述多个功能节点中的任一功能节点对应所述多个初始测试用例中的至少一个初始测试用例;以及获取所述多个功能节点分别对应的监控信息,并根据所述多个功能节点分别对应的监控信息得到所述多个功能节点分别对应的权值;第一功能节点对应的监控信息包括在测试环境中对所述第一功能节点的使用情况进行监控得到的第一监控信息和在生产环境中对所述第一功能节点的使用情况进行监控得到的第二监控信息,所述第一功能节点为所述多个功能节点中的任一功能节点;
处理单元,用于根据所述多个功能节点分别对应的权值,对所述多个初始测试用例进行筛选;
所述第一监控信息包括:所述第一功能节点在测试环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述测试环境中被访问的次数、在所述测试环境中触发所述第一功能节点的用户数目;
所述第二监控信息包括:所述第一功能节点在生产环境中被触发的次数、所述第一功能节点对应的用户界面组件在所述生产环境中被访问的次数、在所述生产环境中触发所述第一功能节点的用户数目。
5.根据权利要求4所述的装置,其特征在于,所述第一功能节点对应的权值通过以下方式确定:
Figure FDA0003272695370000031
其中,H为所述第一功能节点对应的权值;x为在所述测试环境中所述第一功能节点被触发的次数;X为在所述测试环境中所述多个功能节点被触发的总次数;y为在所述测试环境中所述第一功能节点对应的用户界面组件被访问的次数;Y为在所述测试环境中所述多个功能节点对应的用户界面组件被访问的总次数;M为在所述测试环境中触发所述第一功能节点的用户数目;a为在所述生产环境中所述第一功能节点被触发的次数;A为在所述生产环境中所述多个功能节点被触发的总次数;b为在所述生产环境中所述第一功能节点对应的用户界面组件被访问的次数;B为在所述生产环境中所述多个功能节点对应的用户界面组件被访问的总次数;N为在所述生产环境中触发所述第一功能节点的用户数目。
6.根据权利要求4至5中任一项所述的装置,其特征在于,所述处理单元具体用于:
根据所述多个功能节点分别对应的权值,确定所述多个功能节点对应的平均权值;以及将所述多个功能节点中权值大于或等于所述平均权值的功能节点所对应的初始测试用例筛选出来;或者,
根据所述多个功能节点分别对应的权值,将所述多个功能节点按照所述多个功能节点分别对应的权值从大到小进行排列;以及将排名前i位的功能节点所对应的初始测试用例筛选出来;i为大于或等于1的整数。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有指令,当所述指令在计算机上运行时,使得计算机实现执行权利要求1至3中任一项所述的方法。
8.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至3任一权利要求所述的方法。
CN201810420017.0A 2018-05-04 2018-05-04 一种测试用例的筛选方法及装置 Active CN108845927B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810420017.0A CN108845927B (zh) 2018-05-04 2018-05-04 一种测试用例的筛选方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810420017.0A CN108845927B (zh) 2018-05-04 2018-05-04 一种测试用例的筛选方法及装置

Publications (2)

Publication Number Publication Date
CN108845927A CN108845927A (zh) 2018-11-20
CN108845927B true CN108845927B (zh) 2021-12-07

Family

ID=64212700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810420017.0A Active CN108845927B (zh) 2018-05-04 2018-05-04 一种测试用例的筛选方法及装置

Country Status (1)

Country Link
CN (1) CN108845927B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800169A (zh) * 2019-01-24 2019-05-24 拉扎斯网络科技(上海)有限公司 测试用例的获取方法、装置、可读存储介质和电子设备
CN112069059B (zh) * 2020-08-13 2022-02-15 武汉大学 基于极大似然估计最大期望的测试用例生成方法及系统
CN111930630B (zh) * 2020-08-17 2024-01-05 电信科学技术第十研究所有限公司 基于数据流的大数据测试用例的生成方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464831A (zh) * 2009-01-09 2009-06-24 西安邮电学院 一种测试用例集缩减技术
CN103186457A (zh) * 2011-12-29 2013-07-03 阿里巴巴集团控股有限公司 一种自动生成测试用例的方法和装置
CN107315686A (zh) * 2017-06-28 2017-11-03 郑州云海信息技术有限公司 一种自动化测试的运行方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826243B2 (en) * 2010-12-14 2014-09-02 International Business Machines Corporation System, method, and computer program product for error code injection
CN102360336B (zh) * 2011-10-20 2014-12-17 上海达梦数据库有限公司 一种基于语法规则的自动化测试系统及方法
CN103365765B (zh) * 2012-03-28 2016-10-12 腾讯科技(深圳)有限公司 测试用例筛选方法和系统
US9864674B2 (en) * 2015-01-23 2018-01-09 Accenture Global Services Limited Test case generation system
US10102112B2 (en) * 2015-12-07 2018-10-16 Wipro Limited Method and system for generating test strategy for a software application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464831A (zh) * 2009-01-09 2009-06-24 西安邮电学院 一种测试用例集缩减技术
CN103186457A (zh) * 2011-12-29 2013-07-03 阿里巴巴集团控股有限公司 一种自动生成测试用例的方法和装置
CN107315686A (zh) * 2017-06-28 2017-11-03 郑州云海信息技术有限公司 一种自动化测试的运行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
带权值参数的两两组合测试用例集生成算法;李龙澍 等;《计算机工程》;20150429(第04期);284-287,293 *

Also Published As

Publication number Publication date
CN108845927A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN106294120B (zh) 测试代码的方法、设备和计算机程序产品
CN108683530B (zh) 多维度数据的数据分析方法、装置及存储介质
US8056060B2 (en) Software testing method and system
Weyuker et al. Using developer information as a factor for fault prediction
CN109308552A (zh) 一种业务策略评估方法、装置及电子设备
CN108845927B (zh) 一种测试用例的筛选方法及装置
CN106055464B (zh) 数据缓存集群压力测试装置及方法
CN106708818A (zh) 一种压力测试方法和系统
US10866804B2 (en) Recommendations based on the impact of code changes
WO2019019975A1 (zh) 云平台性能测试方法及装置
US20200349063A1 (en) Probabilistic software testing via dynamic graphs
Singh et al. Improving the quality of software by quantifying the code change metric and predicting the bugs
US20230086361A1 (en) Automatic performance evaluation in continuous integration and continuous delivery pipeline
CN110046086B (zh) 用于测试的期望数据生成方法及装置和电子设备
CN114595130A (zh) 一种软件稳定性评估方法、装置、存储介质和设备
US10572368B2 (en) Application management based on data correlations
TW202004533A (zh) 針對訓練語料從詞頻表中進行負例採樣的方法及裝置
CN116228045B (zh) 基于性能退化的产品可靠性薄弱环节评估方法和装置
Grottke et al. How does testing affect the availability of aging software systems?
WO2019046996A1 (en) JAVA SOFTWARE LATENCY ANOMALY DETECTION
CN111597093B (zh) 一种异常处理方法、装置及其设备
Henning et al. Toward efficient scalability benchmarking of event-driven microservice architectures at large scale
CN111382052A (zh) 代码质量评价方法、装置及电子设备
CN110888811B (zh) 代码覆盖率信息处理方法、装置、电子设备及介质
US20130006568A1 (en) Test Operation

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