CN113946511A - 一种全功能测试用例集合获取方法和系统 - Google Patents
一种全功能测试用例集合获取方法和系统 Download PDFInfo
- Publication number
- CN113946511A CN113946511A CN202111202149.4A CN202111202149A CN113946511A CN 113946511 A CN113946511 A CN 113946511A CN 202111202149 A CN202111202149 A CN 202111202149A CN 113946511 A CN113946511 A CN 113946511A
- Authority
- CN
- China
- Prior art keywords
- test
- test case
- module
- case set
- full
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种全功能测试用例集合获取方法和系统,主要包括:接收测试参数,根据测试参数生成测试用例集合;利用测试用例集合对被测试系统和对照系统进行测试,分别得到关于被测试系统的测试结果和关于对照系统的对照结果;将测试结果和对照结果进行比对,以确定测试用例集合中的所有测试用例是否全部通过,并分析测试用例集合的覆盖范围;在测试用例集合中的所有测试用例全部通过并且测试用例集合的覆盖范围达到设定范围时,将测试用例集合作为全功能测试用例集合。本发明降低了测试人员的人力投入成本,缩短了测试耗时,并且使得被测试系统的测试更加全面,改善了测试效果。
Description
技术领域
本发明涉及测试技术领域,特别涉及一种包含了自动生成大量测试用例对被测试系统进行测试并确定测试用例覆盖范围的全功能测试用例集合获取方法和全功能测试用例集合获取系统。
背景技术
测试用例用于对一项特定的软硬件被测系统进行测试。被测系统在投入使用或者上线服务之前,需要依靠测试用例对其内部的多个功能模块进行可用性和稳定性测试,被测系统也即待测系统。待测系统通常具有功能多样,组合复杂的特性,这样的系统需要进行全要素覆盖测试。测试人员仅基于典型的边界法,场景法分类列出的测试用例的覆盖率往往无法得到保证。另外,待测系统通常是迭代开发的,待测系统的每次版本更新,都需要测试人员能够快速的进行回归测试。而基于现有常规方法保证测试的覆盖率并进行快速回归测试则提高了人力投入成本,并且耗时长,测试效果差。
发明内容
有鉴于此,本发明提供一种全功能测试用例集合获取方法和全功能测试用例集合获取系统,以自动生成大量测试用例对被测试系统进行测试,并确定测试用例覆盖范围,自动生成未被覆盖的测试用例,在被测试系统测试通过后,将对被测试系统进行测试所使用的全部测试用例统一保存,用于后续被测试系统版本更新后的回归测试,以降低人力投入成本,缩短测试耗时,改善测试效果。
本发明的技术方案是这样实现的:
一种全功能测试用例集合获取方法,包括:
接收测试参数,根据所述测试参数生成测试用例集合,所述测试用例集合中包含至少一个测试用例;
利用所述测试用例集合对被测试系统和对照系统进行测试,分别得到关于所述被测试系统的测试结果和关于所述对照系统的对照结果;
将所述测试结果和所述对照结果进行比对,以确定所述测试用例集合中的所有测试用例是否全部通过,并分析所述测试用例集合的覆盖范围;
在所述测试用例集合中的所有测试用例全部通过并且所述测试用例集合的覆盖范围达到设定范围时,将所述测试用例集合作为全功能测试用例集合。
进一步,所述全功能测试用例集合获取方法还包括:
在所述覆盖范围未达到所述设定范围时,对所述测试用例集合进行分析,以获得所述覆盖范围外的补充测试参数;
接收所述补充测试参数,根据所述补充测试参数生成至少一个补充测试用例,并将所述补充测试用例更新至所述测试用例集合中,利用更新后的测试用例集合对被测试系统和对照系统再次进行测试。
进一步,所述测试用例包括单模块测试用例和通路测试用例;
所述全功能测试用例集合获取方法还包括:
统计通过测试的针对于所述被测试系统中的每一个模块的单模块测试用例的数量,统计通过测试的针对于所述被测试系统中的每一个通路的通路测试用例的数量;
其中,所述单模块测试用例为针对所述被测试系统中的单个模块进行测试的测试用例,所述通路测试用例为针对所述被测试系统中的至少两个模块组成的通路进行测试的测试用例。
进一步,所述全功能测试用例集合获取方法还包括:
在所述测试用例集合中的所有测试用例未全部通过时,利用所述测试用例集合对所述对照系统和完成修改后的被测试系统再次进行测试。
进一步,所述测试参数包括被测试系统中的被测试模块的名称、被测试模块的参数范围;
所述测试用例集合中的各个测试用例中的被测试模块的参数在被测试模块的参数范围内随机生成。
进一步,所述对照系统为正确实现所述被测试系统所有功能的仿真系统。
进一步,所述的将所述测试结果和所述对照结果进行比对,以确定所述测试用例集合中的所有测试用例是否全部通过,包括:
采用峰值信噪比PSNR方法对所述测试结果和所述对照结果进行比对,将所述测试结果和所述对照结果之间的差距未超出所设定的信噪比阈值的测试用例确定为通过的测试用例,将所述测试结果和所述对照结果之间的差距超出所设定的信噪比阈值的测试用例确定为未通过的测试用例;
只有在所述测试用例集合中的所有测试用例均为通过的测试用例时,所述测试用例集合中的所有测试用例全部通过,否则所述测试用例集合中的所有测试用例未全部通过。
进一步,所述全功能测试用例集合获取方法还包括:
输出未通过的测试用例以及与未通过的测试用例相对应的测试结果和对照结果。
一种全功能测试用例集合获取系统,包括:
用例生成模块,用于接收测试参数,根据所述测试参数生成测试用例集合,所述测试用例集合中包含至少一个测试用例;
第一测试模块,用于利用所述测试用例集合对被测试系统进行测试,得到关于所述被测试系统的测试结果;
第二测试模块,用于利用所述测试用例集合对对照系统进行测试,得到关于所述对照系统的对照结果;
比对模块,用于将所述测试结果和所述对照结果进行比对,以确定所述测试用例集合中的所有测试用例是否全部通过;
分析统计模块,用于分析所述测试用例集合的覆盖范围;
输出模块,用于在所述测试用例集合中的所有测试用例全部通过并且所述测试用例集合的覆盖范围达到设定范围时,将所述测试用例集合作为全功能测试用例集合进行输出。
进一步,所述分析统计模块,还用于在所述覆盖范围未达到所述设定范围时,对所述测试用例集合进行分析,以获得所述覆盖范围外的补充测试参数;其中,
所述用例生成模块,还用于接收所述补充测试参数,根据所述补充测试参数生成至少一个补充测试用例,并将所述补充测试用例更新至所述测试用例集合中,以供所述第一测试模块和所述第二测试模块再次进行测试。
进一步,所述测试用例包括单模块测试用例和通路测试用例;
所述分析统计模块,还用于统计通过测试的针对于所述被测试系统中的每一个模块的单模块测试用例的数量,统计通过测试的针对于所述被测试系统中的每一个通路的通路测试用例的数量;
其中,所述单模块测试用例为针对所述被测试系统中的单个模块进行测试的测试用例,所述通路测试用例为针对所述被测试系统中的至少两个模块组成的通路进行测试的测试用例。
一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的全功能测试用例集合获取方法中的步骤。
一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如上任一项所述的全功能测试用例集合获取方法中的步骤。
从上述方案可以看出,本发明的全功能测试用例集合获取方法和全功能测试用例集合获取系统,能够根据所获取的测试参数自动生成大量的测试用例,并在对被测试系统的测试之后,分析出测试用例的覆盖范围,并再次生成先前覆盖范围以外的补充测试用例,用于对被测试系统的再次测试。采用本发明的全功能测试用例集合获取方法和全功能测试用例集合获取系统,能够确保被测试系统中的各个模块、各种通路、各个参数范围的全面测试,本发明降低了测试人员人工参与创建测试用例的人力投入成本,缩短了因为创建测试用例所造成的测试耗时,并且使得被测试系统的测试更加全面,改善了测试效果。
附图说明
图1为本发明实施例的全功能测试用例集合获取方法流程图;
图2为本发明实施例的全功能测试用例集合获取方法的一个应用实例流程图;
图3为本发明实施例的全功能测试用例集合获取系统结构示意图;
图4为本发明实施例中的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
如图1所示,本发明实施例的全功能测试用例集合获取方法,主要包括以下步骤:
步骤1、接收测试参数,根据测试参数生成测试用例集合,其中,测试用例集合中包含至少一个测试用例;
步骤2、利用测试用例集合对被测试系统和对照系统进行测试,分别得到关于被测试系统的测试结果和关于对照系统的对照结果;
步骤3、将测试结果和对照结果进行比对,以确定测试用例集合中的所有测试用例是否全部通过,并分析测试用例集合的覆盖范围;
步骤4、在测试用例集合中的所有测试用例全部通过并且测试用例集合的覆盖范围达到设定范围时,将测试用例集合作为全功能测试用例集合。
在本发明实施例中,被测试系统例如硬件系统、软件系统、软硬件相结合系统。例如,后续实施例中的由软硬件相结合组成的ISP(Image Signal Processor,图像处理)系统。
在可选实施例中,本发明实施例的全功能测试用例集合获取方法还进一步包括:
步骤5、在测试用例集合的覆盖范围未达到设定范围时,对测试用例集合进行分析,以获得测试用例集合的覆盖范围外的补充测试参数;
步骤6、接收补充测试参数,根据补充测试参数生成至少一个补充测试用例,并将补充测试用例更新至测试用例集合中,利用更新后的测试用例集合对被测试系统和对照系统再次进行测试。
本发明实施例中,覆盖范围包括了参数值的覆盖范围和通路的覆盖范围,具体详见以下说明。
在可选实施例中,测试用例包括单模块测试用例和通路测试用例。
可选地,在步骤5中还可进一步包括:
统计通过测试的针对被测试系统中的每一个模块的单模块测试用例的数量,统计通过测试的针对被测试系统中的每一个通路的通路测试用例的数量,以分析被测试系统和测试用例的测试充分性。
其中,单模块测试用例为针对被测试系统中的单个模块进行测试的测试用例,通路测试用例为针对被测试系统中的至少两个模块组成的通路进行测试的测试用例。
在本发明实施例中,测试用例集合的覆盖范围是根据测试参数生成的测试用例集合所覆盖的范围,设定范围是测试人员和/或研发人员对测试用例集合所要求覆盖到的范围。其中,覆盖范围包括被测试系统中各个被测试的模块的输入参数值和输出参数值所覆盖的范围。本发明实施例中,为了快速生成可覆盖输入参数值和输出参数值的取值范围的众多测试用例,在所接收的输入参数取值范围和输出参数取值范围内随机产生多个输入参数值和输出参数值,可根据需要设定所产生的参数值的数量。由于是随机产生,所以有可能存在取值范围内的某些参数范围区域并未被随机产生的参数值所覆盖,因此测试用例集合中便没有关于这些参数范围区域的测试用例,也就是说生成的测试用例集合不能对这些参数范围区域进行测试。
对于单模块测试而言,单模块测试用例需要覆盖单模块的输入参数值和输出参数值的全范围,即对于单模块测试而言,设定范围为单模块的输入参数值和输出参数值的全范围。经过本发明实施例中的步骤5后,便可得到测试用例集合的覆盖范围以外的输入参数值和输出参数值的范围,以供测试人员查阅,进而测试人员能够知晓单模块测试中未被覆盖的参数取值范围,通过输入未被覆盖的参数取值范围,利用步骤6就能够生成新的包含有未被覆盖的参数取值范围的测试用例。
在可选实施例中,覆盖范围还包括单个模块在所有测试用例中要求出现的最少次数。举例来说,被测试系统中的每一个被测试模块都代表了一种操作实现一种功能,例如,关于一个第一模块和第二模块组成的通路测试用例中,从第一模块到第二模块的通路表示先执行第一操作实现第一功能再执行第二操作实现第二功能,从第二模块到第一模块的通路表示先执行第二操作实现第二功能再执行第一操作实现第一功能,这两种通路最终的效果往往并不相同,例如对于图像处理而言,先缩放再边缘增强的操作和先边缘增强再缩放的操作二者得到的结果是不同的。所以,为了确保测试均能够覆盖所有情况,需要对单个模块在所有测试用例中出现的最少次数进行限定。如果单个模块在所有测试用例中出现的次数小于该单个模块的设定次数(即该模块在所有测试用例中要求出现的最少次数),则对测试用例集合进行分析,能够获得未被测试用例集合所覆盖的通路测试用例。
关于通路的覆盖范围,例如,针对三个模块的通路测试中,由排列组合能够得出:由这三个模块全部组成的通路共有6种,对应于6个通路测试;由这三个模块中的任意两个模块组成的通路共有6种,对应于另外6个通路测试。然而,基于本发明实施例的测试用例的随机产生,有可能不能完全覆盖这12个通路测试。通路覆盖范围就是所产生的通路测试中包含了多少种。优选地,当通路覆盖范围为所有通路全覆盖时,即通路覆盖范围为100%时才能够确保对所有通路均进行了通路测试。
另外,通路测试中,各个模块输入参数和输出参数又有各自的范围。因此,在优选实施例中,针对同一个通路而言,还包括了不同的输入参数和输出参数的多个测试用例。
以ISP系统为例,作为被测试系统的ISP系统中,包括Scale(缩放)模块、NR(NoiseReduction,降噪)模块、EE(Edge Enhancement,边缘增强)模块、EIS(Electronic ImageStabilization,防抖)模块等。对该ISP系统的测试中包括对Scale模块、NR模块、EE模块和EIS模块各自的单模块测试,那么在测试参数中需要包含Scale模块、NR模块、EE模块和EIS模块这四个模块各自的名称以及这四个模块各自的输入参数和输出参数的取值范围。以EE模块的边框强度参数为例,边框强度参数的取值范围为1到255,针对边框强度参数而言,最佳的测试用例中应当涵盖从1到255所有的值,可见如果采用人工构建测试用例的话,针对每一个边框强度参数而言均需要构建至少一个测试用例,所以需要构建大量的测试用例,显然这对于人工操作来说,人力成本将会很高,所以传统方式主要是在取值范围的边缘和中部取几个值来构建测试用例,但是由于忽略了其中的多数取值,而这些取值中可能存在的bug却无法被测试发现,采用本发明实施例,接收的测试参数中包括EE模块的边框强度参数的1到255的取值范围,所生成的测试用例中包含了在这个取值范围内的随机生成的多个具体的边框强度参数值,一方面来说,利用随机方法能够保证快速生成多个测试用例,另一方面,测试用例中的各个边框强度参数在1至255中能够尽量分布均匀,在此基础上,利用步骤5和步骤6能够确保所有测试用例中的边框强度参数值的覆盖范围能够接近1至255的所有区域,能够最大限度地防止可能的bug未被测出的风险。
在本发明实施例的基础上,可以采用全覆盖方式(如针对EE模块的测试用例涵盖每一个边框强度参数值)。然而,被测试系统中往往模块数量众多、参数数量巨大、取值范围广泛,若测试用例涵盖每一个取值加上各个参数之间取值的排列组合的结果,将会产生巨大数量的测试用例,这将严重降低被测试系统的测试速度。所以,本发明实施例中,采用随机方式在参数取值范围内产生参数值,既能够涵盖参数取值范围,又能够控制测试用例的数量,确保测试执行时间和测试结果的可靠。
本发明实施例中,对照系统为正确实现被测试系统所有功能的仿真系统。其中,本发明实施例中,被测试系统为硬件系统或者软硬件结合的系统。利用仿真系统能够得到正确反应被测试系统所实现功能的测试结果,以此作为标准与被测试系统的测试结果进行比较能够得到被测试系统的测试结果与理想结果之间的差距。在可选实施例中,对照系统为针对被测试系统的C Model(C模型)。
在本发明实施例中,测试参数主要包括被测试系统中的被测试模块的名称、被测试模块的参数范围。对应地,参照上述说明,测试用例集合中的各个测试用例中的被测试模块的参数在被测试模块的参数范围内随机生成。
以上述作为被测试系统的ISP系统为例。在一个可选实施例中,测试用例集合包括Scale模块、NR模块、EE模块、EIS模块各自单个进行参数测试的单模块测试用例。在一个可选实施例中,测试用例集合包括Scale模块、NR模块、EE模块、EIS模块中的至少两个模块组成的通路测试用例,例如EE模块和Scale模块组成的通路测试用例,Scale模块、EIS模块、NR模块组成的通路测试用例,EE模块、NR模块、EE模块组成的通过通路测试用例等等,其中,通路是指参数在这几个模块中顺次通过的路径,以EE模块、NR模块、EE模块组成的通路测试用例为例,该测试用例的通路表示的执行顺序,即先执行EE模块的功能,再执行NR模块的功能,最后执行EE模块。在一个可选实施例中,测试用例集合包括Scale模块、NR模块、EE模块、EIS模块各自单个进行参数测试的测试用例,以及,Scale模块、NR模块、EE模块、EIS模块中的至少两个模块组成的通路的测试用例。
从上述说明可以看出,在同一个通路测试用例中,同一个模块会存在出现一次以上的情况。因此,在本发明实施例中,步骤1中的测试参数还可以包括在同一个通路测试用例中,同一个模块出现的最小次数和最大次数。例如测试参数中规定EE模块在同一个通路测试用例中出现的最大次数为0,则表示EE模块不参与通路测试,在生成的测试用例中便没有含有EE模块的通路测试用例;又如测试参数中规定EE模块在同一个通路测试用例中出现的最小次数为0、最大次数为1,则在生成的测试用例中可能会包含不含有EE模块的通路测试用例,同时也可能会包含含有EE模块的通路测试用例。
本发明实施例的全功能测试用例集合获取方法还进一步包括:
步骤7、在测试用例集合中的所有测试用例未全部通过时,利用测试用例集合对对照系统和完成bug修改后的被测试系统再次进行测试。
采用步骤7能够避免被测试系统的未彻底测试,能够最大程度地发现被测试系统开发过程中的bug,确保对被测试系统执行全面和彻底的测试。在本发明实施例中,步骤3中的将测试结果和对照结果进行比对,以确定测试用例集合中的所有测试用例是否全部通过,包括:
步骤31、采用PSNR(Peak Signal to Noise Ratio,峰值信噪比)方法对测试结果和对照结果进行比对,将测试结果和对照结果之间的差距未超出所设定的信噪比阈值的测试用例确定为通过的测试用例,将测试结果和对照结果之间的差距超出所设定的信噪比阈值的测试用例确定为未通过的测试用例;
步骤32、只有在测试用例集合中的所有测试用例均为通过的测试用例时,测试用例集合中的所有测试用例全部通过,否则测试用例集合中的所有测试用例未全部通过。
其中,对于硬件系统和软硬件相结合系统来说,硬件部分因为制备工艺、结构、环境等因素的影响,会存在诸如实际运行过程中的电流、电压与所设计的理想的电流、电压存在差异的情况,在差异小于一定范围时并不影响系统的正常运行,而差异过大则在系统运行时可能出现错误而导致系统无法正常运行。所以,本发明实施例中,利用PSNR方法对测试结果和对照结果进行比对,其中,对照结果为仿真系统所产生的结果,其属于数值计算所得到的结果,不存在与理想值之间的偏差问题,所以对照结果是准确的标准结果,能够准确反应出所开发系统的设计功能。
在可选实施例中,本发明实施例的全功能测试用例集合获取方法还进一步包括:
输出未通过的测试用例以及与未通过的测试用例相对应的测试结果和对照结果,以为研发人员对被测试系统的bug修改和被测试系统进行限制说明提供依据。
采用该可选实施例中,被测试系统的开发人员可以根据未通过的测试用例以及与未通过的测试用例相对应的测试结果和对照结果,对被测试系统进行修改调试,以修正其中存在的bug,实现所开发的系统的全部功能。采用本发明实施例的全功能测试用例集合获取方法,被测试系统的开发人员在得到未通过的测试用例以及与未通过的测试用例相对应的测试结果和对照结果后,对被测试系统进行检查以找出其中存在的bug并进行修正,对修正后的被测试系统再次利用整个测试用例集合进行测试,如果修正后的被测试系统和对照系统的结果是一致的,则测试通过,如果还有不一致,则再次输出未通过的测试用例以及与未通过的测试用例相对应的测试结果和对照结果以供被测试系统的开发人员进行bug修改,以这种方式对被测试系统反复进行测试,直到利用整个测试用例集合对被测试系统和对照系统的测试结果完全一致,此时说明被测试系统能够完全正确实现其功能。由于测试用例集合包含了在测试参数范围内随机生成的大量测试用例,所以对被测试系统的测试属于全功能测试,在被测试系统后续升级迭代时仍然能够作为测试的一部分而使用,所以本发明实施例中,在对被测试系统的测试通过后,将测试用例集合作为全功能测试用例集合进行保存,供被测试系统升级迭代后的测试使用,当升级迭代后的被测试系统增加了新的功能时,只需要根据新接收的测试参数,在原有全功能测试用例集合的基础上增加新的测试用例即可作为对升级迭代后的被测试系统进行测试的测试用例集合。
本发明实施例的全功能测试用例集合获取方法,由于采用随机的方式在测试用例参数范围内生成测试用例,进而极大地减轻了生成测试用例所需的人工工作量,并且能够确保测试用例在参数范围内的全覆盖,保证对被测试系统的测试是全范围、全功能的测试。
以下,结合图2所示,以一个ISP系统的EE模块、Scale模块和NR模块的测试作为举例,对本发明实施例的全功能测试用例集合获取方法进行说明。
步骤a、接收针对ISP系统的测试参数,根据测试参数生成测试用例集合,之后进入步骤b。
其中,本举例中,针对ISP系统的测试参数包括EE模块、Scale模块和NR模块的测试参数,具体地,包括EE模块、Scale模块和NR模块的名称,各个模块的输入参数范围、输出参数范围等。其中,在生成测试用例集合时,各个测试用例中的参数在测试参数的范围(如输入参数范围、输出参数范围)内随机生成。
其中,测试用例集合中的测试用例包括单模块测试用例和通路测试用例。单模块测试用例包括对EE模块、Scale模块和NR模块各自独立的测试。通路测试用例包括这几个模块中的某一个、某两个以及三个组成的通路的测试。例如下面表格的各个通路:
通路编号 | 通路路径 |
1 | EE Scale NR |
2 | EE NR Scale |
3 | Scale EE NR |
4 | Scale NR EE |
5 | NR EE Scale |
6 | NR Scale EE |
7 | EE Scale |
8 | EE NR |
9 | Scale EE |
10 | Scale NR |
11 | NR Scale |
12 | NR EE |
13 | EE |
14 | NR |
15 | Scale |
其中,编号13、14和15分别为针对EE模块、NR模块和Scale模块的单模块测试。
更复杂地,在步骤a中,还可以根据测试参数得到同一个模块出现一次以上的通路路径。
在步骤a中,测试用例集合中,单模块测试用例包括了针对同一个模块的多个输入参数和/或输出参数的多个单模块测试用例;通路测试用例包括针对同一个通路路径的多个输入参数和/或输出参数的多个通路测试用例。
步骤b、利用步骤a生成的测试用例集合对被测试系统和C Model分别进行测试,得到各自的测试结果,之后进入步骤c。
步骤c、将被测试系统的测试结果和C Model的测试结果通过PSNR方法进行比对,以分别获得测试用例集合中未通过测试的测试用例和通过测试的测试用例,对于未通过测试的测试用例进入步骤d,对于通过测试的测试用例进入步骤e;
其中未通过测试的测试用例是指,被测试系统的测试结果和C-Model的对照结果之间的差距超出所设定的信噪比阈值的测试用例;通过测试的测试用例是指,被测试系统的测试结果和C-Model的对照结果之间的差距未超出所设定的信噪比阈值的测试用例。其中,信噪比阈值可以根据经验进行设定。
步骤d、分析未通过测试的测试用例和相关测试结果,以根据分析结果确定出是否可通过修改被测试系统而解决测试未通过的问题,如果可以通过修改被测试系统而解决测试未通过的问题,则将未通过测试的测试用例保存于全功能测试用例集合中,如果无法通过修改被测试系统而解决测试未通过的问题,则将未通过测试的测试用例作为被测试系统的设计限制进行保存,以供撰写限制说明时参考。
其中,被测试系统的设计限制是指无法通过修改被测试系统而修正的设计要素,这种情况一般可以写入被测试系统的测试文档或产品说明中。
步骤e、分析通过测试的测试用例是否达到全覆盖要求,如果没有则返回步骤a以在未覆盖的范围内生成新的测试用例补充于测试用例集合中,如果达到全覆盖要求则将通过测试的测试用例保存于全功能测试用例集合中。
其中,覆盖要求包括了单模块测试用例中的输入参数和/或输出参数的范围,通路测试用例中的输入参数和/或输出参数的范围以及通路覆盖范围。
另外,在步骤e中还可进一步包括统计单模块测试的测试量和通路测试的测试量。其中,举例而言,针对EE模块的单模块测试的测试量为通过测试的EE模块单模块测试用例的数量;针对EE模块、Scale模块、NR模块通路测试的测试量为通过测试的该通路的通路测试用例的数量。本发明实施例中,统计单模块测试的测试量和通路测试的测试量,一方面是用来确认测试的充分性:从上述实施例的说明能够看出,本发明实施例中,通路测试几乎涵盖了所有模块的排列组合形式,然而在实际应用中往往仅有几个通路是频繁使用的,而其他大部分的通路并不存在使用的需求,但是考虑到被测试系统的运行稳定性,也需要对这些冗余的、在实际使用时的使用不频繁甚至不使用的通路也进行测试,所以在测试时,对通路测试就存在了倾向性,其中,需要对实际应用中频繁使用的通路进行更多次的测试,对其它冗余的通路进行较少量的测试即可,而对于单模块测试也需要达到一定的测试量才能确保单模块测试的全面和充分;另一方面能够辅助缩短连续稳定性测试的耗时以提高测试效率,例如,连续稳定性测试往往会采用7×24小时连续不间断的测试方式,耗时较长,但对于测试量来说,当达到一定数量要求的测试量即可满足连续稳定性测试的要求,所以,统计单模块测试的测试量和通路测试的测试量来确定是否满足连续稳定性测试的要求,即如果在7×24小时之内就完成了单模块测试的测试量和通路测试的测试量的测试量的要求,便可结束连续稳定性测试而不必等待完全达到7×24小时的测试时间。
经过上述步骤a至步骤e的循环后,生成全功能测试用例集合,如果在测试中发现被测试系统中存在的bug,则需要对被测试系统进行修改,并直接用全功能测试用例集合对修改后的被测试系统再次进行测试,以确保修改后的被测试系统能够通过全功能测试用例集合中的全部测试用例的测试,此时的全功能测试用例集合的覆盖范围已经达到了设定范围。此时的全功能测试用例集合便可以供被测试系统升级迭代后的测试使用。
本发明实施例还同时提供了一种全功能测试用例集合获取系统,如图3所示,包括用例生成模块1、第一测试模块2、第二测试模块3、比对模块4、分析统计模块5和输出模块6。其中,用例生成模块1,用于接收测试参数,根据测试参数生成测试用例集合,其中,测试用例集合中包含至少一个测试用例。第一测试模块2,用于利用测试用例集合对被测试系统进行测试,得到关于被测试系统的测试结果。第二测试模块3,用于利用测试用例集合对对照系统进行测试,得到关于对照系统的对照结果。比对模块4,用于将测试结果和对照结果进行比对,以确定测试用例集合中的所有测试用例是否全部通过。分析统计模块5用于分析测试用例集合的覆盖范围。输出模块6,用于在测试用例集合中的所有测试用例全部通过并且测试用例集合的覆盖范围达到设定范围时,将测试用例集合作为全功能测试用例集合进行输出。
在可选实施例中,分析统计模块5,还用于在测试用例集合的覆盖范围未达到设定范围时,对测试用例集合进行分析,以获得测试用例集合的覆盖范围外的补充测试参数。其中,用例生成模块1,还用于接收补充测试参数,根据补充测试参数生成至少一个补充测试用例,并将补充测试用例更新至测试用例集合中,以供第一测试模块2和第二测试模块3再次进行测试。
在可选实施例中,测试用例包括单模块测试用例和通路测试用例。进而,分析统计模块5,还用于统计通过测试的针对于被测试系统中的每一个模块的单模块测试用例的数量,统计通过测试的针对于被测试系统中的每一个通路的通路测试用例的数量。其中,单模块测试用例为针对被测试系统中的单个模块进行测试的测试用例,通路测试用例为针对被测试系统中的至少两个模块组成的通路进行测试的测试用例。
在可选实施例中,由于被测试系统的设计限制所无法通过测试的测试用例不包含于全功能测试用例集合中。
本发明实施例还同时提供一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质存储指令,该指令在由处理器执行时使得所述处理器执行如上述说明中的全功能测试用例集合获取方法中的各个步骤。
本发明实施例还同时提供一种执行全功能测试用例集合获取方法的电子设备,如图4所示,该电子设备包括:至少一个处理器10以及存储器20。存储器20和至少一个处理器10通信连接,例如存储器20和至少一个处理器10通过总线连接。存储器20存储有可被至少一个处理器10执行的指令,所述指令被至少一个处理器10执行,以使至少一个处理器10执行如上述说明中的全功能测试用例集合获取方法中的各个步骤。
本发明实施例的全功能测试用例集合获取方法和全功能测试用例集合获取系统,能够根据所获取的测试参数自动生成大量的测试用例,并在对被测试系统的测试之后,分析出测试用例的覆盖范围,并再次生成先前覆盖范围以外的补充测试用例用于对被测试系统的再次测试。采用本发明实施例的全功能测试用例集合获取方法和全功能测试用例集合获取系统能够确保被测试系统中的各个模块、各种通路、各个参数范围的全面测试,本发明实施例降低了测试人员人工参与创建测试用例的人力投入成本,缩短了因为创建测试用例所造成的测试耗时,并且使得被测试系统的测试更加全面,改善了测试效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (13)
1.一种全功能测试用例集合获取方法,包括:
接收测试参数,根据所述测试参数生成测试用例集合,所述测试用例集合中包含至少一个测试用例;
利用所述测试用例集合对被测试系统和对照系统进行测试,分别得到关于所述被测试系统的测试结果和关于所述对照系统的对照结果;
将所述测试结果和所述对照结果进行比对,以确定所述测试用例集合中的所有测试用例是否全部通过,并分析所述测试用例集合的覆盖范围;
在所述测试用例集合中的所有测试用例全部通过并且所述测试用例集合的覆盖范围达到设定范围时,将所述测试用例集合作为全功能测试用例集合。
2.根据权利要求1所述的全功能测试用例集合获取方法,其特征在于,所述全功能测试用例集合获取方法还包括:
在所述覆盖范围未达到所述设定范围时,对所述测试用例集合进行分析,以获得所述覆盖范围外的补充测试参数;
接收所述补充测试参数,根据所述补充测试参数生成至少一个补充测试用例,并将所述补充测试用例更新至所述测试用例集合中,利用更新后的测试用例集合对被测试系统和对照系统再次进行测试。
3.根据权利要求1所述的全功能测试用例集合获取方法,其特征在于:
所述测试用例包括单模块测试用例和通路测试用例;
所述全功能测试用例集合获取方法还包括:
统计通过测试的针对于所述被测试系统中的每一个模块的单模块测试用例的数量,统计通过测试的针对于所述被测试系统中的每一个通路的通路测试用例的数量;
其中,所述单模块测试用例为针对所述被测试系统中的单个模块进行测试的测试用例,所述通路测试用例为针对所述被测试系统中的至少两个模块组成的通路进行测试的测试用例。
4.根据权利要求1所述的全功能测试用例集合获取方法,其特征在于,所述全功能测试用例集合获取方法还包括:
在所述测试用例集合中的所有测试用例未全部通过时,利用所述测试用例集合对所述对照系统和完成修改后的被测试系统再次进行测试。
5.根据权利要求1所述的全功能测试用例集合获取方法,其特征在于:
所述测试参数包括被测试系统中的被测试模块的名称、被测试模块的参数范围;
所述测试用例集合中的各个测试用例中的被测试模块的参数在被测试模块的参数范围内随机生成。
6.根据权利要求1所述的全功能测试用例集合获取方法,其特征在于:
所述对照系统为正确实现所述被测试系统所有功能的仿真系统。
7.根据权利要求1所述的全功能测试用例集合获取方法,其特征在于,所述的将所述测试结果和所述对照结果进行比对,以确定所述测试用例集合中的所有测试用例是否全部通过,包括:
采用峰值信噪比PSNR方法对所述测试结果和所述对照结果进行比对,将所述测试结果和所述对照结果之间的差距未超出所设定的信噪比阈值的测试用例确定为通过的测试用例,将所述测试结果和所述对照结果之间的差距超出所设定的信噪比阈值的测试用例确定为未通过的测试用例;
只有在所述测试用例集合中的所有测试用例均为通过的测试用例时,所述测试用例集合中的所有测试用例全部通过,否则所述测试用例集合中的所有测试用例未全部通过。
8.根据权利要求7所述的全功能测试用例集合获取方法,其特征在于,所述全功能测试用例集合获取方法还包括:
输出未通过的测试用例以及与未通过的测试用例相对应的测试结果和对照结果。
9.一种全功能测试用例集合获取系统,其特征在于,包括:
用例生成模块,用于接收测试参数,根据所述测试参数生成测试用例集合,所述测试用例集合中包含至少一个测试用例;
第一测试模块,用于利用所述测试用例集合对被测试系统进行测试,得到关于所述被测试系统的测试结果;
第二测试模块,用于利用所述测试用例集合对对照系统进行测试,得到关于所述对照系统的对照结果;
比对模块,用于将所述测试结果和所述对照结果进行比对,以确定所述测试用例集合中的所有测试用例是否全部通过;
分析统计模块,用于分析所述测试用例集合的覆盖范围;
输出模块,用于在所述测试用例集合中的所有测试用例全部通过并且所述测试用例集合的覆盖范围达到设定范围时,将所述测试用例集合作为全功能测试用例集合进行输出。
10.根据权利要求9所述的全功能测试用例集合获取系统,其特征在于:
所述分析统计模块,还用于在所述覆盖范围未达到所述设定范围时,对所述测试用例集合进行分析,以获得所述覆盖范围外的补充测试参数;其中,
所述用例生成模块,还用于接收所述补充测试参数,根据所述补充测试参数生成至少一个补充测试用例,并将所述补充测试用例更新至所述测试用例集合中,以供所述第一测试模块和所述第二测试模块再次进行测试。
11.根据权利要求9所述的全功能测试用例集合获取系统,其特征在于:
所述测试用例包括单模块测试用例和通路测试用例;
所述分析统计模块,还用于统计通过测试的针对于所述被测试系统中的每一个模块的单模块测试用例的数量,统计通过测试的针对于所述被测试系统中的每一个通路的通路测试用例的数量;
其中,所述单模块测试用例为针对所述被测试系统中的单个模块进行测试的测试用例,所述通路测试用例为针对所述被测试系统中的至少两个模块组成的通路进行测试的测试用例。
12.一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至8中任一项所述的全功能测试用例集合获取方法中的步骤。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1至8中任一项所述的全功能测试用例集合获取方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111202149.4A CN113946511B (zh) | 2021-10-15 | 2021-10-15 | 一种全功能测试用例集合获取方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111202149.4A CN113946511B (zh) | 2021-10-15 | 2021-10-15 | 一种全功能测试用例集合获取方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113946511A true CN113946511A (zh) | 2022-01-18 |
CN113946511B CN113946511B (zh) | 2022-06-17 |
Family
ID=79330143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111202149.4A Active CN113946511B (zh) | 2021-10-15 | 2021-10-15 | 一种全功能测试用例集合获取方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946511B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978270A (zh) * | 2015-07-03 | 2015-10-14 | 上海触乐信息科技有限公司 | 一种自动化地软件测试方法和装置 |
CN108491321A (zh) * | 2018-03-06 | 2018-09-04 | 平安科技(深圳)有限公司 | 测试用例范围确定方法、装置及存储介质 |
CN110221965A (zh) * | 2019-05-09 | 2019-09-10 | 阿里巴巴集团控股有限公司 | 测试用例生成、测试方法、装置、设备及系统 |
CN110347596A (zh) * | 2019-07-02 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、系统、电子设备及介质 |
CN110955593A (zh) * | 2019-10-28 | 2020-04-03 | 北京三快在线科技有限公司 | 客户端测试方法、装置、电子设备及可读存储介质 |
KR20200145269A (ko) * | 2019-06-21 | 2020-12-30 | 주식회사 엘지씨엔에스 | 테스트 자동화 시스템 |
CN113157549A (zh) * | 2020-01-23 | 2021-07-23 | 戴尔产品有限公司 | 软件代码测试系统 |
-
2021
- 2021-10-15 CN CN202111202149.4A patent/CN113946511B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978270A (zh) * | 2015-07-03 | 2015-10-14 | 上海触乐信息科技有限公司 | 一种自动化地软件测试方法和装置 |
CN108491321A (zh) * | 2018-03-06 | 2018-09-04 | 平安科技(深圳)有限公司 | 测试用例范围确定方法、装置及存储介质 |
CN110221965A (zh) * | 2019-05-09 | 2019-09-10 | 阿里巴巴集团控股有限公司 | 测试用例生成、测试方法、装置、设备及系统 |
KR20200145269A (ko) * | 2019-06-21 | 2020-12-30 | 주식회사 엘지씨엔에스 | 테스트 자동화 시스템 |
CN110347596A (zh) * | 2019-07-02 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、系统、电子设备及介质 |
CN110955593A (zh) * | 2019-10-28 | 2020-04-03 | 北京三快在线科技有限公司 | 客户端测试方法、装置、电子设备及可读存储介质 |
CN113157549A (zh) * | 2020-01-23 | 2021-07-23 | 戴尔产品有限公司 | 软件代码测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113946511B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7270764B2 (ja) | 人工知能チップ検証 | |
US20070033552A1 (en) | Method for detecting flaws in a functional verification plan | |
US8560988B2 (en) | Apparatus and method thereof for hybrid timing exception verification of an integrated circuit design | |
JP7404839B2 (ja) | ソフトウェアプログラム不良位置の識別 | |
CN110543420B (zh) | 一种软件测试方法、系统、终端及存储介质 | |
US20190042398A1 (en) | Interactive software program repair | |
US20220253375A1 (en) | Systems and methods for device testing to avoid resource conflicts for a large number of test scenarios | |
CN108572895B (zh) | 一种Linux下自动检查软硬件配置的稳定性测试方法 | |
CN114757142A (zh) | 自纠错芯片验证方法、装置、设备及计算机可读介质 | |
CN109669436B (zh) | 一种基于电动汽车的功能需求的测试用例生成方法和装置 | |
CN113448826A (zh) | 一种软件自动化测试系统及方法 | |
CN110737985A (zh) | 运行数据验证方法、装置、计算机设备和可读存储介质 | |
CN113946511B (zh) | 一种全功能测试用例集合获取方法和系统 | |
US11132286B1 (en) | Dynamic reordering of test case execution | |
CN115248783A (zh) | 软件测试方法、系统、可读存储介质及计算机设备 | |
CN111209180A (zh) | 一种基于模糊匹配的回归测试方法和装置 | |
CN114661615A (zh) | 一种fpga软件测试方法和设备 | |
CN113127324B (zh) | 测试报告自动化生成方法、装置、计算机设备及存储介质 | |
CN110781079B (zh) | 数据处理流程调试方法、装置及电子设备 | |
CN110347589B (zh) | 一种软件单元测试自动化检测方法及系统 | |
CN110471829B (zh) | 软件代码测试覆盖率的检查方法及装置 | |
CN112346994A (zh) | 一种测试信息关联方法、装置、计算机设备及存储介质 | |
CN107102938B (zh) | 测试脚本的更新方法及装置 | |
KR20060103878A (ko) | 컴퓨터로 구현되는 방법 및 다수의 머신-판독가능 매체 | |
CN116662148A (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 |