學(xué)習(xí)軟件測試過程中想到的問題_第1頁
學(xué)習(xí)軟件測試過程中想到的問題_第2頁
學(xué)習(xí)軟件測試過程中想到的問題_第3頁
學(xué)習(xí)軟件測試過程中想到的問題_第4頁
學(xué)習(xí)軟件測試過程中想到的問題_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件測試隨筆測試技術(shù)學(xué)習(xí)階段:時間:2010-6-31. 突然覺得將學(xué)習(xí)的所想和所感記錄下來是件令人心情愉悅的事情,所以,從今天開始,打算將自己的隨想記錄下來。2. 學(xué)習(xí)軟件測試的過程中,有種感覺,就是拿軟件測試的學(xué)習(xí)內(nèi)容對新人進(jìn)行訓(xùn)練,有時應(yīng)該會有不錯的效果。3. 軟件測試真的有必要形成一個體系,就是說怎樣將軟件測試的方法有順序有步驟的全面地實(shí)施,我覺得是很重要的。4. 在形成軟件測試的哪怕是一個簡單的體系之前,應(yīng)該首先將各個測試方法和技術(shù)徹底地搞懂。5. 目前我覺得存在問題的測試方法應(yīng)該是靜態(tài)黑盒測試和動態(tài)白盒測試。靜態(tài)黑盒測試一般用于測試產(chǎn)品說明書,動態(tài)白盒測試的方法還沒有吃透。6. 目

2、前,因?yàn)橹皇且粋€初學(xué)者,所以,學(xué)習(xí)的方法應(yīng)該還比較淺顯,我想以淺顯的為開端,再過渡到第二本軟件測試進(jìn)行學(xué)習(xí)更詳細(xì)的測試方法和技術(shù)。7. 詳細(xì)計(jì)劃上我寫的是先進(jìn)行方法和技術(shù)的學(xué)習(xí),之后再進(jìn)行實(shí)戰(zhàn)演練,但是,似乎,在進(jìn)行實(shí)戰(zhàn)練習(xí)前,對軟件測試工具有必要進(jìn)行一定的了解,所以,我想可能在學(xué)習(xí)順序上會有一定的變動,例如,在完成測試文檔之前,先進(jìn)行測試工具的學(xué)習(xí)。這個我會隨時報(bào)告。8. 通過一周來的學(xué)習(xí),體會最深的應(yīng)該是,軟件測試絕不是軟件測試員一個人閉門研究怎么造測試案例,找出軟件的缺陷,它是需要和管理人員以及程序員進(jìn)行密切溝通的。9. 軟件測試也絕不是死規(guī)矩的測試,它同樣需要靈活地對待,這也將是我學(xué)習(xí)

3、軟件測試的一個有益的挑戰(zhàn)。10. 要想成為一個優(yōu)秀的軟件測試人員,不只是要掌握我們通常所謂的黑盒測試技術(shù),白盒測試同樣有其不可替代的作用;那么,好的軟件測試員同樣也是好的程序員。時間:2010-6-41. 軟件測試關(guān)鍵技術(shù)的學(xué)習(xí)是一個過程,應(yīng)該不可能將所有技術(shù)都掌握到位,有選擇的進(jìn)行學(xué)習(xí)是策略。2.運(yùn)用測試技術(shù)階段:時間:2010-08-01在實(shí)際進(jìn)行測試(主要是DAP測試)過程中,認(rèn)為以下的測試技術(shù)可以應(yīng)用到:1. 代碼走查(靜態(tài)白盒測試對于有一定編碼經(jīng)驗(yàn)的測試人員來說,代碼走查有時是一個比較有效的測試問題的方法,DAP開發(fā)中,楊姐審查我寫的代碼就是一個例子。2. 正確性測試正確性測試有時也

4、叫功能測試,是測試首先要考慮的方面。在了解算法邏輯基礎(chǔ)上造數(shù)據(jù)進(jìn)行測試,所造數(shù)據(jù)最好包括了所有情況的數(shù)據(jù),注意不要一種情況對應(yīng)一組數(shù)據(jù),將所有情況的數(shù)據(jù)都一同造出后進(jìn)行測試,這樣才可能發(fā)現(xiàn)更多的問題。3. 邊界條件測試(動態(tài)黑盒測試)無外乎利用邊界值進(jìn)行測試4. 次邊界條件測試(動態(tài)黑盒測試)DAP測試:在選擇立案日上考慮次邊界條件,如,立案日:2010-4-1,考慮2010-3-30或2010-4-2等的立案日設(shè)置的預(yù)測結(jié)果差異。5. 空值和無效數(shù)據(jù)(動態(tài)黑盒測試)通常我們所說的異常數(shù)據(jù)情況(空值、無效數(shù)據(jù)等是否做了處理)6. 跟蹤測試(動態(tài)白盒測試)在整個軟件中跟蹤一批數(shù)據(jù),并查看中間結(jié)果

5、值,這樣不僅可以根據(jù)觀察結(jié)果決定更改某些測試案例,還可以查看中間結(jié)果值的輸入輸出是否正確。7. 單元測試(動態(tài)白盒測試)略對于上面的各種測試技術(shù)的應(yīng)用,通常會找到大部分的軟件缺陷,但是有時,創(chuàng)造性的方法可能會找到隱藏的錯誤。1. 像笨拙的用戶那樣做,把自己假想成什么都不懂,跳出你目前所了解的邏輯,站在用戶的層面上執(zhí)行系統(tǒng),也許你會發(fā)現(xiàn)不合理的操作步驟,不恰當(dāng)?shù)南⑤敵龅鹊取?. 在以前找到軟件缺陷的地方再試試(這點(diǎn)記得曉明之前也提出過)3. 憑借經(jīng)驗(yàn)、直覺和預(yù)感(這是更高的層次了)設(shè)計(jì)測試用例階段:1. 當(dāng)然,設(shè)計(jì)測試用例要按照所用的測試技術(shù)和方法進(jìn)行設(shè)計(jì),造數(shù)據(jù)。2. 本次DAP測試,測試發(fā)

6、現(xiàn)的問題都得利于所用的測試數(shù)據(jù),所以,我最大的感觸就是怎么造出能夠進(jìn)行有效測試的測試數(shù)據(jù),這點(diǎn),我目前還沒有成熟的想法。一般而言,對于正確性測試,只要造出幾組有代表性的數(shù)據(jù)即可,然后利用有限的數(shù)據(jù)進(jìn)行各種情況(包括空值、零值、無效數(shù)據(jù)等)的試驗(yàn);對于異常測試,一方面,需要造出特殊的數(shù)據(jù)來試驗(yàn),通俗一點(diǎn)說就是鉆空子,看能否使軟件發(fā)生異常甚至崩潰,另一方面,需要試驗(yàn)很多組隨機(jī)數(shù)據(jù)測試,通過DAP測試的實(shí)踐,利用大量的實(shí)際數(shù)據(jù)進(jìn)行測試是非常有效的排除異常情況的方法。3. 對于集成測試和系統(tǒng)測試所用的測試用例的設(shè)計(jì)思想還需要進(jìn)一步的學(xué)習(xí)和在今后的實(shí)踐中不斷地摸索。測試實(shí)施階段:1. 當(dāng)你在為尋找邏輯上

7、的不足或異常來進(jìn)行測試時,這種有目的的測試對于大家來說還都可以接受,但是到了測試的后期,我們基本上確定了算法的邏輯,搞定了所有發(fā)現(xiàn)的異常后,可能就認(rèn)為沒有必要再進(jìn)行測試了,這種想法是錯誤的,因?yàn)樗械能浖毕菀话闶遣豢赡芏急徊槌鰜淼模椅覀兇蠖鄷r候還無法在開發(fā)期內(nèi)獲得客戶數(shù)據(jù),這時,就需要有一定的耐性來把軟件測試做到最后。2. 測試實(shí)施過程中,需要試驗(yàn)大量的數(shù)據(jù),重復(fù)工作也比較多,此時,考慮利用自動化測試工具是否是更有效而快捷的測試方法,需要進(jìn)一步學(xué)習(xí)和試驗(yàn)。補(bǔ)充:測試策略回顧階段:測試技術(shù)策略:1. 在任何情況下都使用邊界值分析方法。2. 必要時用等價類劃分方法補(bǔ)充一些測試用例。3. 錯誤

8、推測法:真正的推測是不可能一開始就推測的,是在對整個系統(tǒng)熟悉的情況下,對各種情況了解的時候做出的假設(shè),覺得某地方可能會出現(xiàn)這樣的問題,或者你發(fā)現(xiàn)一個問題,在別的模塊可能也會有這種情況,還有就是由你發(fā)現(xiàn)的問題引申出來的情況的“變種”,因?yàn)殚_發(fā)人員解決問題時常不是治本的,所以要把可能的變種列舉出來。基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。例如,在介紹單元測試時曾列出許多在模塊中常見的錯誤,這些是單元測試經(jīng)驗(yàn)的總結(jié)。此外,對于在程序中容易出錯的情況,也有一些經(jīng)驗(yàn)總結(jié)出來。如輸入數(shù)據(jù)為0,或輸出數(shù)據(jù)為0是容易發(fā)生錯誤的情形,因此可選擇輸入數(shù)據(jù)為O,或使輸出

9、數(shù)據(jù)為O的例子作為測試用例。又如,輸入表格為空或輸入表格只有一行,也是容易發(fā)生錯誤的情況??蛇x擇表示這種情況的例子作為測試用例。再如,若兩個模塊間有共享變量,則要設(shè)計(jì)測試用例檢查當(dāng)讓一個模塊去修改這個共享變量的內(nèi)容后,另一個模塊的出錯情況等等。4. 對照程序邏輯,檢查已經(jīng)設(shè)計(jì)出的測試用例的邏輯覆蓋程度。根據(jù)覆蓋程度可再繼續(xù)補(bǔ)充測試用例。5. 如果程序的功能說明中含有輸入條件的組合情況,開始就利用因果圖法進(jìn)行測試(見附1)。因果圖法 測試因果圖法 測試6. 正交實(shí)驗(yàn)法, 利用因果圖來設(shè)計(jì)測試用例時, 作為輸入條件的原因與輸出結(jié)果之間的因果關(guān)系,有時很難從軟件需求規(guī)格說明中得到。往往因果關(guān)系非常龐

10、大,以至于據(jù)此因果圖而得到的測試用例數(shù)目多的驚人,給軟件測試帶來沉重的負(fù)擔(dān),為了有效地,合理地減少測試的工時與費(fèi)用,可利用正交實(shí)驗(yàn)設(shè)計(jì)方法進(jìn)行測試用例的設(shè)計(jì)(見附2)。測試方案策略:1. 根據(jù)程序的重要性和一旦發(fā)生故障將造成的損失來確定它的測試等級和測試重點(diǎn)。2. 要認(rèn)真研究,使用盡可能少的測試用例發(fā)現(xiàn)盡可能多的程序錯誤。測試計(jì)劃階段:略測試結(jié)果報(bào)告階段:1. 測試數(shù)據(jù)備份我把測試數(shù)據(jù)的備份放在了這個分類里,是出于結(jié)果的呈現(xiàn)也需要提供相應(yīng)的測試數(shù)據(jù)這點(diǎn)考慮。一個是測試數(shù)據(jù)的備份,這是一定要做的,便于問題再現(xiàn)和回歸測試。我覺得養(yǎng)成一個隨時保存測試數(shù)據(jù)的好習(xí)慣是挺必要的,因?yàn)橛袃r值的數(shù)據(jù)我們?nèi)蘸笠?/p>

11、可能會繼續(xù)用到。比如京都酒廠數(shù)據(jù),由于其數(shù)據(jù)的多樣性,用這個數(shù)據(jù)測出了很多問題。關(guān)于測試數(shù)據(jù)的備份,這里涉及到一個數(shù)據(jù)庫備份和測試數(shù)據(jù)文檔的備份問題。為什么將這個問題拿出來,因?yàn)槲冶容^有感觸,就是當(dāng)時DAP測試時,用了很多個數(shù)據(jù)庫,當(dāng)時命名也沒有考慮太多,胡亂命的名,后來想找之前用過的數(shù)據(jù)庫都找不到了,如果要找的數(shù)據(jù)還比較難造的話,就更麻煩了。文檔的命名有時也需要花一點(diǎn)心思,數(shù)據(jù)太多的話,之前利用項(xiàng)目命名遠(yuǎn)遠(yuǎn)滿足不了多個數(shù)據(jù)庫的備份,此時命名時加上日期通常是我們采取的辦法,但是可能同一個日期的數(shù)據(jù)庫又有多個,光加日期還不夠用,如此等等。此時可能你已經(jīng)備份了很多個數(shù)據(jù)庫文件,如果你想日后再查找相

12、應(yīng)的數(shù)據(jù),也許還是并不太容易。所以,我想此時,數(shù)據(jù)庫文件和數(shù)據(jù)文檔同時來做數(shù)據(jù)備份也許會更好。具體辦法如下:2. Bug管理這是需要時時更新的文檔形式。清晰記錄測試發(fā)現(xiàn)問題,方便相關(guān)開發(fā)人員查看。至于具體的形式可以靈活表現(xiàn),最常見的是帳害管理表的管理。(DAP障害管理表_20101108)3. 結(jié)果報(bào)告書測試完成后的成果物,需要表現(xiàn)測試的整個過程。測試工具使用階段:不要盲目追求自動化,根據(jù)產(chǎn)品目標(biāo)按時完成測試任務(wù),保證質(zhì)量才是關(guān)鍵(測試小組成員,可以一部份做自動化,一部份做手工測試,把自動化測試后期效率與手工測試當(dāng)時效率結(jié)合起來,互補(bǔ)完成任務(wù))。1)完善手工測試流程(自動化測試與手工測試,思想

13、上是一致的,自動化基本是代替手工,進(jìn)行操作,手工完善了,自動化只是工具如何使用的問題)2)完善測試用例(在完善的過程中,你會產(chǎn)生使用自動測試工具的想法,這時去運(yùn)用最有效;如測試用例非常齊全,有大量數(shù)據(jù)輸入,你就會想要有什么工具代替我輸入就好了;)3)將所有工作中的特定部分作為應(yīng)用自動化的候選對象(比如軟件各組件自動安裝過程)4)從高度冗余的任務(wù)或場景開始考慮 (比如:大量的數(shù)據(jù)輸入,驗(yàn)證翻頁)5)將乏味且人工容易出錯的工作進(jìn)行自動化 (比如:結(jié)果比較或計(jì)算值,核算數(shù)據(jù)等)6)首先關(guān)注開發(fā)成熟、理解透徹的用例或場景(比如:測試用例足夠測試一個功能)7)優(yōu)先選擇應(yīng)用中相對穩(wěn)定的部分,而非易變的部分

14、(比如:回歸測試時,不僅要驗(yàn)證bug,測試新的功能,還要測試已經(jīng)穩(wěn)定的功能,這時對這穩(wěn)定的功能就可以進(jìn)行一定程度的自動化)8)想到一個問題是測試數(shù)據(jù)的備份和維護(hù),這時是否考慮用測試工具更好呢?附1因果圖法(黑盒測試)一.    方法簡介1.定義:是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測試用例的方法,它適合于檢查程序輸入條件的各種組合情況。2.因果圖法產(chǎn)生的背景:等價類劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合、輸入條件之間的相互制約關(guān)系。這樣雖然各種輸入條件可能出錯的情況已經(jīng)測試到了,但多個輸入條件組合起來可能出錯的情況卻被

15、忽視了。如果在測試時必須考慮輸入條件的各種組合,則可能的組合數(shù)目將是天文數(shù)字,因此必須考慮采用一種適合于描述多種條件的組合、相應(yīng)產(chǎn)生多個動作的形式來進(jìn)行測試用例的設(shè)計(jì),這就需要利用因果圖(邏輯模型)。3.因果圖介紹1) 4種符號分別表示了規(guī)格說明中向4種因果關(guān)系。 2) 因果圖中使用了簡單的邏輯符號,以直線聯(lián)接左右結(jié)點(diǎn)。左結(jié)點(diǎn)表示輸入狀態(tài)(或稱原因),右結(jié)點(diǎn)表示輸出狀態(tài)(或稱結(jié)果)。3) Ci表示原因,通常置于圖的左部;ei表示結(jié)果,通常在圖的右部。Ci和ei均可取值0或1,0表示某狀態(tài)不出現(xiàn),1表示某狀態(tài)出現(xiàn)。4. 因果圖概念1)  

16、;  關(guān)系恒等:若ci是1,則ei也是1;否則ei為0。非:若ci是1,則ei是0;否則ei是1?;颍喝鬰1或c2或c3是1,則ei是1;否則ei為0?!盎颉笨捎腥我鈧€輸入。與:若c1和c2都是1,則ei為1;否則ei為0?!芭c”也可有任意個輸入。2)    約束輸入狀態(tài)相互之間還可能存在某些依賴關(guān)系,稱為約束。例如, 某些輸入條件本身不可能同時出現(xiàn)。輸出狀態(tài)之間也往往存在約束。在因果圖中,用特定的符號標(biāo)明這些約束。 A.輸入條件的約束有以下4類:   E約束(異):a和b中至多有一個可能為1,即a和b不能同時為1。

17、0;  I約束(或):a、b和c中至少有一個必須是1,即 a、b 和c不能同時為0。   O約束(唯一);a和b必須有一個,且僅有1個為1。   R約束(要求):a是1時,b必須是1,即不可能a是1時b是0。B.輸出條件約束類型   輸出條件的約束只有M約束(強(qiáng)制):若結(jié)果a是1,則結(jié)果b強(qiáng)制為0。5. 采用因果圖法設(shè)計(jì)測試用例的步驟:1)分析軟件規(guī)格說明描述中, 那些是原因(即輸入條件或輸入條件的等價類),那些是結(jié)果(即輸出條件), 并給每個原因和結(jié)果賦予一個標(biāo)識符。2)分析軟件規(guī)格說明描述中的語義,找

18、出原因與結(jié)果之間, 原因與原因之間對應(yīng)的關(guān)系,根據(jù)這些關(guān)系,畫出因果圖。3)由于語法或環(huán)境限制, 有些原因與原因之間,原因與結(jié)果之間的組合情況不可能出現(xiàn),為表明這些特殊情況, 在因果圖上用一些記號表明約束或限制條件。4)把因果圖轉(zhuǎn)換為判定表。5)把判定表的每一列拿出來作為依據(jù),設(shè)計(jì)測試用例。二. 實(shí)戰(zhàn)演習(xí)1. 某軟件規(guī)格說明書包含這樣的要求:第一列字符必須是A或B,第二列字符必須是一個數(shù)字,在此情況下進(jìn)行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。解答:1) 根據(jù)題意,原因和結(jié)果如下:    

19、;   原因:          1第一列字符是A;          2第一列字符是B;          3第二列字符是一數(shù)字。       結(jié)果:       &#

20、160;  21修改文件;          22 給出信息L;          23給出信息M。2) 其對應(yīng)的因果圖如下:11為中間節(jié)點(diǎn);考慮到原因1和原因2不可能同時為1,因此在因果圖上施加E約束。 3)根據(jù)因果圖建立判定表。        表中8種情況的左面兩列情況中,原因和原因同時為1,這是不可能出現(xiàn)的,故應(yīng)

21、排除這兩種情況。表的最下一欄給出了6種情況的測試用例,這是我們所需要的數(shù)據(jù)。2.有一個處理單價為5角錢的飲料的自動售貨機(jī)軟件測試用例的設(shè)計(jì)。其規(guī)格說明如下:若投入5角錢或1元錢的硬幣,押下橙汁或啤酒的按鈕,則相應(yīng)的飲料就送出來。若售貨機(jī)沒有零錢找,則一個顯示零錢找完的紅燈亮,這時在投入1元硬幣并押下按鈕后,飲料不送出來而且1元硬幣也退出來;若有零錢找,則顯示零錢找完的紅燈滅,在送出飲料的同時退還5角硬幣。1) 分析這一段說明,列出原因和結(jié)果原因:1.售貨機(jī)有零錢找2.投入1元硬幣3.投入5角硬幣4.押下橙汁按鈕5.押下啤酒按鈕結(jié)果:21.售貨機(jī)零錢找完燈亮  &#

22、160;22.退還1元硬幣23.退還5角硬幣             24.送出橙汁飲料25.送出啤酒飲料2)畫出因果圖,如圖所示。所有原因結(jié)點(diǎn)列在左邊,所有結(jié)果結(jié)點(diǎn)列在右邊。建立中間結(jié)點(diǎn),表示處理的中間狀態(tài)。中間結(jié)點(diǎn):11. 投入1元硬幣且押下飲料按鈕                12. 押下橙汁或啤酒的按鈕  &

23、#160;             13. 應(yīng)當(dāng)找5角零錢并且售貨機(jī)有零錢找                14. 錢已付清 3)轉(zhuǎn)換成判定表: 4) 在判定表中,陰影部分表示因違反約束條件的不可能出現(xiàn)的情況,刪去。第16列與第32列因什么動作也沒做,也刪去。最后可根據(jù)剩下的16列作為確定測試用例的依據(jù)。附2一、正交表

24、的由來拉丁方名稱的由來 古希臘是一個多民族的國家,國王在檢閱臣民時要求每個方隊(duì)中每行有一個民族代表,每列也要有一個民族的代表。數(shù)學(xué)家在設(shè)計(jì)方陣時,以每一個拉丁字母表示一個民族,所以設(shè)計(jì)的方陣稱為拉丁方。什么是n階拉丁方?用n個不同的拉丁字母排成一個n階方陣(n<26 ),如果每行的n個字母均不相同,每列的n個字母均不相同,則稱這種方陣為n*n拉丁方或n階拉丁方。每個字母在任一行、任一列中只出現(xiàn)一次。什么是正交拉丁方? 設(shè)有兩個n階的拉丁方,如果將它們疊合在一起,恰好出現(xiàn)n2個不同的有序數(shù)對,則稱為這兩個拉丁方為互相正交的拉丁方,簡稱正交拉丁方。例如:3階拉丁方用數(shù)字替代拉丁字母:二、正交

25、實(shí)驗(yàn)法正交試驗(yàn)設(shè)計(jì)(Orthogonal experimental design)是研究多因素多水平的又一種設(shè)計(jì)方法,它是根據(jù)正交性從全面試驗(yàn)中挑選出部分有代表性的點(diǎn)進(jìn)行試驗(yàn),這些有代表性的點(diǎn)具備了“均勻分散,齊整可比”的特點(diǎn),正交試驗(yàn)設(shè)計(jì)是分式析因設(shè)計(jì)的主要方法。是一種高效率、快速、經(jīng)濟(jì)的實(shí)驗(yàn)設(shè)計(jì)方法。日本著名的統(tǒng)計(jì)學(xué)家田口玄一將正交試驗(yàn)選擇的水平組合列成表格,稱為正交表。例如作一個三因素三水平的實(shí)驗(yàn),按全面實(shí)驗(yàn)要求,須進(jìn)行33=27種組合的實(shí)驗(yàn),且尚未考慮每一組合的重復(fù)數(shù)。若按L9(33) 正交表按排實(shí)驗(yàn),只需作9次,按L18(37) 正交表進(jìn)行18次實(shí)驗(yàn),顯然大大減少了工作量。因而正交實(shí)

26、驗(yàn)設(shè)計(jì)在很多領(lǐng)域的研究中已經(jīng)得到廣泛應(yīng)用。 利用因果圖來設(shè)計(jì)測試用例時, 作為輸入條件的原因與輸出結(jié)果之間的因果關(guān)系,有時很難從軟件需求規(guī)格說明中得到。往往因果關(guān)系非常龐大,以至于據(jù)此因果圖而得到的測試用例數(shù)目多的驚人,給軟件測試帶來沉重的負(fù)擔(dān),為了有效地,合理地減少測試的工時與費(fèi)用,可利用正交實(shí)驗(yàn)設(shè)計(jì)方法進(jìn)行測試用例的設(shè)計(jì)。正交實(shí)驗(yàn)設(shè)計(jì)方法:依據(jù)Galois理論,從大量的(實(shí)驗(yàn))數(shù)據(jù)(測試?yán)┲刑暨x適量的、有代表性的點(diǎn)(例),從而合理地安排實(shí)驗(yàn)(測試)的一種科學(xué)實(shí)驗(yàn)設(shè)計(jì)方法。類似的方法有:聚類分析方法、因子方法方法等。三、利用正交實(shí)驗(yàn)設(shè)計(jì)測試用例的步驟: (1)提取功能說明,構(gòu)造因子-狀態(tài)表

27、 把影響實(shí)驗(yàn)指標(biāo)的條件稱為因子,而影響實(shí)驗(yàn)因子的條件叫因子的狀態(tài)。利用正交實(shí)驗(yàn)設(shè)計(jì)方法來設(shè)計(jì)測試用例時,首先要根據(jù)被測試軟件的規(guī)格說明書找出影響其功能實(shí)現(xiàn)的操作對象和外部因素,把他們當(dāng)作因子;而把各個因子的取值當(dāng)作狀態(tài)。對軟件需求規(guī)格說明中的功能要求進(jìn)行劃分,把整體的、概要性的功能要求進(jìn)行層層分解與展開,分解成具體的有相對獨(dú)立性的、基本的功能要求。這樣就可以把被測試軟件中所有的因子都確定下來,并為確定每個因子的權(quán)值提供參考的依據(jù)。確定因子與狀態(tài)是設(shè)計(jì)測試用例的關(guān)鍵。因此要求盡可能全面的、正確的確定取值,以確保測試用例的設(shè)計(jì)作到完整與有效。 (2)加權(quán)篩選,生成因素分析表 對因子與狀態(tài)的選擇可按

28、其重要程度分別加權(quán)??筛鶕?jù)各個因子及狀態(tài)的作用大小、出現(xiàn)頻率的大小以及測試的需要,確定權(quán)值的大小。 (3)利用正交表構(gòu)造測試數(shù)據(jù)集 利用正交實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)測試用例,比使用等價類劃分、邊界值分析、因果圖等方法有以下優(yōu)點(diǎn):節(jié)省測試工作工時;可控制生成的測試用例數(shù)量;測試用例具有一定的覆蓋率。在使用正交實(shí)驗(yàn)法時,要考慮到被測系統(tǒng)中要準(zhǔn)備測試的功能點(diǎn),而這些功能點(diǎn)就是要獲取的因子或因素,但每個功能點(diǎn)要輸入的數(shù)據(jù)按等價類劃分有多個,也就是每個因素的輸入條件,即狀態(tài)或水平值。四、正交表的構(gòu)成行數(shù)(Runs):正交表中的行的個數(shù),即試驗(yàn)的次數(shù),也是我們通過正交實(shí)驗(yàn)法設(shè)計(jì)的測試用例的個數(shù)。 因素?cái)?shù)(Fact

29、ors) :正交表中列的個數(shù),即我們要測試的功能點(diǎn)。 水平數(shù)(Levels):任何單個因素能夠取得的值的最大個數(shù)。正交表中的包含的值為從0到數(shù)“水平數(shù)-1”或從1到“水平數(shù)” 。即要測試功能點(diǎn)的輸入條件。正交表的形式:L行數(shù)(水平數(shù)因素?cái)?shù)) 如:L8(27)五、正交表的正交性整齊可比性在同一張正交表中,每個因素的每個水平出現(xiàn)的次數(shù)是完全相同的。由于在試驗(yàn)中每個因素的每個水平與其它因素的每個水平參與試驗(yàn)的機(jī)率是完全相同的,這就保證在各個水平中最大程度的排除了其它因素水平的干擾。因而,能最有效地進(jìn)行比較和作出展望,容易找到好的試驗(yàn)條件。均衡分散性在同一張正交表中,任意兩列(兩個因素)的水平搭配(橫

30、向形成的數(shù)字對)是完全相同的。這樣就保證了試驗(yàn)條件均衡地分散在因素水平的完全組合之中,因而具有很強(qiáng)的代表性,容易得到好的試驗(yàn)條件。用正交實(shí)驗(yàn)法設(shè)計(jì)測試用例以上介紹了正交實(shí)驗(yàn)法的由來。怎么用正交實(shí)驗(yàn)法進(jìn)行用例的設(shè)計(jì)呢?一、用正交表設(shè)計(jì)測試用例的步驟(1) 有哪些因素(變量)(2) 每個因素有哪幾個水平(變量的取值)(3) 選擇一個合適的正交表(4) 把變量的值映射到表中(5) 把每一行的各因素水平的組合做為一個測試用例(6) 加上你認(rèn)為可疑且沒有在表中出現(xiàn)的組合二、如何選擇正交表· 考慮因素(變量)的個數(shù) · 考慮因素水平(變量的取值)的個數(shù) · 考慮正交表的行數(shù)

31、· 取行數(shù)最少的一個 三、設(shè)計(jì)測試用例時的三種情況(1)因素?cái)?shù)(變量)、水平數(shù)(變量值)相符(2)因素?cái)?shù)不相同(3)水平數(shù)不相同四、我們來看看第一種情況:(1)因素?cái)?shù)與水平數(shù)剛好符合正交表 我們舉個例子: 這是個人信息查詢系統(tǒng)中的一個窗口。我們可以看到要測試的控件有3個:姓名、身份證號碼、手機(jī)號碼,也就是要考慮的因素有三個;而每個因素里的狀態(tài)有兩個:填與不填。選擇正交表時分析一下:1、表中的因素?cái)?shù)>=3;2、表中至少有3個因素?cái)?shù)的水平數(shù)>=2;3、行數(shù)取最少的一個。從正交表公式中開始查找,結(jié)果為:L4(23)變量映射:測試用例如下:1:填寫姓名、填寫身份證號、填寫手機(jī)號2

32、:填寫姓名、不填身份證號、不填手機(jī)號3:不填姓名、填寫身份證號、不填手機(jī)號4:不填姓名、不填身份證號、填寫手機(jī)號增補(bǔ)測試用例5:不填姓名、不填身份證號、不填手機(jī)號從測試用例可以看出:如果按每個因素兩個水平數(shù)來考慮的話,需要8個測試用例,而通過正交實(shí)驗(yàn)法進(jìn)行的測試用例只有5個,大大減少了測試用例數(shù)。用最小的測試用例集合去獲取最大的測試覆蓋率。(2)因素?cái)?shù)不相同如果因素?cái)?shù)不同的話,可以采用包含的方法,在正交表公式中找到包含該情況的公式,如果有N個符合條件的公式,那么選取行數(shù)最少的公式。(3)水平數(shù)不相同采用包含和組合的方法選取合適的正交表公式。正交實(shí)驗(yàn)法的又一個例子上面就正交實(shí)驗(yàn)法進(jìn)行了講解,現(xiàn)在

33、再拿PowerPoint軟件打印功能作為例子,希望能為大家更好地理解給方法的具體應(yīng)用假設(shè)功能描述如下:· 打印范圍分:全部、當(dāng)前幻燈片、給定范圍 共三種情況; · 打印內(nèi)容分:幻燈片、講義、備注頁、大綱視圖 共四種方式; · 打印顏色/灰度分: 顏色、灰度、黑白 共三種設(shè)置; · 打印效果分:幻燈片加框和幻燈片不加框兩種方式。 因素狀態(tài)表:狀態(tài)/因素A打印范圍B打印內(nèi)容C打印顏色/灰度D打印效果0全部幻燈片顏色幻燈片加框1當(dāng)前幻燈片講義灰度幻燈片不加框2給定范圍備注頁黑白 3 大綱視圖  我們先將中文字轉(zhuǎn)換成字母,

34、便于設(shè)計(jì)。得到:因素狀態(tài)表:狀態(tài)/因素A B C D 0A1B1C1D11A2B2C2D22A3B3C3 3 B4  我們分析一下:被測項(xiàng)目中一共有四個被測對象,每個被測對象的狀態(tài)都不一樣。選擇正交表:1、表中的因素?cái)?shù)>=42、表中至少有4個因素的水平數(shù)>=23、行數(shù)取最少的一個最后選中正交表公式:L16(45)正交矩陣為:123451000002011113022224033335101236110327123018132109202311021320112201312231021330312143120315321301633021用字母

35、替代正交矩陣:123451A1B1C1D102A1B2C2D213A1B3C3224A1B43335A2B1C2236A2B2C1327A2B33D118A2B4C3D209A3B1C33110A3B232011A3B3C1D2312A3B4C2D12133B13D22143B2C3D13153B3C230163B4C121我們看到:第一列水平值為3、第三列水平值為3、第四列水平值3、2都需要由各自的字母替代。123451A1B1C1D102A1B2C2D213A1B3C3D124A1B4C1D235A2B1C2D136A2B2C1D227A2B3C2D118A2B4C3D209A3B1C3D

36、2110A3B2C3D1011A3B3C1D2312A3B4C2D1213A1B1C1D2214A2B2C3D1315A3B3C2D2016A1B4C1D11第五列去掉沒有意義。通過分析,由于四個因素里有三個的水平值小于3,所以從第13行到16行的測試用例可以忽略。那么這樣的話,就可以有12個測試用例了:1、測試用例編號PPTSTFUNCTIONPRINT001測試項(xiàng)目測試powerpoint打印功能測試標(biāo)題打印PowerPoint文件A全部的幻燈片,有顏色,加框重要級別高預(yù)置條件PowerPoint文件A已被打開,電腦主機(jī)已連接有效打印機(jī)輸入文件A:D:系統(tǒng)測試.ppt操作步驟1、打開打印界

37、面;2、打印范圍選擇“全部”;3、打印內(nèi)容選擇“幻燈片”;4、顏色/灰度選擇“顏色”;5、在“幻燈片加框”前打勾;6、點(diǎn)擊“確定”。                         預(yù)期輸出打印出全部幻燈片,有顏色且已加框。2、測試用例編號PPTST FUNCTIONPRINT002測試項(xiàng)目測試powerpoint打印功能測試標(biāo)題打印PowerPoint文件

38、A全部的幻燈片為講義,灰度,不加框重要級別中預(yù)置條件PowerPoint文件A已被打開,電腦主機(jī)已連接有效打印機(jī)輸入文件A:D:系統(tǒng)測試.ppt操作步驟1、打開打印界面;2、打印范圍選擇“全部”;3、打印內(nèi)容選擇“講義”;4、顏色/灰度選擇“灰度”;5、點(diǎn)擊“確定”。       預(yù)期輸出打印出全部幻燈片為講義,灰度且不加框。3、測試用例編號PPTSTFUNCTIONPRINT003測試項(xiàng)目測試powerpoint打印功能測試標(biāo)題打印PowerPoint文件A全部的備注頁,黑白,加框重要級別中預(yù)置條件PowerPoint文件A已被打開

39、,電腦主機(jī)已連接有效打印機(jī)輸入文件A:D:系統(tǒng)測試.ppt操作步驟1、打開打印界面;2、打印范圍選擇“全部”;3、打印內(nèi)容選擇“備注頁”;4、顏色/灰度選擇“黑白”;5、在“幻燈片加框”前打勾;6、點(diǎn)擊“確定”。                         預(yù)期輸出打印出全部備注頁,黑白且已加框。4、測試用例編號PPTSTFUNCTIONPRINT004

40、測試項(xiàng)目測試powerpoint打印功能測試標(biāo)題打印PowerPoint文件A全部的大綱視圖,黑白重要級別中預(yù)置條件PowerPoint文件A已被打開,電腦主機(jī)已連接有效打印機(jī)輸入文件A:D:系統(tǒng)測試.ppt操作步驟1、打開打印界面;2、打印范圍選擇“全部”;3、打印內(nèi)容選擇“大綱視圖”;4、顏色/灰度選擇“黑白”;5、點(diǎn)擊“確定”。                      

41、   預(yù)期輸出打印出全部大綱視圖,黑白5、測試用例編號PPTSTFUNCTIONPRINT005測試項(xiàng)目測試powerpoint打印功能測試標(biāo)題打印PowerPoint文件A當(dāng)前幻燈片,灰度,加框重要級別中預(yù)置條件PowerPoint文件A已被打開,電腦主機(jī)已連接有效打印機(jī)輸入文件A:D:系統(tǒng)測試.ppt操作步驟1、打開打印界面;2、打印范圍選擇“當(dāng)前幻燈片”;3、打印內(nèi)容選擇“幻燈片”;4、顏色/灰度選擇“灰度”;5、在“幻燈片加框”前打勾;6、點(diǎn)擊“確定”。         

42、60;               預(yù)期輸出打印出當(dāng)前幻燈片,灰度且已加框。6、測試用例編號PPTSTFUNCTIONPRINT006測試項(xiàng)目測試powerpoint打印功能測試標(biāo)題打印PowerPoint文件A當(dāng)前幻燈片為講義,黑白,加框重要級別中預(yù)置條件PowerPoint文件A已被打開,電腦主機(jī)已連接有效打印機(jī)輸入文件A:D:系統(tǒng)測試.ppt操作步驟1、打開打印界面;2、打印范圍選擇“當(dāng)前幻燈片”;3、打印內(nèi)容選擇“講義”;4、顏色/灰度選擇“黑白”

43、;5、在“幻燈片加框”前打勾;6、點(diǎn)擊“確定”。                         預(yù)期輸出打印出當(dāng)前幻燈片為講義,黑白且已加框。7、測試用例編號PPTSTFUNCTIONPRINT007測試項(xiàng)目測試powerpoint打印功能測試標(biāo)題打印PowerPoint文件A當(dāng)前幻燈片的備注頁,有顏色,不加框重要級別中預(yù)置條件PowerPoint文件A已

44、被打開,電腦主機(jī)已連接有效打印機(jī)輸入文件A:D:系統(tǒng)測試.ppt操作步驟1、打開打印界面;2、打印范圍選擇“當(dāng)前幻燈片”;3、打印內(nèi)容選擇“備注頁”;4、顏色/灰度選擇“顏色”;5、點(diǎn)擊“確定”。                         預(yù)期輸出打印出當(dāng)前幻燈片的備注頁,有顏色且不加框。8、測試用例編號PPTSTFUNCTIONPRINT008測試項(xiàng)

45、目測試powerpoint打印功能測試標(biāo)題打印PowerPoint文件A當(dāng)前幻燈片的大綱視圖,有顏色重要級別中預(yù)置條件PowerPoint文件A已被打開,電腦主機(jī)已連接有效打印機(jī)輸入文件A:D:系統(tǒng)測試.ppt操作步驟1、打開打印界面;2、打印范圍選擇“當(dāng)前幻燈片”;3、打印內(nèi)容選擇“大綱視圖”;4、顏色/灰度選擇“顏色”;5、點(diǎn)擊“確定”。                     &#

46、160;   預(yù)期輸出打印出當(dāng)前幻燈片為講義,黑白且已加框。9、測試用例編號PPTSTFUNCTIONPRINT009測試項(xiàng)目測試powerpoint打印功能測試標(biāo)題打印PowerPoint文件A給定范圍的幻燈片,黑白,不加框重要級別中預(yù)置條件PowerPoint文件A已被打開,電腦主機(jī)已連接有效打印機(jī)輸入文件A:D:系統(tǒng)測試.ppt操作步驟1、打開打印界面;2、打印范圍選擇“幻燈片”;3、打印內(nèi)容選擇“幻燈片”;4、顏色/灰度選擇“黑白”;5、點(diǎn)擊“確定”。            

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論