专利名称: | 测试用例检测方法及装置 | ||
专利名称(英文): | Method and device for detecting the test case | ||
专利号: | CN201510993142.7 | 申请时间: | 20151224 |
公开号: | CN105629948A | 公开时间: | 20160601 |
申请人: | 北京新能源汽车股份有限公司 | ||
申请地址: | 102606 北京市大兴区采育镇经济开发区采和路1号 | ||
发明人: | 张富丽; 王可峰; 魏跃远; 代康伟; 余军; 黄颍华; 刘三兵; 张翰雄 | ||
分类号: | G05B23/02 | 主分类号: | G05B23/02 |
代理机构: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 韩建伟; 张永明 |
摘要: | 本发明公开了一种测试用例检测方法及装置。其中,该方法包括:确定汽车控制器的待测功能;统计使用测试用例测试汽车控制器的待测功能后产生的预期测试结果和实际测试结果;根据实际测试结果对预期测试结果的覆盖程度,检测测试用例对汽车控制器的待测功能的覆盖度。本发明解决了相关技术中无法评估测试用例对全部测试需求的覆盖度的技术问题。 | ||
摘要(英文): | The invention discloses a method and apparatus for detecting the test cases. Wherein the method comprises : determining the functions to be tested vehicle control; statistics using a test case of the test vehicle controller the expected generated after the functions to be tested and the actual test result test results; in accordance with the actual test result of the test result to the expected extent, the vehicle detection test case coverage functions to be tested of the controller. The invention solves the problem that the related art was unable to assess to all the test cases for testing the technical problem that the degree of the demand. |
1.一种测试用例检测方法,其特征在于,包括: 确定汽车控制器的待测功能; 统计使用测试用例测试所述汽车控制器的所述待测功能后产生的预期测试结 果和实际测试结果; 根据所述实际测试结果对所述预期测试结果的覆盖程度,检测所述测试用例 对所述汽车控制器的所述待测功能的覆盖度。
2.根据权利要求1所述的测试用例检测方法,其特征在于,根据所述实际测试结果 对所述预期测试结果的覆盖程度,检测所述测试用例对所述汽车控制器的所述待 测功能的覆盖度包括: 计算所述实际测试结果与所述预期测试结果的比值,其中,所述比值用于衡 量所述实际测试结果对所述预期测试结果的覆盖程度; 根据所述比值检测所述测试用例对所述汽车控制器的所述待测功能的覆盖度。
3.根据权利要求2所述的测试用例检测方法,其特征在于,计算所述实际测试结果 与所述预期测试结果的比值之前,所述方法还包括: 对所述实际测试结果进行去重操作, 其中,在对所述实际测试结果进行去重操作后,计算去重后的实际测试结果 与所述预期测试结果的比值。
4.根据权利要求1所述的测试用例检测方法,其特征在于,统计使用测试用例测试 所述汽车控制器的所述待测功能后产生的预期测试结果包括: 确定所述汽车控制器的所述待测功能的功能属性; 根据所述待测功能的功能属性确定所述预期测试结果的数据类型; 根据所述数据类型统计使用所述测试用例测试所述汽车控制器的所述待测功 能后产生的预期测试结果。
5.根据权利要求4所述的测试用例检测方法,其特征在于,根据所述数据类型统计 使用所述测试用例测试所述汽车控制器的所述待测功能后产生的预期测试结果包 括: 在所述数据类型为单一数据类型时,统计使用所述测试用例测试所述汽车控 制器的所述待测功能后产生的单一预期测试结果;或者 在所述数据类型为组合数据类型时,统计使用所述测试用例测试所述汽车控 制器的所述待测功能后产生的组合预期测试结果,其中,所述组合预期测试结果 为由组成所述组合数据类型的所有单一数据类型对应的所有单一预期测试结果组 合得到。
6.一种测试用例检测装置,其特征在于,包括: 确定单元,用于确定汽车控制器的待测功能; 统计单元,用于统计使用测试用例测试所述汽车控制器的所述待测功能后产 生的预期测试结果和实际测试结果; 检测单元,用于根据所述实际测试结果对所述预期测试结果的覆盖程度,检 测所述测试用例对所述汽车控制器的所述待测功能的覆盖度。
7.根据权利要求6所述的测试用例检测装置,其特征在于,所述检测单元包括: 计算模块,用于计算所述实际测试结果与所述预期测试结果的比值,其中, 所述比值用于衡量所述实际测试结果对所述预期测试结果的覆盖程度; 检测模块,用于根据所述比值检测所述测试用例对所述汽车控制器的所述待 测功能的覆盖度。
8.根据权利要求7所述的测试用例检测装置,其特征在于,所述检测单元还包括: 去重模块,用于计算所述实际测试结果与所述预期测试结果的比值之前,对 所述实际测试结果进行去重操作, 其中,所述计算模块还用于在对所述实际测试结果进行去重操作后,计算去 重后的实际测试结果与所述预期测试结果的比值。
9.根据权利要求6所述的测试用例检测装置,其特征在于,所述统计单元包括: 第一确定模块,用于确定所述汽车控制器的所述待测功能的功能属性; 第二确定模块,用于根据所述待测功能的功能属性确定所述预期测试结果的 数据类型; 统计模块,用于根据所述数据类型统计使用所述测试用例测试所述汽车控制 器的所述待测功能后产生的预期测试结果。
10.根据权利要求9所述的测试用例检测装置,其特征在于, 所述统计模块还用于在所述数据类型为单一数据类型时,统计使用所述测试 用例测试所述汽车控制器的所述待测功能后产生的单一预期测试结果;或者 所述统计模块还用于在所述数据类型为组合数据类型时,统计使用所述测试 用例测试所述汽车控制器的所述待测功能后产生的组合预期测试结果,其中,所 述组合预期测试结果为由组成所述组合数据类型的所有单一数据类型对应的所有 单一预期测试结果组合得到。
1.一种测试用例检测方法,其特征在于,包括: 确定汽车控制器的待测功能; 统计使用测试用例测试所述汽车控制器的所述待测功能后产生的预期测试结 果和实际测试结果; 根据所述实际测试结果对所述预期测试结果的覆盖程度,检测所述测试用例 对所述汽车控制器的所述待测功能的覆盖度。
2.根据权利要求1所述的测试用例检测方法,其特征在于,根据所述实际测试结果 对所述预期测试结果的覆盖程度,检测所述测试用例对所述汽车控制器的所述待 测功能的覆盖度包括: 计算所述实际测试结果与所述预期测试结果的比值,其中,所述比值用于衡 量所述实际测试结果对所述预期测试结果的覆盖程度; 根据所述比值检测所述测试用例对所述汽车控制器的所述待测功能的覆盖度。
3.根据权利要求2所述的测试用例检测方法,其特征在于,计算所述实际测试结果 与所述预期测试结果的比值之前,所述方法还包括: 对所述实际测试结果进行去重操作, 其中,在对所述实际测试结果进行去重操作后,计算去重后的实际测试结果 与所述预期测试结果的比值。
4.根据权利要求1所述的测试用例检测方法,其特征在于,统计使用测试用例测试 所述汽车控制器的所述待测功能后产生的预期测试结果包括: 确定所述汽车控制器的所述待测功能的功能属性; 根据所述待测功能的功能属性确定所述预期测试结果的数据类型; 根据所述数据类型统计使用所述测试用例测试所述汽车控制器的所述待测功 能后产生的预期测试结果。
5.根据权利要求4所述的测试用例检测方法,其特征在于,根据所述数据类型统计 使用所述测试用例测试所述汽车控制器的所述待测功能后产生的预期测试结果包 括: 在所述数据类型为单一数据类型时,统计使用所述测试用例测试所述汽车控 制器的所述待测功能后产生的单一预期测试结果;或者 在所述数据类型为组合数据类型时,统计使用所述测试用例测试所述汽车控 制器的所述待测功能后产生的组合预期测试结果,其中,所述组合预期测试结果 为由组成所述组合数据类型的所有单一数据类型对应的所有单一预期测试结果组 合得到。
6.一种测试用例检测装置,其特征在于,包括: 确定单元,用于确定汽车控制器的待测功能; 统计单元,用于统计使用测试用例测试所述汽车控制器的所述待测功能后产 生的预期测试结果和实际测试结果; 检测单元,用于根据所述实际测试结果对所述预期测试结果的覆盖程度,检 测所述测试用例对所述汽车控制器的所述待测功能的覆盖度。
7.根据权利要求6所述的测试用例检测装置,其特征在于,所述检测单元包括: 计算模块,用于计算所述实际测试结果与所述预期测试结果的比值,其中, 所述比值用于衡量所述实际测试结果对所述预期测试结果的覆盖程度; 检测模块,用于根据所述比值检测所述测试用例对所述汽车控制器的所述待 测功能的覆盖度。
8.根据权利要求7所述的测试用例检测装置,其特征在于,所述检测单元还包括: 去重模块,用于计算所述实际测试结果与所述预期测试结果的比值之前,对 所述实际测试结果进行去重操作, 其中,所述计算模块还用于在对所述实际测试结果进行去重操作后,计算去 重后的实际测试结果与所述预期测试结果的比值。
9.根据权利要求6所述的测试用例检测装置,其特征在于,所述统计单元包括: 第一确定模块,用于确定所述汽车控制器的所述待测功能的功能属性; 第二确定模块,用于根据所述待测功能的功能属性确定所述预期测试结果的 数据类型; 统计模块,用于根据所述数据类型统计使用所述测试用例测试所述汽车控制 器的所述待测功能后产生的预期测试结果。
10.根据权利要求9所述的测试用例检测装置,其特征在于, 所述统计模块还用于在所述数据类型为单一数据类型时,统计使用所述测试 用例测试所述汽车控制器的所述待测功能后产生的单一预期测试结果;或者 所述统计模块还用于在所述数据类型为组合数据类型时,统计使用所述测试 用例测试所述汽车控制器的所述待测功能后产生的组合预期测试结果,其中,所 述组合预期测试结果为由组成所述组合数据类型的所有单一数据类型对应的所有 单一预期测试结果组合得到。
翻译:技术领域
本发明涉及汽车控制器测试领域,具体而言,涉及一种测试用例检测方法及装置。
背景技术
目前,汽车控制器的测试平台有多种,针对不同种类、不同车型的控制器的测试 用例也有多种,但是针对这些测试用例是否覆盖了控制器的全部功能需求,目前还无 衡量标准和衡量装置,导致无法评估针对一款控制器的测试用例对全部测试需求的覆 盖度。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种测试用例检测方法及装置,以至少解决相关技术中无法 评估测试用例对全部测试需求的覆盖度的技术问题。
根据本发明实施例的一个方面,提供了一种测试用例检测方法,包括:确定汽车 控制器的待测功能;统计使用测试用例测试上述汽车控制器的上述待测功能后产生的 预期测试结果和实际测试结果;根据上述实际测试结果对上述预期测试结果的覆盖程 度,检测上述测试用例对上述汽车控制器的上述待测功能的覆盖度。
进一步地,根据上述实际测试结果对上述预期测试结果的覆盖程度,检测上述测 试用例对上述汽车控制器的上述待测功能的覆盖度包括:计算上述实际测试结果与上 述预期测试结果的比值,其中,上述比值用于衡量上述实际测试结果对上述预期测试 结果的覆盖程度;根据上述比值检测上述测试用例对上述汽车控制器的上述待测功能 的覆盖度。
进一步地,计算上述实际测试结果与上述预期测试结果的比值之前,上述方法还 包括:对上述实际测试结果进行去重操作,其中,在对上述实际测试结果进行去重操 作后,计算去重后的实际测试结果与上述预期测试结果的比值。
进一步地,统计使用测试用例测试上述汽车控制器的上述待测功能后产生的预期 测试结果包括:确定上述汽车控制器的上述待测功能的功能属性;根据上述待测功能 的功能属性确定上述预期测试结果的数据类型;根据上述数据类型统计使用上述测试 用例测试上述汽车控制器的上述待测功能后产生的预期测试结果。
进一步地,根据上述数据类型统计使用上述测试用例测试上述汽车控制器的上述 待测功能后产生的预期测试结果包括:在上述数据类型为单一数据类型时,统计使用 上述测试用例测试上述汽车控制器的上述待测功能后产生的单一预期测试结果;或者 在上述数据类型为组合数据类型时,统计使用上述测试用例测试上述汽车控制器的上 述待测功能后产生的组合预期测试结果,其中,上述组合预期测试结果为由组成上述 组合数据类型的所有单一数据类型对应的所有单一预期测试结果组合得到。
根据本发明实施例的另一方面,还提供了一种测试用例检测装置,包括:确定单 元,用于确定汽车控制器的待测功能;统计单元,用于统计使用测试用例测试上述汽 车控制器的上述待测功能后产生的预期测试结果和实际测试结果;检测单元,用于根 据上述实际测试结果对上述预期测试结果的覆盖程度,检测上述测试用例对上述汽车 控制器的上述待测功能的覆盖度。
进一步地,上述检测单元包括:计算模块,用于计算上述实际测试结果与上述预 期测试结果的比值,其中,上述比值用于衡量上述实际测试结果对上述预期测试结果 的覆盖程度;检测模块,用于根据上述比值检测上述测试用例对上述汽车控制器的上 述待测功能的覆盖度。
进一步地,上述检测单元还包括:去重模块,用于计算上述实际测试结果与上述 预期测试结果的比值之前,对上述实际测试结果进行去重操作,其中,上述计算模块 还用于在对上述实际测试结果进行去重操作后,计算去重后的实际测试结果与上述预 期测试结果的比值。
进一步地,上述统计单元包括:第一确定模块,用于确定上述汽车控制器的上述 待测功能的功能属性;第二确定模块,用于根据上述待测功能的功能属性确定上述预 期测试结果的数据类型;统计模块,用于根据上述数据类型统计使用上述测试用例测 试上述汽车控制器的上述待测功能后产生的预期测试结果。
进一步地,上述统计模块还用于在上述数据类型为单一数据类型时,统计使用上 述测试用例测试上述汽车控制器的上述待测功能后产生的单一预期测试结果;或者上 述统计模块还用于在上述数据类型为组合数据类型时,统计使用上述测试用例测试上 述汽车控制器的上述待测功能后产生的组合预期测试结果,其中,上述组合预期测试 结果为由组成上述组合数据类型的所有单一数据类型对应的所有单一预期测试结果组 合得到。
在本发明实施例中,采用检测测试用例对测试功能的覆盖度的方式,通过确定汽 车控制器的待测功能;统计使用测试用例测试汽车控制器的待测功能后产生的预期测 试结果和实际测试结果;根据实际测试结果对预期测试结果的覆盖程度,检测测试用 例对汽车控制器的待测功能的覆盖度,达到了检测测试用例对全部测试需求的覆盖度 的目的,从而实现了检测测试用例是否存在重复测试或者漏测以防止造成降低测试效 率和浪费测试成本的技术效果,进而解决了相关技术中无法评估测试用例对全部测试 需求的覆盖度的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图 中:
图1是根据本发明实施例的一种可选的测试用例检测方法的流程图;
图2是根据本发明实施例的一种可选的测试用例检测装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例 仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领 域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于 本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第 二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这 样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在 这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的 任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、装 置、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚 地列出的或对于这些过程、装置、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种测试用例评估方法的装置实施例,需要说明的是, 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行, 并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺 序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的测试用例检测方法的流程图,如图1所示, 该方法包括如下步骤:
步骤S102,确定汽车控制器的待测功能;
步骤S104,统计使用测试用例测试汽车控制器的待测功能后产生的预期测试结果 和实际测试结果;
步骤S106,根据实际测试结果对预期测试结果的覆盖程度,评估测试用例对汽车 控制器的待测功能的覆盖度。
实际上,对一个指定的汽车控制器而言,它可以有多种功能,也即,汽车控制器 的待测功能可以由多种,在此,可以指定一种作为当前的待测功能。例如,假设某汽 车控制器具有控制档位、电机转速、以及指定档位上的电机转速的功能,此时,可以 指定控制档位的功能(以下简称为档位控制功能)作为当前的待测功能。
假设安装上述汽车控制器的汽车共有5个档位,分别为0、1、2、3、4,使用测 试用例测试上述档位控制功能时,理论上应该产生0、1、2、3、4共5个档位的预期 测试结果,因此,需要将0、1、2、3、4的理论测试结果全部统计在预期测试结果中。 而统计0、1、2、3、4的实际测试结果时,需要开启上述测试用例,测试上述汽车控 制器的0、1、2、3、4档位,此时记录的实际测试值就是0、1、2、3、4的实际测试 结果。
其中,当实际测试值包括0、1、2、3、4共5个档位的实际测试结果时,表明该 测试用例对汽车控制器的当前待测功能的覆盖度为100%,即完全覆盖;否则,表明该 测试用例对汽车控制器的当前待测功能的不能完全覆盖。
通过上述实施例,可以实现测试用例的预期测试结果、实际测试结果的统计,以 及测试用例是否覆盖了待测功能的所有可能出现的测试结果的评估,达到了检测测试 用例对全部测试需求的覆盖度的目的,从而实现了检测测试用例是否存在重复测试或 者漏测以防止造成降低测试效率和浪费测试成本的技术效果。
可选地,根据实际测试结果对预期测试结果的覆盖程度,评估测试用例对汽车控 制器的待测功能的覆盖度包括:
S2,计算实际测试结果与预期测试结果的比值,其中,比值用于衡量实际测试结 果对预期测试结果的覆盖程度;
S4,根据比值评估测试用例对汽车控制器的待测功能的覆盖度。
通过本发明实施例,先统计实际测试结果、预期测试结果,再利用统计计算汽车 控制器的测试用例的覆盖度,为衡量测试用例测试针对性提供了评估依据。
进一步地,在执行完上述步骤后,还可以以表格文件的方式输出检测及统计结果, 具体如表1所示。
表1
实施时,上表中的实际测试结果为测试用例程序自动测试产生的结果,需要数据 库软件自动统计每项待测功能的实际测试结果,也即实际测试结果的集合由数据库软 件统计得到。另外,上述数据库软件包含的功能有:统计控制器各项功能的实际测试 结果,并将统计结果自动填写到测试结果表格中,如表1中;数据库软件自动计算每 项待测功能的测试覆盖度,控制器功能的测试覆盖度计算方法为:所有实际测试结果/
所有预期结果*100%,即,实际测试结果集合/预期结果集合1*100%。
通过本发明实施例,可以达到简单、直观地量化测试用例对汽车控制器的待测功 能的覆盖度的技术效果。
由于测试用例可能存在对待测功能进行重复测试的缺陷,此时如果使用上述实施 例中提供的技术方案直接计算“实际测试结果集合/预期结果集合*100%”的值,可能 导致该比值所描述的覆盖度与实际覆盖度不符的情况,比如,在统计0、1、2、3、4 的档位的测试结果时,统计到的实际测试结果包括:0、1、1、1、2、3、4,此时,如 果按照上述方法计算覆盖度,则为[(0、1、1、1、2、3、4,)/(0、1、2、3、4)]*100%=7/5=1.4, 由于1.4大于1,显然与实际不符。为了克服上述缺陷,可选地,计算实际测试结果 与预期测试结果的比值之前,上述方法还包括:
S6,对实际测试结果进行去重操作,其中,在对实际测试结果进行去重操作后, 计算去重后的实际测试结果与预期测试结果的比值。
执行去重操作后,可以将实际测试结果0、1、1、1、2、3、4中重复的1去掉, 得到0、1、2、3、4,此时覆盖度的计算结果为100%,该结果与实际相符合。
通过本发明实施例,可以避免测试用例重复测试或是漏测而导致测试效率降低、 测试成本浪费,同时达到评估测试用例是否优秀的技术效果。并且,针对目前汽车控 制器的测试用例的覆盖度没有相关衡量标准和衡量方法的问题,本发明填补了此项空 白,为衡量测试用例是否覆盖汽车控制器的指定功能的所有需求提供了一种方法和依 据。
可选地,统计使用测试用例测试汽车控制器的待测功能后产生的预期测试结果包 括:
S8,确定汽车控制器的待测功能的功能属性;
S10,根据待测功能的功能属性确定预期测试结果的数据类型;
S12,根据数据类型统计使用测试用例测试汽车控制器的待测功能后产生的预期测 试结果。
每一项待测功能都有自己的功能属性,这样,虽然测试结果中数据量不确定,但 是其数据类型是一定的,比如,是该数据类型可以是下述类型中的一种:枚举型、数 值型、布尔量型。具体地,在待测功能为汽车控制器的档位控制功能时,预期测试结 果的数据类型为枚举型,如,前述的0、1、2、3、4等;在待测功能为汽车控制器的 电机转速控制功能时,预期测试结果的数据类型为数值型,如,正常工况下,若电机 转速为800-4000,则[800-4000]是正常数值范围,此时全数据范围可以划分为三段, 分别为[最小值-800),[800-4000],(4000-最大值]。需要说明的是,对于数值型测试 结果而言,假设预期结果范围包括三段,则测试结果数据只要能分别落入这三段数据 范围即表明测试用例能完全覆盖当前测试功能的所有需求。另外,对于布尔型测试结 果而言,预期测试结果的集合为{0、1}。
通过本发明实施例,可以根据待测功能的功能属性,灵活地统计使用测试用例测 试汽车控制器的待测功能后产生的预期测试结果。
可选地,根据数据类型统计使用测试用例测试汽车控制器的待测功能后产生的预 期测试结果包括:
S14,在数据类型为单一数据类型时,统计使用测试用例测试汽车控制器的待测功 能后产生的单一预期测试结果;或者
S16,在数据类型为组合数据类型时,先统计使用测试用例测试汽车控制器的待测 功能后产生的组合预期测试结果,其中,组合预期测试结果为由组成组合数据类型的 所有单一数据类型对应的所有单一预期测试结果组合得到。
对于单一数据类型的测试结果而言,每个测试结果一般只对应一个数据,例如, 对于档位控制功能的测试结果,在测试结果集合中,每个测试结果都对应一个数据, 如0或1或2或3或4等;对于组合数据类型的测试结果而言,每个测试结果一般会 对应多个数据,例如,对于档位电机转速控制功能的测试结果,在测试结果集合中, 每个测试结果都对应两个数据,如,1档和800,其中,1档和800就是组合预期测试 结果,它是由档位控制功能的测试结果和电机转速控制功能的测试结果组合而成的。 而组合预期测试结果集合则是由组成组合数据类型的所有单一数据类型对应的所有单 一预期测试结果组合得到。这样,在合理工况下,就可以统计所有可能出现的测试结 果的数值组合的集合了。
通过本发明实施例,可以根据测试结果的数据结果特点,灵活地统计使用测试用 例测试汽车控制器的待测功能后产生的预期测试结果。
实施例2
根据本发明实施例,提供了一种测试用例评估装置的装置实施例。
图2是根据本发明实施例的一种可选的测试用例检测装置的示意图,如图2所示, 该装置包括:确定单元202,用于确定汽车控制器的待测功能;统计单元204,用于统 计使用测试用例测试汽车控制器的待测功能后产生的预期测试结果和实际测试结果; 评估单元206,用于根据实际测试结果对预期测试结果的覆盖程度,评估测试用例对 汽车控制器的待测功能的覆盖度。
实际上,对一个指定的汽车控制器而言,它可以有多种功能,也即,汽车控制器 的待测功能可以由多种,在此,可以指定一种作为当前的待测功能。例如,假设某汽 车控制器具有控制档位、电机转速、以及指定档位上的电机转速的功能,此时,可以 指定控制档位的功能(以下简称为档位控制功能)作为当前的待测功能。
假设安装上述汽车控制器的汽车共有5个档位,分别为0、1、2、3、4,使用测 试用例测试上述档位控制功能时,理论上应该产生0、1、2、3、4共5个档位的预期 测试结果,因此,需要将0、1、2、3、4的理论测试结果全部统计在预期测试结果中。 而统计0、1、2、3、4的实际测试结果时,需要开启上述测试用例,测试上述汽车控 制器的0、1、2、3、4档位,此时记录的实际测试值就是0、1、2、3、4的实际测试 结果。
其中,当实际测试值包括0、1、2、3、4共5个档位的实际测试结果时,表明该 测试用例对汽车控制器的当前待测功能的覆盖度为100%,即完全覆盖;否则,表明该 测试用例对汽车控制器的当前待测功能的不能完全覆盖。
通过上述实施例,可以实现测试用例的预期测试结果、实际测试结果的统计,以 及测试用例是否覆盖了待测功能的所有可能出现的测试结果的评估,达到了检测测试 用例对全部测试需求的覆盖度的目的,从而实现了检测测试用例是否存在重复测试或 者漏测以防止造成降低测试效率和浪费测试成本的技术效果。
可选地,评估单元包括:计算模块,用于计算实际测试结果与预期测试结果的比 值,其中,比值用于衡量实际测试结果对预期测试结果的覆盖程度;评估模块,用于 根据比值评估测试用例对汽车控制器的待测功能的覆盖度。
通过本发明实施例,先统计实际测试结果、预期测试结果,再利用统计计算汽车 控制器的测试用例的覆盖度,为衡量测试用例测试针对性提供了评估依据。
进一步地,在执行完上述步骤后,还可以以表格文件的方式输出检测及统计结果, 具体如表1所示。
实施时,上表中的实际测试结果为测试用例程序自动测试产生的结果,需要数据 库软件自动统计每项待测功能的实际测试结果,也即实际测试结果的集合由数据库软 件统计得到。另外,上述数据库软件包含的功能有:统计控制器各项功能的实际测试 结果,并将统计结果自动填写到测试结果表格中,如表1中;数据库软件自动计算每 项待测功能的测试覆盖度,控制器功能的测试覆盖度计算方法为:所有实际测试结果/ 所有预期结果*100%,即,实际测试结果集合/预期结果集合1*100%。
通过本发明实施例,可以达到简单、直观地量化测试用例对汽车控制器的待测功 能的覆盖度的技术效果。
由于测试用例可能存在对待测功能进行重复测试的缺陷,此时如果使用上述实施 例中提供的技术方案直接计算“实际测试结果集合/预期结果集合*100%”的值,可能 导致该比值所描述的覆盖度与实际覆盖度不符的情况,比如,在统计0、1、2、3、4 的档位的测试结果时,统计到的实际测试结果包括:0、1、1、1、2、3、4,此时,如 果按照上述方法计算覆盖度,则为[(0、1、1、1、2、3、4,)/(0、1、2、3、4)]*100%=7/5=1.4, 由于1.4大于1,显然与实际不符。为了克服上述缺陷,可选地,评估单元还包括: 去重模块,用于计算实际测试结果与预期测试结果的比值之前,对实际测试结果进行 去重操作,其中,计算模块还用于在对实际测试结果进行去重操作后,计算去重后的 实际测试结果与预期测试结果的比值。
执行去重操作后,可以将实际测试结果0、1、1、1、2、3、4中重复的1去掉, 得到0、1、2、3、4,此时覆盖度的计算结果为100%,该结果与实际相符合。
通过本发明实施例,可以避免测试用例重复测试或是漏测而导致测试效率降低、 测试成本浪费,同时达到评估测试用例是否优秀的技术效果。并且,针对目前汽车控 制器的测试用例的覆盖度没有相关衡量标准和衡量方法的问题,本发明填补了此项空 白,为衡量测试用例是否覆盖汽车控制器的指定功能的所有需求提供了一种方法和依 据。
可选地,统计单元包括:第一确定模块,用于确定汽车控制器的待测功能的功能 属性;第二确定模块,用于根据待测功能的功能属性确定预期测试结果的数据类型; 统计模块,用于根据数据类型统计使用测试用例测试汽车控制器的待测功能后产生的 预期测试结果。
每一项待测功能都有自己的功能属性,这样,虽然测试结果中数据量不确定,但 是其数据类型是一定的,比如,是该数据类型可以是下述类型中的一种:枚举型、数 值型、布尔量型。具体地,在待测功能为汽车控制器的档位控制功能时,预期测试结 果的数据类型为枚举型,如,前述的0、1、2、3、4等;在待测功能为汽车控制器的 电机转速控制功能时,预期测试结果的数据类型为数值型,如,正常工况下,若电机 转速为800-4000,则[800-4000]是正常数值范围,此时全数据范围可以划分为三段, 分别为[最小值-800),[800-4000],(4000-最大值]。需要说明的是,对于数值型测试 结果而言,假设预期结果范围包括三段,则测试结果数据只要能分别落入这三段数据 范围即表明测试用例能完全覆盖当前测试功能的所有需求。另外,对于布尔型测试结 果而言,预期测试结果的集合为{0、1}。
通过本发明实施例,可以根据待测功能的功能属性,灵活地统计使用测试用例测 试汽车控制器的待测功能后产生的预期测试结果。
可选地,统计模块还用于在数据类型为单一数据类型时,统计使用测试用例测试 汽车控制器的待测功能后产生的单一预期测试结果;或者统计模块还用于在数据类型 为组合数据类型时,先统计使用测试用例测试汽车控制器的待测功能后产生的组合预 期测试结果,其中,组合预期测试结果为由组成组合数据类型的所有单一数据类型对 应的所有单一预期测试结果组合得到。
对于单一数据类型的测试结果而言,每个测试结果一般只对应一个数据,例如, 对于档位控制功能的测试结果,在测试结果集合中,每个测试结果都对应一个数据, 如0或1或2或3或4等;对于组合数据类型的测试结果而言,每个测试结果一般会 对应多个数据,例如,对于档位电机转速控制功能的测试结果,在测试结果集合中, 每个测试结果都对应两个数据,如,1档和800,其中,1档和800就是组合预期测试 结果,它是由档位控制功能的测试结果和电机转速控制功能的测试结果组合而成的。 而组合预期测试结果集合则是由组成组合数据类型的所有单一数据类型对应的所有单 一预期测试结果组合得到。这样,在合理工况下,就可以统计所有可能出现的测试结 果的数值组合的集合了。
通过本发明实施例,可以根据测试结果的数据结果特点,灵活地统计使用测试用 例测试汽车控制器的待测功能后产生的预期测试结果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有 详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它 的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分, 可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件 可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所 显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模 块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到 多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案 的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成 的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时, 可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质 上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的 形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一 台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所 述装置的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘 等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润 饰也应视为本发明的保护范围。