摘要:汽车电器功能测试是验证车辆电器零部件产品品质的一种有效方法。可通过功能测试发现产品缺陷,进行改善、优化,不断提升产品品质。结合多年汽车电器功能测试工作实践经验和研究分析,介绍电器功能测试用例设计方法、流程、原则、关注点等。
随着现代智能网络与导航系统、更先进的主动安全与被动安全技术逐渐应用于汽车,整个汽车的电子电气架构将越来越复杂,越来越多的电子控制单元应用到了汽车上。如何保证众多电子控制单元产品品质成为主机厂持续关注的焦点,因此电器功能测试成为汽车开发过程中的关键环节之一,同时电器功能测试用例的设计变得尤为重要,成为电器功能测试的核心所在。
1 测试用例概述
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例体现了测试方案、方法、技术和策略,是为了测试某个特定功能点而设计的测试操作序列,是测试执行的基本单位,用于指导测试工作。
1.1测试用例组成
测试用例主要由ID号(测试用例序列号)、测试用例名称、步骤描述、期望结果、测试结果、需求点、备注信息和其他相关信息等组成。汽车仪表(IP)控制单元部分电器功能(指针仪表功能)测试用例如图1所示。其车速、转速、水温、燃油表功能测试用例组成信息如下。
1)测试用例序号 ID号是测试用例的惟一标识,用于区分各个测试用例而定义的一组编号。
2)测试用例名称 使用简单的语言表示本条测试用例的大致过程和目的,具有简单易识别的特性。
3)步骤描述 用于描述测试用例执行的操作步骤,包含测试用例前提条件和测试步骤的具体描述,详细描述需要执行的操作步骤,按照操作顺序先后进行操作。
4)期望结果 对应相应的前提条件和测试步骤,详细描述对被测对象进行测试操作后,被测对象应达到的状态,包括车辆实际表现和信号状态等内容。
5)测试结果 测试用例在被测对象上实际执行测试后的结果,包括通过、失败、未测试。
6)需求点 测试用例的需求点表示测试用例关联的依据,能够针对此被测对象需求点进行测试内容的追踪。
7)备注信息 测试用例的备注用于测试被测对象过程中测试执行人员记录过程中的相关信息。
8)其他相关信息 可用于记录其他相关信息。如IP控制器产品供应商、软件、硬件版本信息、零件号,测试时间、地点,测试车辆编号,测试执行人员等。
1.2测试用例设计方法
汽车仪表控制单元测试为开发过程中的测试,其测试贯穿于汽车仪表整个开发中,直至仪表开发完成。汽车仪表供应商在完成仪表电器功能开发,并经过自身白盒测试后,按时间计划节点提交至主机厂,由电器功能测试部对提交的仪表控制单元开展电器功能测试,实际测试状态见图2。
电器功能测试核心工作之一为测试用例设计,测试用例设计应按照不同测试级别的要求,基于用户需求进行用例的设计,根据被测电器零部件产品功能、特性和测试内容的不同,选择不同的测试技术和用例设计方法,有效,保证测试的覆盖率和准确性,同时平衡测试用例的数量,其主要应用的设计方法如下。
1)等价类划分 将功能所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。
2)MCDC MCDC (Mu-ltiple Condition Decision Cov-erage修订的条件/判定覆盖)是一种软件结构覆盖率测试准则,依照MCDC准则设计的测试用例,每个条件都能独立影响测试结果,既能保证覆盖率提高,又能保证测试用例数量降低。
3)边界值 从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界值上,而不是在输入范围的内部。可根据各种边界情况设计测试用例,可以查出更多的错误。
4)状态转移 适用于被测系统由多个功能状态组成,各个功能状态之间有逻辑关系和跳转条件。测试用例重点关注各状态达成的前提条件和跳转逻辑。
5)场景分析 测试用例设计时关注系统实现过程中可能发生的各种情况,模拟特殊场景的各种输入,发现功能设计中存在的问题。
6)猜错法 根据被测系统的功能和测试经验,选取输入域中的个别数据来设计测试用例。
7)枚举法 选取被测功能输入域中的所有数据来设计测试用例,可以保证100%覆盖功能的输入情况。
8)功能覆盖法 按照软件功能规范中对功能点描述,使测试用例完整覆盖所有内容。
测试用例设计有多种方法,以上为功能测试用例设计的一些主要方法,在功能测试各个级别的测试用例设计中应用比较广泛。实践中需综合应用各设计方法,将这些用例设计方法有机结合起来,取长补短,同时基于经验的积累不断提高与强化用例设计能力。
2 测试用例设计流程
测试用例设计流程主要分为功能需求分析、功能点映射、测试用例设计、测试用例评审4个部分。
2.1功能需求分析
功能需求文件是测试用例设计的基本输入,祥细、完善的功能需求文件(产品规格书)是开展用,例设计的前提。测试用例设计人员对仪表控制单元功能需求文件中各功能点的易懂性、一致性、功能完整性、可测性、可追溯性等进行分析确认。
完成仪表控制单元功能需求分析后,同时结合车辆功能特性信息,制定各功能点的测试策略,如定义测试优先级、测试深度、测试完整性等级等。
2.2功能点映射
依据仪表控制单元产品开发时间节点、功能实现计划,对功能需求中的各功能点进行映射,如强相关控制器映射、测试阶段映射、测试环境映射。
1)强相关控制器映射 确定该功能点实现所涉及的ECU控制单元,此控制单元可能为一个或多个。
2)测试阶段映射 确定该功能点需执行测试的阶段,如单ECU测试阶段、系统集成测试阶段、
实车测试阶段。
3)测试环境映射 确定该功能点执行测试所需测试环境,如基本测试工具、系统测试台架、HIL测试环境、实车测试环境等。
2.3测试用例设计
结合仪表控制单元各功能需求特点,应用相应测试技术方法,对完成测试矩阵设计的仪表控制单元进行测试用例的设计,编制仪表测试用例文件,如图1所示。
2.4测试用例评价
测试用例设计完成后,需进行测试用例的基础评审,对测试用例的可用性与可复用性进行评价。从用例的易理解性、可测性、可执行性、易操作性、效率方面评估用例的可用性,从用例的易理解性、易修改性、独立性、通用性评估用例的可复用性。