CN115617653A - 测试用例优化方法、设备、存储介质及程序产品 - Google Patents

测试用例优化方法、设备、存储介质及程序产品 Download PDF

Info

Publication number
CN115617653A
CN115617653A CN202211151929.5A CN202211151929A CN115617653A CN 115617653 A CN115617653 A CN 115617653A CN 202211151929 A CN202211151929 A CN 202211151929A CN 115617653 A CN115617653 A CN 115617653A
Authority
CN
China
Prior art keywords
test
test case
stage
case
cases
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.)
Pending
Application number
CN202211151929.5A
Other languages
English (en)
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202211151929.5A priority Critical patent/CN115617653A/zh
Publication of CN115617653A publication Critical patent/CN115617653A/zh
Pending legal-status Critical Current

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/3676Test management for coverage analysis
    • 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/368Test management for test version control, e.g. updating test cases to a new software version
    • 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)
  • Tests Of Electronic Circuits (AREA)

Abstract

本申请提供一种测试用例优化方法、设备、存储介质及程序产品,针对在测试过程中发现的缺陷对于已有测试用例不断的进行调整,更加适应复杂和变化中的测试过程,并且基于动态规划进行测试用例的新增和更新,将测试用例的执行和修订过程分为多个阶段,可以充分利用动态规划的特点有效筛选和更新测试用例,更高效地发现软件中的缺陷,控制测试的时间成本和经济成本。

Description

测试用例优化方法、设备、存储介质及程序产品
技术领域
本申请涉及计算机技术领域,尤其涉及一种测试用例优化方法、设备、存储介质及程序产品。
背景技术
在***或软件上线之前,需要对对各项功能、流程进行测试,这就要用到测试用例。测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。
现有技术比较关注测试用例的生成方法,目前已有方法包括等价类划分法、边界值分析法、错误推测法等黑盒测试方法和逻辑覆盖法、基本路径测试法等白盒测试方法,无论何种方法,当前测试工作的惯例一般是在测试执行工作正式开始前完成测试用例的编写工作,关注如何在测试工作开始前生成能全面覆盖需求点和改造点的测试用例。在实际测试工作中,已编写完成或已生成的测试用例指明了测试工作的方向和范围,通过执行全部测试用例可以确认改造或新增的功能是否正常实现,另外可以根据已执行或已通过的用例占比来估算测试进度。
但实际研发工作和测试工作是复杂且不断变化的,一方面在初始测试案例生成过程中,有可能存在一定疏漏,不能完全覆盖可能出现缺陷的问题;另一方面,在测试过程中,不论需求还是代码都可能不断变化,已有的案例不能覆盖新的改造和变化。
发明内容
本申请提供一种测试用例优化方法、设备、存储介质及程序产品,以在测试过程中不断优化和更新测试用例,更好的跟踪项目改造点和发现缺陷。
第一方面,本申请提供一种测试用例优化方法,包括:
在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,其中所述测试用例子集是将测试用例集合按照不同测试阶段进行划分;
在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户优化当前测试用例以及相关测试用例;
根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集,并从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。
在一种可选设计中,所述根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例,包括:
根据预设的测试用例相关性关系,从当前测试阶段对应的测试用例子集以及后续测试阶段对应的测试用例子集中,确定所述当前测试用例的相关测试用例。
在一种可选设计中,在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例前,还包括:
根据测试阶段划分指令,将整个测试过程划分为不同的测试阶段;
确定测试用例集合中每一测试用例所属的测试阶段,将属于相同测试阶段的测试用例构建为一个测试用例子集。
在一种可选设计中,所述不同测试阶段包括要素测试阶段、功能测试阶段和流程测试阶段;
所述在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,包括:
按照要素测试阶段、功能测试阶段和流程测试阶段的顺序,或者流程测试阶段、功能测试阶段和要素测试阶段的顺序,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例。
在一种可选设计中,所述根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例前,还包括:
对所述测试用例集合中的所有测试用例进行分析,判断各测试用例之间的相关性关系,构建相关性关系的关系矩阵或关系表。
在一种可选设计中,所述对所述测试用例集合中的所有测试用例进行分析,判断各测试用例之间的相关性关系
对于要素测试阶段对应的测试用例子集中的测试用例,将属于同一个if函数下的测试用例确定为相关测试用例;和/或
将属于同一功能的测试用例确定为相关测试用例;和/或
将属于同一流程的测试用例确定为相关测试用例。
第二方面,本申请提供一种测试用例优化装置,包括:
执行模块,用于在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,其中所述测试用例子集是将测试用例集合按照不同测试阶段进行划分;
优化更新模块,用于在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户优化当前测试用例以及相关测试用例;根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集;
所述执行模块还用于,从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。
在一种可选设计中,所述优化更新模块在根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例时,用于:
根据预设的测试用例相关性关系,从当前测试阶段对应的测试用例子集以及后续测试阶段对应的测试用例子集中,确定所述当前测试用例的相关测试用例。
在一种可选设计中,所述装置还包括测试用例划分模块,用于:
根据测试阶段划分指令,将整个测试过程划分为不同的测试阶段;
确定测试用例集合中每一测试用例所属的测试阶段,将属于相同测试阶段的测试用例构建为一个测试用例子集。
在一种可选设计中,所述不同测试阶段包括要素测试阶段、功能测试阶段和流程测试阶段;
所述执行模块在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例时,用于:
按照要素测试阶段、功能测试阶段和流程测试阶段的顺序,或者流程测试阶段、功能测试阶段和要素测试阶段的顺序,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例。
在一种可选设计中,所述装置还包括相关性分析模块,用于:
对所述测试用例集合中的所有测试用例进行分析,判断各测试用例之间的相关性关系,构建相关性关系的关系矩阵或关系表。
在一种可选设计中,所述相关性分析模块在对所述测试用例集合中的所有测试用例进行分析,判断各测试用例之间的相关性关系时,用于:
对于要素测试阶段对应的测试用例子集中的测试用例,将属于同一个if函数下的测试用例确定为相关测试用例;和/或
将属于同一功能的测试用例确定为相关测试用例;和/或
将属于同一流程的测试用例确定为相关测试用例。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法。
本申请提供的测试用例优化方法、设备、存储介质及程序产品,通过在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,其中测试用例子集是将测试用例集合按照不同测试阶段进行划分;在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户优化当前测试用例以及相关测试用例;根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集,并从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。可针对在测试过程中发现的缺陷对于已有测试用例不断的进行调整,更加适应复杂和变化中的测试过程,并且基于动态规划进行测试用例的新增和更新,将测试用例的执行和修订过程分为多个阶段,可以充分利用动态规划的特点有效筛选和更新测试用例,更高效地发现软件中的缺陷,控制测试的时间成本和经济成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一实施例提供的测试用例优化方法的应用场景示意图;
图2为本申请一实施例提供的测试用例优化方法的流程图;
图3为本申请另一实施例提供的测试用例优化方法的流程图;
图4为本申请一实施例提供的测试用例优化装置的结构图;
图5为本申请一实施例提供的电子设备的结构图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
现有的测试用例相关技术中更关注如何在测试工作开始前生成能全面覆盖需求点和改造点的测试案例,在生成测试用例后、以及运行测试用例过程中,测试用例通常是不变的。但实际研发工作和测试工作是复杂且不断变化的,一方面在初始测试案例生成过程中,有可能存在一定疏漏,不能完全覆盖可能出现缺陷的问题;另一方面,在测试过程中,不论需求还是代码都可能不断变化,已有的用例不能覆盖新的改造和变化。如果测试用例在生成或编写完成以后就不再变化,必然无法同步反映变化中的应用程序的改造点和测试范围,也有可能由于一些未知的疏漏或方案自身局限导致缺陷逃逸。总之,测试用例不应该是一成不变的,应当根据测试过程的开展不断更新,以便更好地跟踪项目改造点和帮助发现缺陷。
因此,本申请提供以一种测试用例优化方法,以在测试执行过程中不断对测试案例进行调整。通过在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,其中测试用例子集是将测试用例集合按照不同测试阶段进行划分;在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户优化当前测试用例以及相关测试用例;根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集,并从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。可针对在测试过程中发现的缺陷对于已有测试用例不断的进行调整,更加适应复杂和变化中的测试过程,并且基于动态规划进行测试用例的新增和更新,将测试用例的执行和修订过程分为多个阶段,可以充分利用动态规划的特点有效筛选和更新测试用例,更高效地发现软件中的缺陷,控制测试的时间成本和经济成本。
本申请中将测试用例的执行作为一个动态规划的过程,则该过程的最终目标为尽可能覆盖所有缺陷,该动态规划过程的最优解即为能尽可能覆盖所有缺陷的最小用例集合,也即通过更新测试用例以尽可能少的测试次数覆盖所有缺陷。其中动态规划是一种用于求解多阶段决策过程最优解的运筹学方法。其中,多阶段决策一般指一个活动过程可以分解成多个存在相互联系的阶段,从而形成一个多阶段的决策过程,每个阶段有不同状态及决策,每次决策既依赖于当前的状态,又会产生状态的迁移,由此产生了决策过程的最优化问题。本申请中可将将整个测试过程划分为不同的测试阶段,并且将测试用例集合中的测试用例按照不同的测试阶段划分为不同的测试用例子集,每一测试阶段在其测试用例子集所有测试用例执行通过后,再进入下一测试阶段测试用例的执行;且每一测试阶段中会根据未执行通过的测试用例筛选相关测试用例,根据已发现缺陷或改造点进行优化和更新,可更高效地发现软件中的缺陷。
本申请具体的应用场景如图1所示,用户可向处理设备输入测试用例集合,处理设备在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户,用户根据已发现缺陷或改造点优化当前测试用例以及相关测试用例,并输入处理设备;根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集,并从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的测试用例优化方法流程图。本实施例提供了一种测试用例优化方法,其执行设备为终端设备或服务器等电子产品,该测试用例优化方法具体步骤如下:
S201、在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,其中所述测试用例子集是将测试用例集合按照不同测试阶段进行划分。
在本实施例中,预先将整个测试过程划分为不同的测试阶段,并且将测试用例集合中的测试用例按照不同的测试阶段划分为不同的测试用例子集,例如不同测试阶段包括要素测试阶段、功能测试阶段和流程测试阶段,进而将测试用例集合划分为要素测试阶段对应的测试用例子集、功能测试阶段对应的测试用例子集和流程测试阶段对应的测试用例子集,当然也可以采用其他的测试阶段划分方式。
本实施例中在执行测试用例时,可按照测试阶段依次进行执行对应的测试用例子集。例如按照要素测试阶段、功能测试阶段和流程测试阶段的顺序,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,实现按照测试过程中由点及面、从下到上的顺序来开展测试;或者若测试过程更关注整体可用性等,也可按照流程测试阶段、功能测试阶段和要素测试阶段的顺序,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例;当然如果存在其他测试阶段划分方式,也可采用相应的顺序,此处不做限定。
S202、在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户优化当前测试用例以及相关测试用例。
在本实施例中,可预先对测试用例集合中的所有测试用例进行分析,判断各测试用例之间的相关性关系,构建相关性关系的关系矩阵或关系表,可用于记录任意两个测试用例之间相关或不相关。例如某次测试共有要素级测试用例N1个,功能级测试用例N2个,流程级测试用例N3个,则测试用例总数N=N1+N2+N3,可以构建N*N的相关性矩阵,矩阵取值为0和1,矩阵中第i列第j行取值为0则代表测试用例i和测试用例j无相关性,取值为1则代表测试用例i和测试用例j有相关性,该相关性矩阵为对称性矩阵。
可选的,对于要素测试阶段对应的测试用例子集中的测试用例,将属于同一个if函数下的测试用例确定为相关测试用例;可选的,可将属于同一功能的测试用例确定为相关测试用例,包括要素测试阶段对应的测试用例子集、以及功能测试阶段对应的测试用例子集中属于同一功能的测试用例;可选的,可将属于同一流程的测试用例确定为相关测试用例,要素测试阶段对应的测试用例子集、功能测试阶段对应的测试用例子集和流程测试阶段对应的测试用例子集中属于同一流程的测试用例。当然也可采用其他方式确定测试用例之间的相关性,此处可不做限定。
在当前测试阶段中,在检测到当前测试用例执行不通过后,可根据测试用例相关性关系筛选出当前测试用例的相关测试用例,以进行优化,具体的优化过程由用户(测试人员)来执行,也即本实施例中,执行设备可输出测试用例优化请求,来提示用户优化当前测试用例以及相关测试用例,用户针对当前测试用例以及相关测试用例判断是否需要修订并进行相关修订和调整,尤其是在修订和调整时可基于已发现的缺陷、或者针对项目改造点对测试用例进行修订和调整,更加适应软件开发和测试过程,既能更好地发掘缺陷,又能帮助控制测试的时间成本和经济成本,再将优化后的当前测试用例以及相关测试用例输入执行设备中。
S203、根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集,并从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。
在本实施例中,在用户完成对当前测试用例以及相关测试用例的优化后,可更新相应的测试用例子集,并从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。
以按照要素测试阶段、功能测试阶段和流程测试阶段的顺序执行为例,首先执行要素测试阶段对应的测试用例子集中的每一个测试用例,当某一个测试用例执行不通过,则筛选相关测试用例,经过优化后,重新执行优化后的测试阶段对应的测试用例子集中的每一个测试用例,或者也可重新执行优化后的测试阶段对应的测试用例子集中当前测试用例以及已经执行过的相关测试用例,并从当前测试用例其继续执行后续未执行的测试用例,若又存在执行不通过的测试用例,则重复上述过程,直至要素测试阶段对应的测试用例子集中的全部测试用例执行通过;然后执行功能测试阶段对应的测试用例子集中的每一个测试用例,若存在执行不通过的测试用例,则重复与上述过程类似的过程,直至功能测试阶段对应的测试用例子集中的全部测试用例执行通过;然后执行流程测试阶段对应的测试用例子集中的每一个测试用例,若存在执行不通过的测试用例,则重复与上述过程类似的过程,直至流程测试阶段对应的测试用例子集中的全部测试用例执行通过,测试结束。
其中,可选的,在当前测试用例执行不通过、并确定当前测试用例的相关测试用例时,可根据预设的测试用例相关性关系,从当前测试阶段对应的测试用例子集以及后续测试阶段对应的测试用例子集中,确定当前测试用例的相关测试用例。即由于之前的测试阶段对应的测试用例子集全部测试用例已执行通过,在测试用例涉及充分全面的前提下,在功能测试阶段中不再对要素测试阶段对应的测试用例子集进行修订,在流程测试阶段不再对要素测试阶段对应的测试用例子集和功能测试阶段对应的测试用例子集进行修订,但是在要素测试阶段中可以对要素测试阶段对应的测试用例子集、功能测试阶段对应的测试用例子集和流程测试阶段对应的测试用例子集进行修订,在功能测试阶段中可以对功能测试阶段对应的测试用例子集和流程测试阶段对应的测试用例子集进行修订。当然如果测试开展的顺序颠倒,则修订的要求同样进行相应适应,总之,测试执行中不再对已执行通过阶段的测试用例进行更新,避免浪费资源,提高效率。
本实施例提供的测试用例优化方法,通过在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,其中测试用例子集是将测试用例集合按照不同测试阶段进行划分;在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户优化当前测试用例以及相关测试用例;根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集,并从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。可针对在测试过程中发现的缺陷对于已有测试用例不断的进行调整,更加适应复杂和变化中的测试过程,并且基于动态规划进行测试用例的新增和更新,将测试用例的执行和修订过程分为多个阶段,可以充分利用动态规划的特点有效筛选和更新测试用例,更高效地发现软件中的缺陷,控制测试的时间成本和经济成本。
在上述实施例的基础上,如图3所示,在对测试用例集合划分测试用例子集的过程具体如下:
S301、根据测试阶段划分指令,将整个测试过程划分为不同的测试阶段;
S302、确定测试用例集合中每一测试用例所属的测试阶段,将属于相同测试阶段的测试用例构建为一个测试用例子集。
在本实施例中,用户可先确定将测试过程划分为哪些测试阶段,例如上述举例中的要素测试阶段、功能测试阶段和流程测试阶段,并向执行设备输入测试阶段划分指令,以及输入测试用例集合,执行设备可对测试用例集合中的测试用例进行分析,确定每一个测试用例属于哪一个测试阶段,然后将属于相同测试阶段的测试用例构建为一个测试用例子集。当然,用户也可在编写测试用例的过程中,自行按照不同的测试阶段进行编写,形成测试用例子集,并将各测试阶段对应的测试用例子集输入执行设备。
在上述实施例的基础上,还可跟踪测试用例执行进度和结果,筛选执行不通过的测试用例,如果被测试软件***支持自动化测试,还可以进行自动化交易、自动化测试用例的关联与自动化执行。此外,还可对测试用例所属阶段、是否更新、执行结果等情况进行记录,方便测试人员在测试执行过程中及测试执行完成后对于测试用例更新优化情况进行整理和分析。
图4为本申请实施例提供点的测试用例优化装置的结构图。本实施例提供的测试用例优化装置可以执行测试用例优化方法实施例提供的处理流程,如图4所示,所述测试用例优化装置400包括:执行模块401、优化更新模块402。
执行模块401,用于在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,其中所述测试用例子集是将测试用例集合按照不同测试阶段进行划分;
优化更新模块402,用于在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户优化当前测试用例以及相关测试用例;根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集;
所述执行模块401还用于,从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。
在一种可选设计中,所述优化更新模块402在根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例时,用于:
根据预设的测试用例相关性关系,从当前测试阶段对应的测试用例子集以及后续测试阶段对应的测试用例子集中,确定所述当前测试用例的相关测试用例。
在一种可选设计中,所述装置还包括测试用例划分模块403,用于:
根据测试阶段划分指令,将整个测试过程划分为不同的测试阶段;
确定测试用例集合中每一测试用例所属的测试阶段,将属于相同测试阶段的测试用例构建为一个测试用例子集。
在一种可选设计中,所述不同测试阶段包括要素测试阶段、功能测试阶段和流程测试阶段;
所述执行模块401在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例时,用于:
按照要素测试阶段、功能测试阶段和流程测试阶段的顺序,或者流程测试阶段、功能测试阶段和要素测试阶段的顺序,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例。
在一种可选设计中,所述装置还包括相关性分析模块404,用于:
对所述测试用例集合中的所有测试用例进行分析,判断各测试用例之间的相关性关系,构建相关性关系的关系矩阵或关系表。
在一种可选设计中,所述相关性分析模块404在对所述测试用例集合中的所有测试用例进行分析,判断各测试用例之间的相关性关系时,用于:
对于要素测试阶段对应的测试用例子集中的测试用例,将属于同一个if函数下的测试用例确定为相关测试用例;和/或
将属于同一功能的测试用例确定为相关测试用例;和/或
将属于同一流程的测试用例确定为相关测试用例。
本申请实施例的测试用例优化装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5示出了本申请实施例提供的一种电子设备的硬件结构示意图。如图5所示,该电子设备500,用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的电子设备500可以包括:存储器501,处理器502和通讯接口503。
存储器501,用于存储计算机程序。该存储器501可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器502,用于执行存储器存储的计算机程序,以实现上述实施例中的方法,具体可以参见前述方法实施例中的相关描述。该处理器502可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选的,存储器501既可以是独立的,也可以跟处理器502集成在一起。当存储器501是独立于处理器502之外的器件时,电子设备500还可以包括总线。该总线用于连接存储器501和处理器502。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
通讯接口503,用于传输指令和/或测试用例数据。
本实施例提供的电子设备可用于执行上述实施例中的测试用例优化方法,其实现方式和技术效果类似,本实施例此处不再赘述。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的方法。
另外,本实施例还提供一种计算机程序产品,包括计算机程序(计算机执行指令),所述计算机程序被处理器执行以实现上述实施例所述的方法。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请实施例各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上各实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述各实施例对本申请实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请实施例各实施例技术方案的范围。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种测试用例优化方法,其特征在于,包括:
在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,其中所述测试用例子集是将测试用例集合按照不同测试阶段进行划分;
在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户优化当前测试用例以及相关测试用例;
根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集,并从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例,包括:
根据预设的测试用例相关性关系,从当前测试阶段对应的测试用例子集以及后续测试阶段对应的测试用例子集中,确定所述当前测试用例的相关测试用例。
3.根据权利要求1或2所述的方法,其特征在于,在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例前,还包括:
根据测试阶段划分指令,将整个测试过程划分为不同的测试阶段;
确定测试用例集合中每一测试用例所属的测试阶段,将属于相同测试阶段的测试用例构建为一个测试用例子集。
4.根据权利要求3所述的方法,其特征在于,所述不同测试阶段包括要素测试阶段、功能测试阶段和流程测试阶段;
所述在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,包括:
按照要素测试阶段、功能测试阶段和流程测试阶段的顺序,或者流程测试阶段、功能测试阶段和要素测试阶段的顺序,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例。
5.根据权利要求4所述的方法,其特征在于,所述根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例前,还包括:
对所述测试用例集合中的所有测试用例进行分析,判断各测试用例之间的相关性关系,构建相关性关系的关系矩阵或关系表。
6.根据权利要求5所述的方法,其特征在于,所述对所述测试用例集合中的所有测试用例进行分析,判断各测试用例之间的相关性关系,包括:
对于要素测试阶段对应的测试用例子集中的测试用例,将属于同一个if函数下的测试用例确定为相关测试用例;和/或
将属于同一功能的测试用例确定为相关测试用例;和/或
将属于同一流程的测试用例确定为相关测试用例。
7.一种测试用例优化装置,其特征在于,包括:
执行模块,用于在不同测试阶段中,分别执行测试用例集合中与测试阶段对应的测试用例子集的每一测试用例,其中所述测试用例子集是将测试用例集合按照不同测试阶段进行划分;
优化更新模块,用于在检测到当前测试用例执行不通过后,根据预设的测试用例相关性关系确定所述当前测试用例的相关测试用例,并输出测试用例优化请求,以提示用户优化当前测试用例以及相关测试用例;根据用户输入的根据已发现缺陷或改造点优化后的当前测试用例以及相关测试用例,更新相应的测试用例子集;
所述执行模块还用于,从优化后的当前测试阶段对应的测试用例子集继续进行测试用例的执行,直至当前测试阶段对应的测试用例子集全部执行通过后进入下一测试阶段。
8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-6任一项所述的方法。
CN202211151929.5A 2022-09-21 2022-09-21 测试用例优化方法、设备、存储介质及程序产品 Pending CN115617653A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211151929.5A CN115617653A (zh) 2022-09-21 2022-09-21 测试用例优化方法、设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211151929.5A CN115617653A (zh) 2022-09-21 2022-09-21 测试用例优化方法、设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN115617653A true CN115617653A (zh) 2023-01-17

Family

ID=84859312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211151929.5A Pending CN115617653A (zh) 2022-09-21 2022-09-21 测试用例优化方法、设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN115617653A (zh)

Similar Documents

Publication Publication Date Title
US20110197179A1 (en) Simulating a line of source code in a debugging tool
WO2019056720A1 (zh) 自动化测试用例管理方法、装置、设备及存储介质
CN111831564A (zh) 一种回归测试方法、装置及计算设备
CN104778032A (zh) 一种用于进行持续集成的方法和设备
CN111897727A (zh) 软件测试方法、装置、计算机设备及存储介质
US11663113B2 (en) Real time fault localization using combinatorial test design techniques and test case priority selection
CN115686631B (zh) 一种基于知识基的随机指令生成方法、装置及存储介质
WO2020113526A1 (zh) 一种芯片验证方法和装置
CN102455897B (zh) 基于实例的迭代编译方法及编译装置
CN111581101A (zh) 软件模型的测试方法、装置、设备和介质
US10970197B2 (en) Breakpoint value-based version control
CN115617653A (zh) 测试用例优化方法、设备、存储介质及程序产品
US8954310B2 (en) Automatic designation of equivalent variable values
US11176026B2 (en) Assignment of test case priorities based on combinatorial test design model analysis
CN114757166A (zh) 自然语言理解***的评估方法、装置及网络设备
CN115033434A (zh) 一种内核性能理论值计算方法、装置及存储介质
CN113297069A (zh) 一种基于目标驱动的软件测试方法和装置
CN116501653B (zh) 一种软件回归测试方法及装置
US20170220450A1 (en) Analytic method and analyzing apparatus
CN109815129A (zh) 证券融资应用软件的测试方法、装置、终端及存储介质
CN116861829B (zh) 用于定位逻辑***设计中错误的方法、电子设备
JPWO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
Nagy et al. ENHANCED REGRESSION TESTING EXECUTION PROCESS USING TEST SUITE REDUCTION TECHNIQUES AND PARALLEL EXECUTION
CN112416738A (zh) 影像测试方法、装置、计算机装置及可读存储介质
CN112904187A (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