溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

黑盒測試之狀態(tài)轉(zhuǎn)換測試法

發(fā)布時間:2020-07-28 14:30:51 來源:網(wǎng)絡(luò) 閱讀:1934 作者:947154267yjn 欄目:軟件技術(shù)

狀態(tài)轉(zhuǎn)換圖的組成:

1、狀態(tài):以圓圈表示,開始和結(jié)束是特殊狀態(tài);

2、轉(zhuǎn)換:由于事件的驅(qū)動,系統(tǒng)從一個狀態(tài)到另一個狀態(tài);

3、事件:以系統(tǒng)的相關(guān)接口觸發(fā),和特定的轉(zhuǎn)換關(guān)聯(lián);

4、活動:以“/”表示,活動由狀態(tài)轉(zhuǎn)換觸發(fā);

5、條件:以“[ ]”表示,說明狀態(tài)轉(zhuǎn)換只有在滿足這個條件后進(jìn)行。



狀態(tài)轉(zhuǎn)換測試:是根據(jù)狀態(tài)轉(zhuǎn)換來設(shè)計測試用例的一種方法。一個系統(tǒng)或組件的兩個允許狀態(tài)之間的切換。

基于狀態(tài)轉(zhuǎn)換的測試方法是探測Web程序動態(tài)行為異常的有效途徑.Web程序狀態(tài)的變遷由鏈接序列和提交數(shù)據(jù)共同構(gòu)成的導(dǎo)航場景決定.本文用活動頁 面導(dǎo)航圖(APND)來描述頁面間的鏈接轉(zhuǎn)換行為,用狀態(tài)變量的組合對象狀態(tài)圖(COSD)來刻畫由提交數(shù)據(jù)導(dǎo)致的系統(tǒng)狀態(tài)變量改變,再將兩者統(tǒng)一成一個 較為全面的動態(tài)行為模型Web程序狀態(tài)轉(zhuǎn)換圖(WSTD).最后,采用線索k叉樹并加以改進(jìn)來自動生成測試用例。



狀態(tài)轉(zhuǎn)換圖----->狀態(tài)轉(zhuǎn)換樹

1、將開始狀態(tài)作為狀態(tài)轉(zhuǎn)換樹的根;

2、從左到右檢查當(dāng)前層次的節(jié)點,將該節(jié)點對應(yīng)的所有下一個可能狀態(tài)作為其子節(jié)點;

3、重復(fù)第二部的動作,直到遇到前面層次的節(jié)點,則該節(jié)點為最終節(jié)點,最終到結(jié)束節(jié)點。




循環(huán)轉(zhuǎn)換機-->n-switch

 N-Switch是由TSUN S. CHOW在1978年提出的,他將N-Switch定義為程序圖中長度為n+1的連續(xù)的邊或弧線(通常在狀態(tài)圖中表示循環(huán))的序列。所以單獨的一條邊(或者轉(zhuǎn)換)就是一個0-Switch,兩條連續(xù)的邊的序列就是1-Switch。

下面以圖1所示的狀態(tài)機分別說明0-Switch和1-Switch的概念和區(qū)別。圖1所示的狀態(tài)機示例,其中圓圈表示狀態(tài),帶箭頭的邊表示轉(zhuǎn)換,同時為每個轉(zhuǎn)換定義了一個英文字母的標(biāo)識。

  黑盒測試之狀態(tài)轉(zhuǎn)換測試法

  圖1 狀態(tài)機示例圖



  1)0-Switch

  針對0-Switch,狀態(tài)轉(zhuǎn)換圖轉(zhuǎn)化為狀態(tài)轉(zhuǎn)換樹的基本規(guī)則或者步驟如下:

  ● 步驟1:將初始狀態(tài)或者開始狀態(tài)作為狀態(tài)轉(zhuǎn)換樹的根,根在整個狀態(tài)轉(zhuǎn)換樹中的層次是1。

  ● 步驟2:假設(shè)當(dāng)前生成狀態(tài)轉(zhuǎn)換樹的層次為K,那么從左到右檢查所有層次為K上的節(jié)點;將該節(jié)點對應(yīng)的所有下一個可能的狀態(tài)作為它的子節(jié)點,狀態(tài)之間的轉(zhuǎn)換作為兩個狀態(tài)的邊。

  ● 步驟3:重復(fù)步驟2,直到一個位于層次K上的節(jié)點出現(xiàn)在層次J上,且J小于等于K,那么這個節(jié)點就成為最終的葉節(jié)點,而無需繼續(xù)生成其子節(jié)點;或者節(jié)點的狀態(tài)是結(jié)束狀態(tài),也不需要針對該節(jié)點繼續(xù)進(jìn)行狀態(tài)轉(zhuǎn)換。

  根據(jù)0-Switch的定義,該狀態(tài)機對應(yīng)的所有的0-Switch為:a、b、c、d、e、f。同時根據(jù)上面0-Switch狀態(tài)轉(zhuǎn)換樹生成規(guī)則,生成的狀態(tài)圖如圖2所示。

  黑盒測試之狀態(tài)轉(zhuǎn)換測試法

  圖2 0-Switch狀態(tài)轉(zhuǎn)換圖示例



  2)N-Switch

   再來看一下1-Switch。根據(jù)1-Switch的定義,該狀態(tài)機對應(yīng)的所有1-Switch為:ab、ac、bb、bc、cd、ce、dd、de、 ea、ef、fd、fe。1-Switch狀態(tài)轉(zhuǎn)換樹的生成規(guī)則是在0-Switch狀態(tài)轉(zhuǎn)換樹基礎(chǔ)上,再增加一個層次,即針對0-Switch狀態(tài)轉(zhuǎn)換 樹的所有葉節(jié)點,把每個葉節(jié)點可能的下一個狀態(tài)作為該節(jié)點的子節(jié)點。這里需要注意的是,只需要增加一個層次既可。生成后的1-Switch的狀態(tài)轉(zhuǎn)換圖如 圖3所示。

  黑盒測試之狀態(tài)轉(zhuǎn)換測試法

  圖3 1-Switch狀態(tài)轉(zhuǎn)換圖示例

  假如1-Switch還是無法滿足測試的強度,那么,可以根據(jù)上面的思路,繼續(xù)增加一個層次,使之達(dá)到2-Switch。但是,需要注意的是,測試強度的增加,是以指數(shù)形式增加測試用例為代價的。這兩者之間的平衡,是測試人員采用什么樣的測試強度的時候必須考慮的。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI