3 测试用例设计原则
测试用例设计需遵循以用户场景为前提,基于经过功能需求分析、功能点映射、测试用例数量预估后,完成仪表控制单元测试矩阵的设计,如图3所示。需求和测试方法进行用例设计,实现测试用例易维护、易扩展、易复用的基本目标。
3.1基于需求的原则
按照测试级别的不同要求,设计测试用例。如:仪表控制单元ECU级测试用例需依据仪表控制单元详细产品需求说明书设计;系统级测试用例依据仪表系统需求说明书,系统功能之间的交互、系统策略逻辑描述技术文件等设计;实车级测试用例需依据仪表在整车中的功能需求,用户应用描述等基于用户的文件设计。
3.2基于方法的原则
基于仪表控制单元需验证的功能需求点,明确所采用的测试用例设计方法。为达到充分测试目标,分析采用适宜的一种或多种测试方法,如:仪表控制单元中的转速表测试用例的设计可选用枚举法,选择典型值(800 r/min、1 500 r/min、2 000 r/min、2 500 r/min、3 000 r/min等)进行测试,同时选择边界值中的最小值与最大值(0 r/min、200 r/min、6 000 r/min、 6 500 r/min、7 000 r/min等)附近进行测试,验证转速表指针工作是否正确与指针动作的平顺性。
4 测试用例设计关注点
4.1测试用例覆盖率
测试用例的覆盖率指对功能需求的覆盖,需求覆盖从纬度上分为广度覆盖和深度覆盖;从内容上分为用户场景覆盖、功能覆盖、系统场景覆盖。
1)广度覆盖指需求规格说明书中的每个功能需求点都在测试用例中得到设计;深度覆盖指测试设计不仅覆盖需求规格说明书中的每个功能需求项,并透过需求规格说明书,分析、评估出可能存在的风险隐患点,同时针对这些风险点设计测试用例。如:仪表控制单元燃油表测试用例设计,不仅需对燃油表指示的基本功能进行相应用例的设计,而且还要考虑行车过程中道路颠簸造成燃油箱中燃油剧烈晃动情况,设计相应场景测试用例等。
2)从内容上的覆盖需评估每个测试需求,是否都已覆盖,同时至少需要确定正向和逆向各1个测试用例。如:仪表控制单元各种类型的测试用例是否都已设计,包括:基本功能、系统交互功能、状态转换、性能、安全性、稳定性、兼容性等几个方面。
4.2测试用例有效性
测试用例的有效性需评估每个测试用例的测试方法、测试操作步骤、测试评价结果是否正确,能否达成测试目的。仪表控制单元的每个测试用例需清晰描述测试内容,以及测试的预期行为,每一个测试用例定义单一的输入集合,或者操作,并得到惟一的测试结果,用于检查测试用例具备执行的可重复性。
4.3测试用例深度
根据仪表控制单元产品供应商及对应产品的成熟度,结合考虑该产品功能失效所带来的风险等级,来确定测试用例深度。测试深度可分为高、中、低3个等级。
1)高度 全新产品或供应商不成熟,直接关系到整车驾驶安全的重要功能。
2)中度 移植开发产品或供应商不太成熟,间接关系到整车驾驶安全的次要功能。
3)低度 稳定产品或供应商很成熟,产品功能失效对驾驶安全性影响较低。
4.4测试用例管理
测试用例的管理贯穿于整个仪表控制单元测试项目,在整个测试项目过程中需进行用例的日常维护、升级。功能需求规范中相应功能点变更时,需同步更新相关测试用例;测试用例执行过程中所发现用例的缺陷,要及时修正与完善该缺陷用例;借鉴该项目或平台项目所反馈的相应问题库(车辆试制电器问题库、售后电器问题库等),分析问题真因,排查测试遗漏点,升级测试用例,不断提升用例深度与覆盖率。
测试用例设计的品质和效果在一定程度上直接影响了测试过程的开展和最终的测试结果。测试用例设计关注点较多,在功能测试用例设计时,需结合测试项目的实际情况,结合测试工作效率、测试项目时间节点要求等进行综合分析,在功能测试上达成时间、成本、品质的最优配比。
5 结束语
测试用例设计是功能测试的关键,只有对测试用例设计有了正确的认识,遵循测试用例的设计原则、方法、评价标准,积累经验与不断完善,才能使设计的测试用例在功能测试中起到重要的指导作用,才能发现更多、更全、更深层次的问题,实现最大化的探测问题隐患,对产品品质的提高会有很大的帮助。