劉德利,孫運璽,谷原野
(一汽轎車股份有限公司,吉林 長春 130000)
基于開發思維的功能測試用例設計方法
劉德利,孫運璽,谷原野
(一汽轎車股份有限公司,吉林 長春 130000)
提出一種基于開發思維的功能測試用例設計方法;通過同等模式優化測試用例、沖突模式完善測試用例、嵌套模式完善測試用例3方面,闡述開發思維的功能測試用例設計方法;通過具體實例進一步驗證該設計方法與傳統測試用例設計方法相比,該設計方法具有優化測試用例數量、完善測試用例覆蓋度等優勢。
開發思維;汽車功能測試;測試用例設計方法
現在汽車已經成為人們生活中的重要交通工具,隨著汽車數量的不斷增加,人們對汽車的功能性和安全性的要求也不斷提高。功能測試作為保證汽車零部件和整車功能和性能的重要環節,要求其能夠快速有效地發現問題,以保證整車的可靠性。
汽車功能測試方法是由軟件測試方法演變而來,但是軟件測試方法具有一定的局限性,常用的用例設計方法有等價類劃分法、邊界值法、因果圖法[1-2]、狀態轉移法[3-4]、 分支測試法等[5-7]。 這些方法很難做到將測試用例覆蓋度和測試周期很好地兼顧。如何利用有效的時間發現更多的問題,是所有測試人員和團隊面臨的共同難題。為了更好地解決這一問題,本文把開發思維與測試用例設計相結合,利用開發思維模式優化和完善測試用例。
為了兼顧測試用例覆蓋度和測試周期兩個方面,提出基于開發思維的功能測試用例設計方法。開發思維是指在開發汽車電子控制單元功能時的邏輯和思維,傳統的功能測試方法不關心開發功能時的邏輯和思維 (即黑盒測試方法),存在很大的弊端和缺陷。本文提出的功能測試用例設計方法考慮到現有功能都是模塊化設計,一個功能策略是由多個小模塊組成,在功能測試用例設計階段,分析和借鑒開發功能軟件時的邏輯和思維,按照模塊之間的特性設計測試用例。該方法是作為傳統方法的補充,既能夠提高測試用例的覆蓋度,又能夠減少測試用例數量。
1.1 同等模式優化測試用例
同等模式是指驗證多個同等模式下同一個功能策略,圖1為同等模式示意圖。傳統測試方法大多是在每種模式下測試一次,其能夠涵蓋所有的測試用例,但是存在用例數量龐大、測試周期長的缺點。然而基于開發思維的測試用例設計方法將識別出同等模式,多個同等模式任選其中一種模式驗證功能策略,此處需要注意的是不要在相同模式下驗證所有功能,避免出現某一模式沒有實現該功能的風險。
以圖1為例,功能策略為N,模式數量為3,傳統測試方法測試用例數量為3N,本文測試用例設計方法數量為N。此外,為保證測試覆蓋度N1功能策略在模式1情況下驗證,N2功能策略在模式2情況下驗證,N3功能策略在模式3情況下驗證,以此類推,該設計方法在保證覆蓋度的基礎上,大大減少測試數量,節省測試時間,將精力用于驗證其他具有風險的功能策略。

圖1 同等模式示意圖
1.2 沖突模式完善測試用例
沖突模式是指驗證功能策略時,兩個或兩個以上功能策略執行結果相同或部分相同,需增加兩者同時操作的測試用例,以驗證執行結果相同或部分相同的功能策略是否出現沖突。沖突模式示意圖如圖2所示。功能策略1和功能策略2的某執行結果相同,基于開發思維的功能測試用例設計方法增加了功能策略1基礎上進行功能策略2或功能策略2基礎上進行功能策略1,以驗證執行結果相同或部分相同的功能策略是否出現沖突。

圖2 沖突模式示意圖
1.3 嵌套模式完善測試用例
嵌套模式是指某功能策略中調用另一個功能策略,需增加測試用例以驗證是否存在應該調用而沒有調用,或者不應該調用而調用的情況。嵌套模式示意圖如圖3所示。功能策略1中符合條件1調用功能策略2;符合條件2不調用功能策略3。需增加測試用例加以驗證。

圖3 嵌套模式示意圖
2.1 同等模式化簡測試用例
功能描述:以某車型音響娛樂系統功能策略為例,收音機有FM1(Frequency Modulation,調頻)、FM2、FM3和AM1(Amplitude Modulation,調幅)、AM2 5種同等模式,均具有聲音調節、電臺瀏覽、搜索電臺、自動存臺、手動調臺、手動存臺、手動播放預存臺7個功能。傳統用例設計和本文用例設計方案比較如表1所示。

表1 用例設計方案比較
從表1可以看出,傳統用例數量為35條,本文用例數量為7條,大大減少測試用例數量,此外FM1、FM2、FM3、AM1、AM2 5種模式為同等模式,故能夠保證測試用例的覆蓋度。
2.2 沖突模式完善測試用例
功能描述:以某車型車身控制單元功能策略為例,短按危險報警開關、遙控鑰匙鎖車、碰撞模式3個功能策略,都需要執行同一個結果——危險報警燈閃爍。
2.2.1 本文用例設計方法完善測試用例
1)當短按危險報警開關,危險報警燈閃爍,操作遙控鑰匙鎖車。期望結果:可以成功鎖車,否則,此策略無法接受。
2)當短按危險報警開關,危險報警燈閃爍,車身控制單元進入碰撞模式。期望結果:順利進行碰撞模式,并進行3次解鎖、記錄當前車速、門鎖等狀態,否則,此策略無法接受。
3)當車身控制單元進入碰撞模式,危險報警燈閃爍,進行3次解鎖、記錄當前車速、門鎖等狀態,操作遙控鑰匙鎖車。期望結果:不可以鎖車,否則,此策略無法接受。
2.2.2 傳統測試用例設計方法
傳統測試用例設計在沒有明確技術文件說明的情況下,不會考慮以上測試用例,無法驗證上述功能,存在安全隱患和功能策略的風險。
2.3 嵌套模式完善測試用例
功能描述:以某車型音響娛樂系統功能策略為例,車輛處于倒車擋時,不應調用音量車速補償功能策略;點火開關閉合狀態1音響處于靜音模式,屏幕顯示靜音圖標,切換為點火開關閉合狀態2時,音響應調用靜音圖標顯示,屏幕繼續顯示靜音圖標。
2.3.1 本文用例設計方法完善測試用例
1)車輛處于倒車擋時,改變車速信號由小到大。期望結果:音響聲音不隨車速變化,否則,此策略無法接受。
2)點火開關閉合狀態1音響處于靜音模式,屏幕顯示靜音圖標,切換為點火開關閉合狀態2。期望結果:音響屏幕一直顯示靜音圖標,否則,此策略無法接受。
2.3.2 傳統測試用例設計方法
傳統測試用例設計在沒有明確技術文件說明的情況下,不會考慮以上測試用例,無法驗證上述功能,存在安全隱患和功能策略的風險。
1)該設計方法中同等模式化簡測試用例在保證覆蓋度的基礎上,大大減少測試數量,節省測試時間。
2)該設計方法能夠根據功能策略的模式,如沖突模式、嵌套模式等,完善測試用例,以提高測試用例覆蓋度,降低汽車控制單元出現問題的風險,保證整車的功能性和可靠性。
3)該設計方法不僅限于列舉出的3種模式,測試用例設計者根據進一步了解開發邏輯,能夠不斷地提升測試用例的品質,充分驗證控制單元的功能。
本文闡述了基于開發思維的測試用例設計方法,通過敘述同等模式化簡測試用例、沖突模式完善測試用例、嵌套模式完善測試用例3部分,其中同等模式化簡測試用例在保證覆蓋度的基礎上,大大減少測試數量,節省測試時間;沖突模式完善測試用例、嵌套模式完善測試用例能夠彌補傳統測試用例的覆蓋不足的缺點,從而保證整車的功能性和可靠性。
本文的測試用例設計方法為測試用例設計提供了新的思路,對傳統設計方法進行了一定的改進和補充,為功能測試工作的用例設計階段提供了重要的依據和參考。
[1] 田真,黃小楓,李志成,等.整車控制器硬件在環測試流程及測試用例庫設計[J].汽車工程學報,2014,4(3):207-212.
[2] 劉春玲,雷海紅.黑盒測試用例設計方法研究[J].現代電子技術,2012,35(20):46-48.
[3] 劉浩銳,王磊,劉振華,等.基于狀態轉換的ECU功能測試研究[J].汽車電器,2014,(9):66-69.
[4] 易海勝.單元測試用例設計方法初探[J].武漢科技學院學報,2006,19(5):120-122.
[5] 李莉.基于狀態轉換圖的測試用例設計方法[J].軟件產業與工程,2012,24(3):45-48.
[6] 陳涵.黑盒測試用例設計方法的研究[J].武漢電力職業技術學院學報,2011,9(3):45-48.
[7] 浦云明.組合的測試用例設計與評價方法[J].計算機技術與發展,2014,24(3):117-121.
(編輯 心 翔)
Design Method of Function Test Case Based on Development Thinking
LIU De-li,SUN Yun-xi,GU Yuan-ye
(FAW Car Co.,Ltd.,Changchun 130000,China)
A function test case design method based on development thinking is proposed in this paper.Through equivalent modeling simplifying test cases, conflict model and nest model perfecting test case, introduction of function test case design method based on development thinking is given.Compared with the traditional ones,this design method has advantages such as optimizing test case number and improving test coverage.
development thinking;vehicle function test;design method of test case
U467
A
1003-8639(2016)10-0055-03
2016-06-12;
2016-06-24
劉德利 (1987-),男,吉林長嶺人,工程師,碩士,主要工作方向為汽車電器單系統功能測試、電氣功能測試硬件在環測試系統的設計與應用、整車電氣功能測試等;孫運璽 (1984-),男,遼寧鞍山人,工程師,碩士,主要工作為汽車電器單系統功能測試、電氣功能測試硬件在環測試系統的設計與應用、整車電氣功能測試等;谷原野 (1984-),男,吉林乾安人,工程師,碩士,主要工作方向為汽車電器單系統功能測試、電氣功能測試硬件在環測試系統的設計與應用、整車電氣功能測試等。