一、引言

  軍用軟件是指為作戰(zhàn)任務或業(yè)務管理需要而使用的軟件系統(tǒng),主要包括軍事指揮系統(tǒng)、業(yè)務管理系統(tǒng)和信息化武器裝備內嵌的控制系統(tǒng)。確保軍用軟件質量是科研人員在進行軍用軟件研制過程中的一項重要任務。

  黑盒測試是把程序看作一個完全不能打開的黑盒子.在測試時.完全不考慮程序內部結構和內部特性.對程序接口進行測試,只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用.程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測試的用例設計技術常用的有5種:等價類劃分法、邊界值分析法、錯誤猜測法、因果圖法和場景法。下面具體地來介紹這5種測試用例設計技術。

  二、等價類劃分法

  等價類劃分的辦法是把程序的輸入域劃分成若干部分,然后從每個部分中選取少數(shù)代表性數(shù)據(jù)當作測試用例,每一類的代表數(shù)據(jù)在測試中的作用等價于這一類中的其他值。也是說。我們認為如果某一類中的一個例子發(fā)現(xiàn)了錯誤,這一等價類中的其他例子也能出現(xiàn)同樣的錯誤。這樣可以用少量代表性的測試數(shù)據(jù)取得較好的測試結果。等價類劃分有兩類:有效等價類和無效等價類。有效等價類指的是符合程序規(guī)格說明書的有效輸入:無效等價類指的是其他任何可能的輸入條件(即不正確的輸入值)。設計測試用例時,要同時考慮這兩種等價類。因為軟件不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗,這樣的測試才能確保軟件具有更高的可靠性。我們必須按照一定的標準進行分類,并且選擇有代表性的測試用例進行測試。下面給出6條確定等價類劃分的原則:

 、僭谳斎霔l件規(guī)定了取值范圍或值的個數(shù)的情況下.則可以確立一個有效等價類和兩個無效等價類;

  ②在輸人條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下.可確立一個有效等價類和一個無效等價類;

  ③在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類;

 、茉谝(guī)定了輸人數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立11‘個有效等價類和一個無效等價類;

 、菰谝(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則);

  ⑥在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類。

  三、邊界值分析法

  長期的測試工作經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入和輸出等價類的邊界,是應著重測試的邊界情況。應當選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù).而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù);谶吔缰捣治龇椒ㄟx擇測試用例的原則:

 、偃绻斎霔l件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù);

 、谌绻斎霔l件規(guī)定了值的個數(shù),則用大個數(shù),小個數(shù),比小個數(shù)少一,比大個數(shù)多一的數(shù)作為測試數(shù)據(jù);

 、鄹鶕(jù)規(guī)格說明的每個輸出條件,使用前面的原則(1);

  ④根據(jù)規(guī)格說明的每個輸出條件,應用前面的原則(2);

 、萑绻绦虻囊(guī)格說明給出的輸入域或輸出域是有序集合。則應選取集合的第一個元素和后一個元素作為測試用例;

  ⑥如果程序中使用了一個內部數(shù)據(jù)結構,則應當選擇這個內部數(shù)據(jù)結構的邊界上的值作為測試用例;

 、叻治鲆(guī)格說明,找出其它可能的邊界條件。例如,某一個軍用產(chǎn)品的使用壽命要求為1?99月,設計用例時,可以取0、1、99、100作用測試數(shù)據(jù)。而有些邊界在軟件內部,終用戶幾乎看不到,但是軟件測試人有必要檢查。這樣的邊界條件稱為次邊界條件或者內部邊界條件;尋找這樣的邊界不要求測試人員具有閱讀源代碼的能力,但要求了解軟件的工作方式。