王 杨
黑盒测试技术在嵌入式软件测试中的融合应用
王 杨
(陕西汽车集团有限责任公司技术中心,陕西 西安 710200)
近些年来,嵌入式软件的规模及复杂程度急剧增大,尤其在国防、轨道交通、汽车、民航以及工业控制等领域的用户对嵌入式软件质量要求更加严格,使用过程中对嵌入式软件缺陷的容忍度越来越低。因此,如何有效提高嵌入式软件的质量成为目前迫切需要解决的问题。文章以某款新能源汽车整车控制策略中的空调控制模块为例,分析了如何将等价类划分法、边界值分析法、因果图分析法等黑盒测试技术有序高效地融合应用在嵌入式软件测试用例设计之中;文章阐明了使用不同类型的黑盒测试用例设计方法相互融合的嵌入式软件测试思路,可以有效、有序地设计出一组可靠性高、执行性强的功能测试用例,从而提高了测试的效率,保证了软件测试的置信度和软件质量。
整车控制策略;嵌入式软件测试;黑盒测试技术;融合应用
信息技术的迅猛发展使得人类加快进入数字化时代,而伴随着计算机技术发展起来的嵌入式技术得到了巨大的发展,改变了人们的日常生活。嵌入式系统作为提高国民经济和生产力的有效手段被广泛应用于通信、高铁、工业控制、汽车制造、航空航天等安全性和可靠性要求较高的领域。近些年来随着应用需求和领域的不断激增,嵌入式软件的规模及复杂程度也急剧增大,相应的由嵌入式软件失效而引起的故障比例也越来越大。因此,提高嵌入式软件的质量成为目前迫切需要解决的问题。众所周知,软件测试是保证高质量、高可靠性软件的重要手段,对嵌入式软件更是如此。实践证明,在软件开发过程中,通过软件测试来发现软件本身的缺陷是提高软件质量和可靠性的一种非常有效的手段。
嵌入式软件测试常使用的测试技术包括:黑盒测试技术与白盒测试技术。黑盒测试又被称为数据驱动测试或基于规格说明的测试,实际上站在最终用户的立场,检测输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求规定的测试方法[1];黑盒测试在某些情况下也称为功能测试;这类测试方法根据软件的用途和外部特征查找软件缺陷,不需要了解程序的内部结构。[2]黑盒测试技术主要包括场景法、等价类划分法、边界值分析法、因果图法等测试用例设计方法。本文以某款新能源汽车整车控制策略中的空调控制模块为例,重点阐述了如图1所示的将不同类型的黑盒测试技术有机融合地嵌入式软件测试思路和具体方法。
图1 黑盒测试技术融合应用操作步骤图
在设计空调模块测试用例之前,首先需要梳理出如图2所示的空调模块的控制需求和如图3所示的空调控制模块输入输出关系;然后使用场景法规划出测试的框架(测试路径/场景),在完成基本测试路径的设计后,面对各个测试路径中具体的输入输出时,就需要使用等价类、边界值和因果图法进行相应的测试用例设计。
图2 空调模块控制需求思维导图
图3 空调模块输入输出关系图
场景法由基本流和备选流两部分组成;场景法用来描述流经测试用例的路径,从用例开始到结束遍历这条路径上所有的基本流和备选流。以空调控制模块中“放电模式空调使能”这一测试需求为例,对场景分析法设计空调控制模块测试用例的过程做具体说明。根据对“放电模式空调使能”测试需求的分析,基本流与备选流如下所示:
基本流:空调关闭,满足放电模式下空调使能条件。
备选流:不满足放电模式下空调使能条件。
根据上述基本流与备选流生成不同的测试场景,如下所示:
场景1:空调关闭—满足放电模式空调使能条件—空调使能。
场景2:空调关闭—不满足放电模式空调使能条件—空调保持关闭。
等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当做测试用例,等价类可以分为有效等价类和无效等价类[3]。通过使用场景法分析得到“放电模式空调使能”这一测试需求,分为使能与不使能两条测试场景;对于其具体的输入输出关系使用等价类划分法进行梳理设计,得到如表1所示的放电模式空调使能等价类划分表,其中各个输入信号的有效等价类组成实现场景1的逻辑跳转条件,各个输入信号的无效等价类组成实现场景2的逻辑跳转条件。
表1 放电模式空调使能等价类划分表
输入条件有效等价类无效等价类 动力电池SOC大于3%小于等于3% 高低压上下电状态放电模式高压其他状态 互斥模块空调转速请求输出大于0等于0 风扇故障输入信号(两个风扇)至少一个故障都故障
边界值分析法是用于对输入或输出的边界值进行测试的一种典型、重要的测试方法。它是对等价类划分法的补充,这种方法选择输入输出的等价类边界。以上文中分析得到的放电模式空调使能等价类划分表为依据,对其中已经划分好的有效等价类和无效等价类进行边界值分析,得到如表2所示的“放电模式空调使能”边界值分析表。
表2 放电模式空调使能边界值分析表
输入条件等价类型边界范围取值 动力电池SOC有效[4、100]4、20、100 无效[0、3]0、3 高低压上下电状态有效[0、3]8 无效[0、7]或[10、16]2、10、16 互斥模块空调转速请求输出有效(0、6 000]20、6 000 无效00 风扇故障输入信号(两个风扇)有效00 无效11
通过等价类与边界值分析法,基本将“放电模式空调使能”测试项的各个输入条件取值梳理清晰,但是并未考虑到各个输入条件之间的各种组合、输入条件组合之间的相互制约关系;此时就需要使用因果图法对多个输入条件之间的相互关联进行分析。该方法主要是依据软件需求找出各个输入条件(即“因”)以及输出条件的改变(即“果”),而后对各种输入条件组合之间的相互关系(即“与(∧)”、“或(∨)”)使用图解法予以有效分析[4],如图4、5所示分别为放电模式空调使能/不使能因果关系图。
图4 放电模式空调使能因果关系图
图5 放电模式空调不使能因果关系图
表3 放电模式空调使能的功能测试用例
通过对上述几种黑盒测试技术的综合分析和相互融合,得到“放电模式空调使能”的功能测试用例,如表3所示。
黑盒测试技术是一种非常有效且容易实际操作的测试用例设计。本文中,针对嵌入式软件测试的特点,选取空调控制模块的放电模式空调使能测试点为测试对象,选择使用不同的黑盒测试方法相互融合,可以有效、有序地设计出一组可靠性高、执行性强的功能测试用例,从而提高了测试的效率,保证了测试的置信度和软件质量。
[1] 赵国亮,叶东升,董丽,等.嵌入式软件测试与实践[M].北京:清华大学出版社,2018.
[2] 汪建芬.浅谈软件测试和嵌入式软件测试[J].电脑知识与技术,2009:6437-6438
[3] 李龙,刘文贞.嵌入式软件测试方法、案例与模板详解[M].北京:机械工业出版社,2016.
[4] 满薇薇.黑盒测试技术在指控分系统软件测试中的应用研究[J].电子世界,2014(010):203-204.
Application of Black Box Testing Technology in Embedded Software Testing
WANG Yang
( Shannxi Automobile Group Co., Ltd., Technical Center, Shaanxi Xi'an 710200 )
In recent years, the scale and complexity of embedded software have increased sharply. Espe- cially in the fields of national defense, rail transit, automobile, civil aviation and industrial control, users have stricter requirements on the quality of embedded software, and their tolerance for defects of embedded software has become lower and lower. Therefore, how to effectively improve the quality of embedded software becomes an urgent problem to be solved.Taking the air conditioning control module of a new energy vehicle control strategy as an example, this paper analyzes how the black box test technologies such as equivalence class partition method, boundary value analysis method and cause and effect diagram method are integrated and applied in the design of embedded software test cases; it expounds the organic integration of different black box test methods, which can effectively and orderly design a group of functional test cases with high reliability and strong execution, thus improving the test efficiency and ensuring the test confidence and software quality.
Vehicle control strategy; Embedded software testing; Black box testing technology; Fusion application
A
1671-7988(2022)01-201-04
U495
A
1671-7988(2022)01-201-04
CLC NO.:U495
王杨,就职于陕西汽车集团有限责任公司技术中心。
10.16638/j.cnki.1671-7988.2022.001.046