王 楊
黑盒測試技術在嵌入式軟件測試中的融合應用
王 楊
(陜西汽車集團有限責任公司技術中心,陜西 西安 710200)
近些年來,嵌入式軟件的規(guī)模及復雜程度急劇增大,尤其在國防、軌道交通、汽車、民航以及工業(yè)控制等領域的用戶對嵌入式軟件質量要求更加嚴格,使用過程中對嵌入式軟件缺陷的容忍度越來越低。因此,如何有效提高嵌入式軟件的質量成為目前迫切需要解決的問題。文章以某款新能源汽車整車控制策略中的空調控制模塊為例,分析了如何將等價類劃分法、邊界值分析法、因果圖分析法等黑盒測試技術有序高效地融合應用在嵌入式軟件測試用例設計之中;文章闡明了使用不同類型的黑盒測試用例設計方法相互融合的嵌入式軟件測試思路,可以有效、有序地設計出一組可靠性高、執(zhí)行性強的功能測試用例,從而提高了測試的效率,保證了軟件測試的置信度和軟件質量。
整車控制策略;嵌入式軟件測試;黑盒測試技術;融合應用
信息技術的迅猛發(fā)展使得人類加快進入數字化時代,而伴隨著計算機技術發(fā)展起來的嵌入式技術得到了巨大的發(fā)展,改變了人們的日常生活。嵌入式系統(tǒng)作為提高國民經濟和生產力的有效手段被廣泛應用于通信、高鐵、工業(yè)控制、汽車制造、航空航天等安全性和可靠性要求較高的領域。近些年來隨著應用需求和領域的不斷激增,嵌入式軟件的規(guī)模及復雜程度也急劇增大,相應的由嵌入式軟件失效而引起的故障比例也越來越大。因此,提高嵌入式軟件的質量成為目前迫切需要解決的問題。眾所周知,軟件測試是保證高質量、高可靠性軟件的重要手段,對嵌入式軟件更是如此。實踐證明,在軟件開發(fā)過程中,通過軟件測試來發(fā)現軟件本身的缺陷是提高軟件質量和可靠性的一種非常有效的手段。
嵌入式軟件測試常使用的測試技術包括:黑盒測試技術與白盒測試技術。黑盒測試又被稱為數據驅動測試或基于規(guī)格說明的測試,實際上站在最終用戶的立場,檢測輸入輸出信息及系統(tǒng)性能指標是否符合規(guī)格說明書中有關功能需求及性能需求規(guī)定的測試方法[1];黑盒測試在某些情況下也稱為功能測試;這類測試方法根據軟件的用途和外部特征查找軟件缺陷,不需要了解程序的內部結構。[2]黑盒測試技術主要包括場景法、等價類劃分法、邊界值分析法、因果圖法等測試用例設計方法。本文以某款新能源汽車整車控制策略中的空調控制模塊為例,重點闡述了如圖1所示的將不同類型的黑盒測試技術有機融合地嵌入式軟件測試思路和具體方法。
圖1 黑盒測試技術融合應用操作步驟圖
在設計空調模塊測試用例之前,首先需要梳理出如圖2所示的空調模塊的控制需求和如圖3所示的空調控制模塊輸入輸出關系;然后使用場景法規(guī)劃出測試的框架(測試路徑/場景),在完成基本測試路徑的設計后,面對各個測試路徑中具體的輸入輸出時,就需要使用等價類、邊界值和因果圖法進行相應的測試用例設計。
圖2 空調模塊控制需求思維導圖
圖3 空調模塊輸入輸出關系圖
場景法由基本流和備選流兩部分組成;場景法用來描述流經測試用例的路徑,從用例開始到結束遍歷這條路徑上所有的基本流和備選流。以空調控制模塊中“放電模式空調使能”這一測試需求為例,對場景分析法設計空調控制模塊測試用例的過程做具體說明。根據對“放電模式空調使能”測試需求的分析,基本流與備選流如下所示:
基本流:空調關閉,滿足放電模式下空調使能條件。
備選流:不滿足放電模式下空調使能條件。
根據上述基本流與備選流生成不同的測試場景,如下所示:
場景1:空調關閉—滿足放電模式空調使能條件—空調使能。
場景2:空調關閉—不滿足放電模式空調使能條件—空調保持關閉。
等價類劃分法是把程序的輸入域劃分成若干部分,然后從每個部分中選取少數代表性數據當做測試用例,等價類可以分為有效等價類和無效等價類[3]。通過使用場景法分析得到“放電模式空調使能”這一測試需求,分為使能與不使能兩條測試場景;對于其具體的輸入輸出關系使用等價類劃分法進行梳理設計,得到如表1所示的放電模式空調使能等價類劃分表,其中各個輸入信號的有效等價類組成實現場景1的邏輯跳轉條件,各個輸入信號的無效等價類組成實現場景2的邏輯跳轉條件。
表1 放電模式空調使能等價類劃分表
輸入條件有效等價類無效等價類 動力電池SOC大于3%小于等于3% 高低壓上下電狀態(tài)放電模式高壓其他狀態(tài) 互斥模塊空調轉速請求輸出大于0等于0 風扇故障輸入信號(兩個風扇)至少一個故障都故障
邊界值分析法是用于對輸入或輸出的邊界值進行測試的一種典型、重要的測試方法。它是對等價類劃分法的補充,這種方法選擇輸入輸出的等價類邊界。以上文中分析得到的放電模式空調使能等價類劃分表為依據,對其中已經劃分好的有效等價類和無效等價類進行邊界值分析,得到如表2所示的“放電模式空調使能”邊界值分析表。
表2 放電模式空調使能邊界值分析表
輸入條件等價類型邊界范圍取值 動力電池SOC有效[4、100]4、20、100 無效[0、3]0、3 高低壓上下電狀態(tài)有效[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所示。
黑盒測試技術是一種非常有效且容易實際操作的測試用例設計。本文中,針對嵌入式軟件測試的特點,選取空調控制模塊的放電模式空調使能測試點為測試對象,選擇使用不同的黑盒測試方法相互融合,可以有效、有序地設計出一組可靠性高、執(zhí)行性強的功能測試用例,從而提高了測試的效率,保證了測試的置信度和軟件質量。
[1] 趙國亮,葉東升,董麗,等.嵌入式軟件測試與實踐[M].北京:清華大學出版社,2018.
[2] 汪建芬.淺談軟件測試和嵌入式軟件測試[J].電腦知識與技術,2009:6437-6438
[3] 李龍,劉文貞.嵌入式軟件測試方法、案例與模板詳解[M].北京:機械工業(yè)出版社,2016.
[4] 滿薇薇.黑盒測試技術在指控分系統(tǒng)軟件測試中的應用研究[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