軟件測(cè)試設(shè)計(jì)(完整的測(cè)試設(shè)計(jì)模型)

軟件測(cè)試設(shè)計(jì)

在早期的軟件測(cè)試過程中瞧筛,我們測(cè)試時(shí)對(duì)需求規(guī)格進(jìn)行分析残腌,分析之后就開始直接寫用例谐腰,我們把這個(gè)過程叫測(cè)試設(shè)計(jì)胁黑。其實(shí)現(xiàn)在很多國(guó)內(nèi)公司都還是根據(jù)需求直接寫用例的,這個(gè)方法過于簡(jiǎn)單,以致于出現(xiàn)設(shè)計(jì)出來的用例并不能發(fā)現(xiàn)太多問題十饥。這說明一個(gè)問題,我們以前的測(cè)試設(shè)計(jì)方法其實(shí)很難全面地覆蓋到我們的需求祖乳,所以在本章中逗堵,我們將介紹一個(gè)專業(yè)的測(cè)試設(shè)計(jì)模型。

一眷昆、MFQ 測(cè)試設(shè)計(jì)模型概述

早期的測(cè)試設(shè)計(jì)過程是直接根據(jù)測(cè)試需求或規(guī)格來設(shè)計(jì)用例蜒秤,這種方法存在很多局限性,本章我們討論的是一種新的亚斋,或者說更全面的測(cè)試設(shè)計(jì)方法∽髅模現(xiàn)在在很多測(cè)試更完善的企業(yè)(如華為),他們提出了新的測(cè)試設(shè)計(jì)過程:需求/規(guī)格→測(cè)試分析→測(cè)試設(shè)計(jì)→用例設(shè)計(jì)帅刊,將測(cè)試設(shè)計(jì)劃分為4個(gè)階段纸泡,然后通過模型的方法來控制測(cè)試設(shè)計(jì)的整個(gè)過程,當(dāng)然事實(shí)也證明基于模型的測(cè)試對(duì)幫助提高和改進(jìn)測(cè)試設(shè)計(jì)質(zhì)量是有很大的幫助赖瞒。通過模型可以描述系統(tǒng)如何工作女揭,可以通過表格形式、流程圖或其他圖表來表示栏饮。

本節(jié)主要介紹華為公司在使用的一種設(shè)計(jì)模型——MFQ 模型吧兔,如圖7-1 所示。

圖7-1 MFQ 模型

MFQ 模型將測(cè)試設(shè)計(jì)分為4 個(gè)步驟袍嬉,第一步是為測(cè)試對(duì)象建模;第二步是設(shè)計(jì)基礎(chǔ)測(cè)試用例來覆蓋模型;第三步是確定測(cè)試數(shù)據(jù);第四步是非正式測(cè)試內(nèi)容境蔼。詳細(xì)的測(cè)試設(shè)計(jì)步驟在接下來的章節(jié)中會(huì)詳細(xì)介紹。

當(dāng)然之所以使用模型的方法來分析測(cè)試設(shè)計(jì)伺通,主要是因?yàn)闇y(cè)試模型可以幫助我們更全面地覆蓋需求箍土,MFQ 模型可以更好地幫助解決以下問題:

通過建模可以更熟悉被測(cè)試對(duì)象泵殴,同時(shí)也可以讓測(cè)試對(duì)象變得更清晰涮帘。

通過分析,并且在分析過程中測(cè)試分析工程師不斷地與需求工程師笑诅、開發(fā)工程師交流调缨,這樣可以發(fā)現(xiàn)一些潛在的問題,提前預(yù)防一些缺陷的出現(xiàn)吆你。

通過模型可以更好地了解我們是如何分析被測(cè)試對(duì)象的弦叶,這樣可以提高測(cè)試評(píng)審的效率。

通過模型的展現(xiàn)妇多,在設(shè)計(jì)用例時(shí)可以更好地去覆蓋被測(cè)試對(duì)象伤哺。

二、建模

MFQ 測(cè)試設(shè)計(jì)模型中,第一個(gè)步驟是建模立莉,也是整個(gè)模型中最重要的一個(gè)步驟绢彤,建模的過程其實(shí)就是測(cè)試分析的過程。建模主要有兩部分內(nèi)容:一是建模的維度;二是PRDCS 建模方法蜓耻。

1茫舶、建模的維度

建模是一個(gè)很重要的步驟,也是測(cè)試分析的過程刹淌,所以如果要建一個(gè)好的模型就必須對(duì)被測(cè)試對(duì)象很熟悉饶氏,通常可以從以下幾個(gè)方面來收集被測(cè)試對(duì)象的信息:

需求規(guī)格說明書有勾。

系統(tǒng)架構(gòu)設(shè)計(jì)說明書疹启。

系統(tǒng)概要設(shè)計(jì)說明書。

系統(tǒng)詳細(xì)設(shè)計(jì)說明書蔼卡。

行業(yè)知識(shí)喊崖。

對(duì)被測(cè)試對(duì)象充分了解后,就可以選擇一個(gè)合適的模型來描述被測(cè)試對(duì)象菲宴。描述被測(cè)試對(duì)象的方法也有很多贷祈,常見的有等價(jià)類劃分、邊界值喝峦、判定表势誊、因果圖、狀態(tài)遷移谣蠢、場(chǎng)景分析法等粟耻。從MFQ 模型中可以看出,建模一般從三個(gè)維度進(jìn)行:M(Mode)單個(gè)功能眉踱、F(Function)功能與功能之間的關(guān)聯(lián)挤忙、Q(Quality)質(zhì)量特性。

(1)M-Mode

M-Mode based single Function Test A&D 是指基于單個(gè)功能的測(cè)試設(shè)計(jì)谈喳,這個(gè)建模方法主要是針對(duì)單一功能進(jìn)行建模的册烈,如163 郵箱注冊(cè)功能,如圖7-2 所示婿禽。

圖7-2 163 郵箱注冊(cè)界面

假設(shè)我們要對(duì)郵箱地址這個(gè)文本框進(jìn)行測(cè)試赏僧,這個(gè)字段的要求是:6~18 個(gè)字符,可使用字母扭倾、數(shù)字淀零、下劃線,需以字母開頭膛壹。通常對(duì)于這類文本框驾中,我們使用等價(jià)類劃分的方法唉堪,那么建模的時(shí)候就需要將這些功能的有效和無效等價(jià)類寫出來。

關(guān)于如何更好地針對(duì)單一功能進(jìn)行建模肩民,其通常會(huì)使用到PRDCS 的模型唠亚,7.2.2 小節(jié)中會(huì)詳細(xì)介紹。這個(gè)163 郵箱注冊(cè)的功能在介紹PRDCS 模型時(shí)將會(huì)詳細(xì)補(bǔ)充此改。

(2)F-Function

F-Function Interaction Test A&D 是指單個(gè)功能與單個(gè)功能之間的交互關(guān)系趾撵,F(xiàn)-Function(功能與功能間的關(guān)聯(lián))建模通常按以下步驟進(jìn)行:

第一步:列出所有要測(cè)試功能有關(guān)的遺留功能。通常功能與功能之間的關(guān)系是“交互”或“修改”共啃。“交互”是指遺留功能和被測(cè)試功能在處理某些事時(shí)暂题,兩者之間有數(shù)據(jù)調(diào)用;“修改”是指遺留功能因?yàn)樾略龅谋粶y(cè)試功能而需要進(jìn)行修改移剪。

第二步:列出與被測(cè)試功能相關(guān)的新功能。一般從兩個(gè)維度來劃分:一是時(shí)間關(guān)系;二是空間關(guān)系薪者。時(shí)間關(guān)系是指兩個(gè)功能之間運(yùn)行時(shí)間的先后關(guān)系纵苛,如某個(gè)功能先運(yùn)行另外一個(gè)功能后運(yùn)行,或者說兩個(gè)功能是同時(shí)運(yùn)行的;空間關(guān)系是指兩個(gè)功能是使用了相同資源言津,如內(nèi)存攻人、定時(shí)器等。

第三步:將測(cè)試功能放在第一行悬槽,將遺留功能和其他新功能放在第一列怀吻。

第四步:在交叉的單元格中將有關(guān)系的功能之間標(biāo)注“×”。

單個(gè)功能與單個(gè)功能之間的交互關(guān)系見表7-1初婆。

表7-1 功能關(guān)系模型

(3)Q-Quality

Quality 表示質(zhì)量性蓬坡,除了從那兩個(gè)維度建模之外,還應(yīng)該考慮其他質(zhì)量屬性的維度磅叛,質(zhì)量屬性維度建模的步驟如下:

第一步:選擇和定義要測(cè)試的產(chǎn)品的相關(guān)功能質(zhì)量屬性屑咳,當(dāng)然這個(gè)前提是需要對(duì)質(zhì)量模型很熟悉。

第二步:將質(zhì)量屬性寫在第一行弊琴,將測(cè)試的新功能寫在第一列兆龙。

第三步:將功能和需要測(cè)試的質(zhì)量屬性所交互的單元格畫上“×”。

度量屬性與功能關(guān)系見表7-2敲董。


表7-2 質(zhì)量屬性與功能關(guān)系

2紫皇、PRDCS 建模方法

上面介紹了M、F 和Q 三個(gè)維度的測(cè)試分析和測(cè)試設(shè)計(jì)臣缀,F(xiàn) 和Q 其實(shí)是相對(duì)簡(jiǎn)單的是一種表格模型坝橡,只要對(duì)系統(tǒng)足夠熟悉就沒有問題,但是M 這個(gè)維度是相對(duì)比較難的精置。雖然可能每次分析的測(cè)試對(duì)象不同计寇,但測(cè)試設(shè)計(jì)的技術(shù)都是大同小異的,所以通常對(duì)M 部分的測(cè)試設(shè)計(jì)進(jìn)行總結(jié),得到一個(gè)新的模型PRDCS 模型番宁。PRDCS 模型如圖7-3 的示元莫。

圖7-3 PRDCS 模型

(1)P

P是指Process 流程,如果被測(cè)試對(duì)象的設(shè)計(jì)規(guī)范中存在與“流程”相關(guān)的特性蝶押,那么可以使用P-Process 方法來建模踱蠢。

流程通常包括以下特性:

一個(gè)業(yè)務(wù)有很多個(gè)步驟完成,步驟之間有明顯的順序關(guān)系棋电。

涉及超過一個(gè)角色或觸發(fā)條件茎截。

如購票系統(tǒng)就是典型的使用流程分析法進(jìn)行設(shè)計(jì)的,如圖7-4 所示赶盔。

(2)R

R 是指Rules企锌,如果在測(cè)試對(duì)象設(shè)計(jì)規(guī)格中存在“參數(shù)或規(guī)格”含義的特性,那么可以使用R-Rules 來建模于未。

規(guī)則通常包括以下特性:

設(shè)計(jì)規(guī)格中包括很多參數(shù)撕攒。

設(shè)計(jì)規(guī)格中包含很多規(guī)則,每條規(guī)格由不同的變量和不同的值組成烘浦。

參數(shù)的數(shù)量是有限抖坪,可以較容易的識(shí)別參數(shù)間的邏輯關(guān)系。

如掃雷程序測(cè)試設(shè)計(jì)闷叉,見表7-3擦俐。

圖7-4 購票流程
表7-3 掃雷測(cè)試設(shè)計(jì)

A1 表示標(biāo)識(shí)問號(hào)方塊;

A2 表示方塊標(biāo)識(shí)紅旗;

A3 表示方塊初始狀態(tài);

A4 表示標(biāo)識(shí)數(shù)字X 且周圍已標(biāo)記正確了X 個(gè)雷;

A5 表示標(biāo)識(shí)數(shù)字且周圍沒標(biāo)X 個(gè)雷;

A6 表示標(biāo)識(shí)數(shù)字且周圍標(biāo)雷錯(cuò)誤;

B1 表示單擊左鍵;

B2 表示單擊右鍵;

B3 表示雙擊左右鍵。

(3)D

D 是指Data片习,如果在測(cè)試對(duì)象設(shè)計(jì)規(guī)格中存在“數(shù)據(jù)”的特性捌肴,那么可以使用D-Data 來建模。

數(shù)據(jù)通常包括以下特性:

每個(gè)數(shù)據(jù)有它特殊的范圍值藕咏。

數(shù)據(jù)之間沒有明顯的邏輯關(guān)系状知。

不同的數(shù)據(jù)可能存在限制。

涉及的數(shù)據(jù)總數(shù)是有限的孽查。

如注冊(cè)163 郵箱時(shí)饥悴,有一個(gè)郵箱地址字段,要求是這樣的:6~18 個(gè)字符盲再,可使用字母西设、數(shù)字、下劃線答朋,需以字母開頭贷揽。如表7-4 所示。

表7-4 注冊(cè)郵箱測(cè)試設(shè)計(jì)

(4)C

C是指Combination梦碗,如果在測(cè)試對(duì)象設(shè)計(jì)規(guī)格中數(shù)據(jù)很多禽绪,每類數(shù)據(jù)還可能有多種取值蓖救,這些取值在不同的取值情況下結(jié)果可能都不一樣,對(duì)于這類情況可以使用C-Combination 來建模印屁。

組合通常包括以下特性:

參數(shù)很多或者說數(shù)據(jù)很多循捺。

每個(gè)參數(shù)可能有很多種取值。

參數(shù)之間存在一些邏輯關(guān)系雄人。

如以下查詢的例子从橘,見表7-5。

表7-5 查詢各因子情況

根據(jù)因子設(shè)計(jì)的用例見表7-6础钠。

表7-6 根據(jù)因子設(shè)計(jì)的用例

(5)S

S是指Status恰力,如果在測(cè)試對(duì)象設(shè)計(jì)規(guī)格中存在“狀態(tài)”特性,如從某一狀態(tài)到某一狀態(tài)旗吁,對(duì)于這類情況可以使用S-Status 來建模牺勾。

狀態(tài)通常包括以下特性:

測(cè)試對(duì)象的行為變化基于它內(nèi)部的狀態(tài)。

確定的事件觸發(fā)測(cè)試對(duì)象的狀態(tài)阵漏。

常見的狀態(tài)圖如圖7-5 所示。

圖7-5狀態(tài)圖
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末翻具,一起剝皮案震驚了整個(gè)濱河市履怯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌裆泳,老刑警劉巖叹洲,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異工禾,居然都是意外死亡运提,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門闻葵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來民泵,“玉大人,你說我怎么就攤上這事槽畔≌蛔保” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵厢钧,是天一觀的道長(zhǎng)鳞尔。 經(jīng)常有香客問我,道長(zhǎng)早直,這世上最難降的妖魔是什么寥假? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮霞扬,結(jié)果婚禮上糕韧,老公的妹妹穿的比我還像新娘枫振。我一直安慰自己,他們只是感情好兔沃,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布蒋得。 她就那樣靜靜地躺著,像睡著了一般乒疏。 火紅的嫁衣襯著肌膚如雪额衙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天怕吴,我揣著相機(jī)與錄音窍侧,去河邊找鬼。 笑死转绷,一個(gè)胖子當(dāng)著我的面吹牛伟件,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播议经,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼斧账,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了煞肾?” 一聲冷哼從身側(cè)響起咧织,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎籍救,沒想到半個(gè)月后习绢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝙昙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年闪萄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奇颠。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡败去,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出大刊,到底是詐尸還是另有隱情为迈,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布缺菌,位于F島的核電站葫辐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏伴郁。R本人自食惡果不足惜耿战,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望焊傅。 院中可真熱鬧剂陡,春花似錦狈涮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晕鹊,卻和暖如春松却,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背溅话。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工晓锻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人飞几。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓砚哆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親屑墨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子躁锁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容