測(cè)試用例是為特定的目的而設(shè)計(jì)的一組測(cè)試輸入、執(zhí)行條件和預(yù)期的結(jié)果。測(cè)試用例是執(zhí)行的最小實(shí)體。
開始點(diǎn):當(dāng)需求已經(jīng)被記載和復(fù)查,相關(guān)的測(cè)試方案已獲批準(zhǔn)的時(shí)候,測(cè)試用例開發(fā)才開始。
結(jié)束點(diǎn):測(cè)試用例是用于整個(gè)測(cè)試執(zhí)行階段,并且為后續(xù)項(xiàng)目回歸測(cè)試用例重用而保留。
測(cè)試用例的作用:測(cè)試用例是執(zhí)行的最小實(shí)體。簡(jiǎn)單地說,測(cè)試用例就是設(shè)計(jì)一個(gè)場(chǎng)景,使軟件程序在這種場(chǎng)景下,必須能夠正常運(yùn)行并且達(dá)到程序所設(shè)計(jì)的執(zhí)行結(jié)果。
測(cè)試數(shù)據(jù)的內(nèi)容:
測(cè)試用例在執(zhí)行過程中,需要一些數(shù)據(jù)輸入。測(cè)試數(shù)據(jù)準(zhǔn)備就是在這些測(cè)試用例執(zhí)行前,準(zhǔn)備一些這些測(cè)試用例需要的測(cè)試數(shù)據(jù)。測(cè)試數(shù)據(jù)和測(cè)試用例的結(jié)合,產(chǎn)生一個(gè)可重復(fù)使用的,獨(dú)特的,可追溯至應(yīng)用需求的測(cè)試場(chǎng)景。
開始點(diǎn):當(dāng)測(cè)試方案已獲批準(zhǔn)后,測(cè)試數(shù)據(jù)準(zhǔn)備與測(cè)試用例開發(fā)進(jìn)行。
結(jié)束點(diǎn):在測(cè)試準(zhǔn)備期間和整個(gè)測(cè)試執(zhí)行期間,測(cè)試數(shù)據(jù)將被積極地使用和完善。所有測(cè)試數(shù)據(jù)將被保留為回歸測(cè)試和后續(xù)項(xiàng)目的自動(dòng)化重用。
測(cè)試數(shù)據(jù)的作用:測(cè)試數(shù)據(jù)對(duì)可重復(fù)使用的測(cè)試用例具有非常重要的支持性,支持應(yīng)用程序的質(zhì)量分析的定義。
測(cè)試用例可以被反復(fù)使用,在回歸測(cè)試的時(shí)候測(cè)試,或者在下一測(cè)試階段的時(shí)候或者在下一軟件版本的時(shí)候會(huì)反復(fù)用到這些測(cè)試用例。有些時(shí)候原封不動(dòng)的使用這些用例,有些時(shí)候是要做一些修改優(yōu)化,有些時(shí)候是要做一些。
有些時(shí)候在做測(cè)試準(zhǔn)備的時(shí)候,要花很多時(shí)間建立測(cè)試環(huán)境和測(cè)試數(shù)據(jù),而測(cè)試執(zhí)行卻花很少的時(shí)間。測(cè)試數(shù)據(jù)對(duì)測(cè)試的驗(yàn)證和測(cè)試結(jié)果的分析,具有重要的意義,特別是對(duì)測(cè)試結(jié)果的分析具有支撐意義。
測(cè)試設(shè)計(jì)的能力應(yīng)該是測(cè)試工程師應(yīng)該具有的很重要的能力之一。在我的博文《測(cè)試用例設(shè)計(jì)步驟》中包含到有少量關(guān)于測(cè)試分析的,請(qǐng)讀者自行到網(wǎng)上搜索測(cè)試分析的相關(guān)知識(shí),本理論在此不做介紹。
在我的博文《測(cè)試數(shù)據(jù)的選擇》和《軟件測(cè)試數(shù)據(jù)的準(zhǔn)備》等博文中有介紹測(cè)試數(shù)據(jù)的相關(guān)知識(shí),故在這里不再做過多的討論。
在我的博文《測(cè)試用例基本概念》、《測(cè)試用例設(shè)計(jì)白皮書--等價(jià)類劃分方法》和《測(cè)試用例的粒度的討論》等博文中有關(guān)于測(cè)試用例測(cè)試的詳細(xì)討論。
相關(guān)鏈接:
IBM軟件測(cè)試?yán)碚?#8212;—測(cè)試類型和測(cè)試階段
BM軟件測(cè)試?yán)碚?#8212;—測(cè)試類型和測(cè)試階段



從第一張圖片可以看出,最上面一條是典型的軟件開發(fā)生命周期,那是一條時(shí)間軸,給下面的測(cè)試定 義在那項(xiàng)測(cè)試發(fā)生在軟件生命周期上的哪一部分做參考。很多不懂測(cè)試的或者只是懂點(diǎn)點(diǎn)測(cè)試知識(shí)的朋友,對(duì)測(cè)試中的很多定義是混亂的,把各類按照不同標(biāo)準(zhǔn)劃分 的測(cè)試類型混在啦一起。這一節(jié)將會(huì)把按照不同標(biāo)準(zhǔn)劃分的測(cè)試類型講述清楚,后面的章節(jié)會(huì)把這些測(cè)試中的定義闡述得比較清楚。
從軟件質(zhì)量保證上來劃分測(cè)試,測(cè)試可以劃分成靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試就是指不運(yùn)行被測(cè)程序本身,僅通過分析或檢查源程序的文法、結(jié)構(gòu)、過 程、接口等來檢查程序的正確性,靜態(tài)測(cè)試可以分為代碼審查、代碼走讀、文檔審查等行為。動(dòng)態(tài)測(cè)試是指通過運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并 分析運(yùn)行效率和健壯性等性能的測(cè)試過程。從那條參考的時(shí)間軸上來看,動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試可以發(fā)生在整個(gè)軟件生命周期的全過程。關(guān)于靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試的更 多討論在我的博文《靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試》中有比較詳細(xì)的討論。
按照測(cè)試技術(shù)(test techniques)劃分,測(cè)試可以劃分為白盒測(cè)試、黑盒測(cè)試和灰盒測(cè)試。在這套理論的介紹中,后面會(huì)有專門的一節(jié)來介紹這三種測(cè)試。其中灰盒測(cè)試是指 白盒和灰盒測(cè)試相混合的一種測(cè)試。從那條參考的時(shí)間軸來看,白盒測(cè)試發(fā)生時(shí)間比較靠前,黑盒測(cè)試發(fā)生時(shí)間比較靠后,而灰盒測(cè)試發(fā)生的時(shí)間介于2者之間。
按照測(cè)試階段(test levels)劃分,測(cè)試可以劃分單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、系統(tǒng)集成測(cè)試、用戶驗(yàn)收測(cè)試和維護(hù)測(cè)試,這一劃分是根據(jù)軟件生命周期和測(cè)試生命周期中自然形成的階段進(jìn)行劃分的,當(dāng)然越靠前的測(cè)試越先進(jìn)行。
從第二幅圖可以看出,單元測(cè)試和集成測(cè)試是由開發(fā)團(tuán)隊(duì)來做的,而集成測(cè)試和系統(tǒng)集成測(cè)試是由測(cè)試人員來做的,用戶驗(yàn)收測(cè)試是由用戶和測(cè)試團(tuán)隊(duì)來 做的,及時(shí)用戶不參與,測(cè)試人員也是在用戶的角度進(jìn)行測(cè)試的,這里沒有做維護(hù)方面的測(cè)試。單元測(cè)試是指針對(duì)各個(gè)單元模塊進(jìn)行的測(cè)試;集成測(cè)試就是由更多的 已經(jīng)完成了單元測(cè)試的測(cè)試單元構(gòu)成的測(cè)試,集成測(cè)試仍然不是在一個(gè)完整的測(cè)試過程上測(cè)試;系統(tǒng)測(cè)試是程序第一次以一個(gè)完整的個(gè)體形式進(jìn)行運(yùn)行而進(jìn)行的測(cè) 試;而系統(tǒng)集成測(cè)試在系統(tǒng)測(cè)試的基礎(chǔ)上,還要關(guān)注整個(gè)軟件系統(tǒng)與外界的交互,比如調(diào)用打印機(jī),比如與本軟件系統(tǒng)以外的其他系統(tǒng)進(jìn)行交互;用戶驗(yàn)收測(cè)試也就 是通常大家所說的UAT,這個(gè)時(shí)候整個(gè)軟件系統(tǒng)已經(jīng)有了比較好運(yùn)行狀態(tài),可以接受用戶驗(yàn)收測(cè)試?yán)?。每一階段的結(jié)束被看做是輸出,都是作為下一階段的輸入, 在測(cè)試流程上有明確的定義什么這些輸入和輸出的標(biāo)準(zhǔn),后面的章節(jié)會(huì)對(duì)這些標(biāo)準(zhǔn)做詳細(xì)的闡述。每一階段的測(cè)試,都應(yīng)該包含前一階段的測(cè)試內(nèi)容,也就是前一階 段的測(cè)試內(nèi)容,但是側(cè)重點(diǎn)不一樣,從紅色的箭頭和紅色的邊框可以看出各個(gè)階段的測(cè)試側(cè)重點(diǎn)。比如UAT過程中遇到了不屬于UAT測(cè)試項(xiàng)的bug,當(dāng)然也是 屬于UAT的內(nèi)容。
按照測(cè)試類型(test types)劃分,這些劃分包含審計(jì)和控制、文檔和過程、功能、需求、接口、回歸測(cè)試、備份和恢復(fù)、工作流、性能、壓力、容量、變換、安裝、錯(cuò)誤處理、并 行、事物流、可用、UI、可操作性和安全性等方面的測(cè)試。具體的一些測(cè)試類型的定義,可以從網(wǎng)上搜索得知。
各個(gè)測(cè)試類型可以發(fā)生在各個(gè)的測(cè)試階段,從第三幅圖可以看出,每個(gè)測(cè)試階段所涉及到的測(cè)試類型,而靜態(tài)測(cè)試應(yīng)該和這些測(cè)試階段并列開來,也可以 理解成這些測(cè)試階段都是屬于動(dòng)態(tài)測(cè)試的。從橫行可以看出錯(cuò)誤處理和回歸測(cè)試發(fā)生在所有的測(cè)試階段,因?yàn)槊總€(gè)階段都會(huì)有bug,有bug就會(huì)有回歸,當(dāng)然回 歸測(cè)試會(huì)發(fā)生在各個(gè)測(cè)試階段。從豎行上可以看出,系統(tǒng)測(cè)試涉及到了最多的測(cè)試類型,因?yàn)檫@個(gè)時(shí)候軟件系統(tǒng)是第一次以一個(gè)完整的個(gè)體而運(yùn)行,需要的測(cè)試方面 是最多的。也并不是所有階段都要進(jìn)行所有的類型測(cè)試。
IBM軟件測(cè)試?yán)碚?#8212;—白盒測(cè)試、黑盒測(cè)試和灰盒測(cè)試
按照
測(cè)試技術(shù)(
test techniques)劃分,測(cè)試可以劃分為
白盒測(cè)試、
黑盒測(cè)試和
灰盒測(cè)試。



我用google翻譯翻譯了每頁左下角解釋什么是白盒測(cè)試、黑盒測(cè)試和灰盒測(cè)試的部分,不太準(zhǔn)確,準(zhǔn)確的話請(qǐng)看英文原文。
在這套理論中,關(guān)于白盒測(cè)試的描述是:
1、白盒測(cè)試,是對(duì)一個(gè)軟件組件或系統(tǒng)內(nèi)部的設(shè)計(jì)知識(shí)為基礎(chǔ)的測(cè)試。
2、白盒測(cè)試是邏輯為導(dǎo)向,重點(diǎn)是通過對(duì)某些軟件測(cè)試的執(zhí)行路徑。
3、測(cè)試設(shè)計(jì)決定被測(cè)軟件所需要的一定路徑下輸入設(shè)定,并指定每個(gè)輸入的預(yù)期將要采取的路徑和輸出。
4、測(cè)試執(zhí)行運(yùn)行有指定輸入的軟件,檢查了預(yù)期的路徑追蹤,有產(chǎn)出符合預(yù)期的結(jié)果。
5、代碼覆蓋測(cè)試經(jīng)常被用來評(píng)估白盒測(cè)試的徹底情況。
在這套理論中,關(guān)于黑盒測(cè)試的描述是:
1、“黑盒測(cè)試”描述的是不管一個(gè)軟件組件或系統(tǒng)內(nèi)部的設(shè)計(jì)知識(shí)的測(cè)試。
2、黑盒測(cè)試是需求導(dǎo)向,在所有測(cè)試階段使用。
3、黑盒測(cè)試專注于輸入和輸出的軟件測(cè)試。所有可能的輸入和/或輸入組合輸入到測(cè)試系統(tǒng)。有效和無效的輸入也是用來測(cè)試系統(tǒng)。
4、測(cè)試設(shè)計(jì)根據(jù)軟件的設(shè)置,在確定的輸入情況下,指定每個(gè)輸入的預(yù)期輸出。
5、測(cè)試執(zhí)行是運(yùn)行有指定的輸入情況下的軟件,檢查對(duì)預(yù)期輸出的結(jié)果。
在這套理論中,關(guān)于黑盒測(cè)試的描述是:
1、“灰盒測(cè)試”描述的測(cè)試是一個(gè)黑盒測(cè)試與白白盒試組合,我們知道被測(cè)程序的一些部分(不是全部)是如何工作的。
2、灰盒測(cè)試,側(cè)重于輸入與產(chǎn)出(預(yù)期結(jié)果),但是測(cè)試設(shè)計(jì)和執(zhí)行是基于算法,架構(gòu),數(shù)據(jù)庫的知識(shí)。
3、一個(gè)關(guān)于灰盒測(cè)試的例子,測(cè)試人員將到數(shù)據(jù)庫中建立自己的測(cè)試數(shù)據(jù)庫中的數(shù)據(jù),并實(shí)際上將要到數(shù)據(jù)庫中通過SQL查詢來確認(rèn)/驗(yàn)證輸出/測(cè)試結(jié)果。
4、灰盒測(cè)試被最多的用在測(cè)試數(shù)據(jù)的覆蓋范圍,但也可能是單獨(dú)使用在確認(rèn)配置文件的變化。
網(wǎng)上關(guān)于白盒和黑盒測(cè)試的定義介紹很多,關(guān)于白盒測(cè)試的設(shè)計(jì)也很多,我這里就不在多介紹。我是個(gè)專職的測(cè)試人員,所以只了解黑盒測(cè)試,因?yàn)榘缀袦y(cè)試一般由開發(fā)人員或者專職的白盒測(cè)試人員來做。
每頁的左上角的紅框部分都是指明白盒測(cè)試、黑盒測(cè)試和灰盒測(cè)試所涉及到的測(cè)試階段。更大的圖請(qǐng)看前面一節(jié)的博文內(nèi)容。白盒測(cè)試涉及到的是單元測(cè) 試和部分集成測(cè)試,黑盒測(cè)試涉及到的是絕大部分的系統(tǒng)測(cè)試和所有的系統(tǒng)集成測(cè)試用戶驗(yàn)收測(cè)試,而灰盒測(cè)試涉及到全部集成測(cè)試、系統(tǒng)測(cè)試、系統(tǒng)集成測(cè)試和少 量的單元測(cè)試、用戶驗(yàn)收測(cè)試。
其實(shí)網(wǎng)上有很多關(guān)于灰盒測(cè)試的內(nèi)容,只是平時(shí)很多人沒有明確提出灰盒測(cè)試。一些軟件公司的測(cè)試過程中已經(jīng)使用了比較多的灰盒測(cè)試,當(dāng)他們遇到灰盒測(cè)試的定義和內(nèi)容后,明白起來很容易。而只知道白盒和黑盒測(cè)試的朋友,希望心里有灰盒測(cè)試的概念。
每頁右邊的input case對(duì)白盒、黑盒和灰盒的概念都有一個(gè)明確的圖示,很容易幫助理解他們的概念。
相關(guān)鏈接:
IBM軟件測(cè)試?yán)碚?#8212;—單元測(cè)試和集成測(cè)試




從網(wǎng)上可以搜索到很多關(guān)于單元測(cè)試的定義,比如百度百科中就有詳細(xì)的介紹。而此理論中關(guān)于單元測(cè)試的內(nèi)容有:
單元測(cè)試是對(duì)新的或者更改過的代碼模塊進(jìn)行的初步測(cè)試。它驗(yàn)證程序或模塊的內(nèi)部邏輯和程序規(guī)范。
開始點(diǎn):單元測(cè)試開始在開發(fā)階段,當(dāng)編碼已經(jīng)完成,單元測(cè)試計(jì)劃已經(jīng)被有關(guān)各方已批準(zhǔn)。
結(jié)束點(diǎn):?jiǎn)卧獪y(cè)試結(jié)束后,所有的測(cè)試案例被成功執(zhí)行,沒有嚴(yán)重缺陷1或2。一項(xiàng)行動(dòng)計(jì)劃已經(jīng)被記錄在案,以解決還未解決的其他缺陷。
單元測(cè)試的作用:?jiǎn)卧獪y(cè)試有助于早期識(shí)別和修復(fù)缺陷,早期消除單元模塊的不確定性。
通過測(cè)試程序的各個(gè)部分,然后再測(cè)試其各部分的總和,集成測(cè)試就更簡(jiǎn)單啦。
相關(guān)活動(dòng):測(cè)試計(jì)劃和測(cè)試用例審查,由有關(guān)各方批準(zhǔn)的基線控制之下;
按計(jì)劃執(zhí)行單元測(cè)試用例;通過跟蹤需求變更來驗(yàn)證測(cè)試覆蓋面;進(jìn)行缺陷分析;完成單元測(cè)試報(bào)告。
單元測(cè)試的評(píng)估有:代碼覆蓋率的百分比,符合組編碼標(biāo)準(zhǔn),圈復(fù)雜度,行代碼,路徑,參數(shù),缺陷密度。
集成測(cè)試
從網(wǎng)上可以搜索到很多關(guān)于集成測(cè)試的定義,比如百度百科中有詳細(xì)的介紹,而此理論中關(guān)于集成測(cè)試的內(nèi)容有:
集成測(cè)試驗(yàn)證多個(gè)已經(jīng)完成了單元測(cè)試的模塊的執(zhí)行。所測(cè)試的應(yīng)用程序通常不連接到系統(tǒng)中的其他應(yīng)用程序。
子系統(tǒng)模塊的通信測(cè)試是在一個(gè)控制和隔離的環(huán)境。
開始點(diǎn):集成測(cè)試開始時(shí),單元測(cè)試已經(jīng)順利完成,當(dāng)集成測(cè)試計(jì)劃已經(jīng)被有關(guān)各方已批準(zhǔn),并且在基線控制之下。
結(jié)束點(diǎn):集成測(cè)試結(jié)束后,所有的測(cè)試案例的成功執(zhí)行,沒有嚴(yán)重缺陷1或2。一項(xiàng)行動(dòng)計(jì)劃已經(jīng)被記錄在案,以解決所有還未解決的缺陷。
集成測(cè)試的作用:集成測(cè)試有助于較早的識(shí)別和修復(fù)中缺陷,降低了成本。它也減輕了系統(tǒng)測(cè)試過程中的風(fēng)險(xiǎn)。
相關(guān)活動(dòng):測(cè)試計(jì)劃和測(cè)試用例審查,由有關(guān)各方批準(zhǔn)的基線控制之下;
按計(jì)劃執(zhí)行集成測(cè)試用例;通過跟蹤需求變更來驗(yàn)證測(cè)試覆蓋面;進(jìn)行缺陷分析;完成集成測(cè)試報(bào)告。
集成測(cè)試的評(píng)估有:成本和進(jìn)度偏差,缺陷,生產(chǎn)力,效率和測(cè)試覆蓋度。
圈復(fù)雜度一種代碼復(fù)雜度的衡量標(biāo)準(zhǔn),中文名稱叫做圈復(fù)雜度。
在軟件測(cè)試的概念里,圈復(fù)雜度“用來衡量一個(gè)模塊判定結(jié)構(gòu)的復(fù)雜程度,數(shù)量上表現(xiàn)為獨(dú)立現(xiàn)行 路徑條數(shù),即合理的預(yù)防錯(cuò)誤所需測(cè)試的最少路徑條數(shù),圈復(fù)雜度大說明程序代碼可能質(zhì)量低且難于測(cè)試和維護(hù),根據(jù)經(jīng)驗(yàn),程序的可能錯(cuò)誤和高的圈復(fù)雜度有著很 大關(guān)系”。
在這套理論中,大多用的是缺陷(defect)一詞,認(rèn)為缺陷(defect)包含的范圍大于bug所代表的意思,認(rèn)為軟件一切不足的地方都是 可以當(dāng)做defect處理,而Bug所代表的內(nèi)容比defect更少一些。其實(shí)現(xiàn)在各個(gè)公司有各自的叫法,還有叫issue的,但是意思都是一樣的,都是 指軟件的不足之處。此套理論的后面部分都是稱呼為缺陷(defect)。
以后介紹的各種測(cè)試的定義,都是按照?qǐng)D中所展示的那樣結(jié)構(gòu)來展示。左上角是一堆相關(guān)的測(cè)試類型或者測(cè)試階段,第一頁的最下面一排是關(guān)于這個(gè)測(cè)試類型中的各種文檔,相關(guān)的文檔并不一定全展示完了。第二頁的右上角都涉及到了這個(gè)測(cè)試階段或者測(cè)試類型所常用到的測(cè)試工具。
“參與者”里面詳細(xì)地介紹了這個(gè)測(cè)試階段有哪些測(cè)試角色參與,帶點(diǎn)的測(cè)試角色就被包含在這個(gè)測(cè)試中,在實(shí)際工作中,各個(gè)角色之間可以由同一人擔(dān) 當(dāng)。這套理論中,測(cè)試團(tuán)隊(duì)中都有一兩個(gè)叫“Test architect”的人,測(cè)試架構(gòu)師是團(tuán)隊(duì)中的關(guān)鍵人物,類似于系統(tǒng)架構(gòu)師或者系統(tǒng)分析師,他的作用是參與系統(tǒng)的研發(fā)與架構(gòu),分析系統(tǒng)與功能模塊,找出測(cè)試的難點(diǎn)與關(guān)鍵點(diǎn),決定測(cè)試工具環(huán)境平臺(tái)等方面的主意,在技術(shù)上主導(dǎo)團(tuán)隊(duì)的測(cè)試過程。
第二頁的右下角有相關(guān)的評(píng)估方面,這些評(píng)估方面就是測(cè)試用例設(shè)計(jì)的依據(jù)。
單元測(cè)試和集成測(cè)試都是由開發(fā)人員完成,在寫完代碼后進(jìn)行的。單元測(cè)試和集成測(cè)試都有明確定義的開始點(diǎn)和結(jié)束點(diǎn),并且測(cè)試結(jié)束的時(shí)候都要提供相應(yīng)的輸出。測(cè)試開始的時(shí)候,測(cè)試計(jì)劃都已經(jīng)被各方批準(zhǔn)了才開始,各方是項(xiàng)目經(jīng)理、測(cè)試經(jīng)理、開發(fā)經(jīng)理、需求分析負(fù)責(zé)人甚至是客戶或者投資者。當(dāng)這個(gè)階段的 測(cè)試過程中未出現(xiàn)嚴(yán)重性為1和2的defect的時(shí)候才能結(jié)束此階段的測(cè)試,并且未解決的所有defect都應(yīng)該被記錄下來,并且做好何時(shí)解決的計(jì)劃。一個(gè)缺陷被解決得越早,越能節(jié)省成本;一個(gè)發(fā)現(xiàn)的缺陷越到后面才來修復(fù),需要更多的成本。
很多時(shí)候,并沒有把單元測(cè)試和集成測(cè)試分開來做,而是一起當(dāng)做單元測(cè)試來進(jìn)行的。
IBM軟件測(cè)試?yán)碚?#8212;—系統(tǒng)測(cè)試和系統(tǒng)集成測(cè)試、




從網(wǎng)上可以搜索到很多關(guān)于系統(tǒng)測(cè)試的定義,比如百度百科就有詳細(xì)的介紹。而此理論中關(guān)于系統(tǒng)測(cè)試的內(nèi)容有:
系統(tǒng)測(cè)試把系統(tǒng)的所有組件和對(duì)其他系統(tǒng)的接口當(dāng)作一個(gè)整體來測(cè)試,包含功能性的測(cè)試和結(jié)構(gòu)性的測(cè)試,證實(shí)這個(gè)系統(tǒng)可以正確的運(yùn)行。
開始點(diǎn):系統(tǒng)測(cè)試開始于成功的上一階段的單元測(cè)試和集成測(cè)試,當(dāng)系統(tǒng)測(cè)試計(jì)劃已經(jīng)被有關(guān)各方已批準(zhǔn),并且在基線控制之下。
IBM軟件測(cè)試?yán)碚?#8212;—用戶驗(yàn)收測(cè)試和可操作性測(cè)試




用戶驗(yàn)收測(cè)試的內(nèi)容是:
用戶驗(yàn)收測(cè)試(UAT)驗(yàn)證系統(tǒng)是否滿足指定的用戶需求。該UAT的模擬用戶環(huán)境,由最終用戶或者站在用戶角度去測(cè)試系統(tǒng)。
開始點(diǎn):用戶驗(yàn)收測(cè)試開始于成功的上一階段的系統(tǒng)集成測(cè)試的結(jié)束,用戶驗(yàn)收測(cè)試計(jì)劃已經(jīng)被有關(guān)各方已批準(zhǔn),并且在基線控制之下。
結(jié)束點(diǎn):用戶驗(yàn)收集測(cè)試執(zhí)行完所有的這階段的測(cè)試用例,結(jié)果中沒嚴(yán)重性為1或者2的缺陷。如果未被測(cè)試的用例應(yīng)該被記錄下來,并標(biāo)明原因;所有測(cè)試應(yīng)該被記錄下來;有相應(yīng)的階段測(cè)試報(bào)告和總結(jié)。
用戶驗(yàn)收測(cè)試的作用:用戶驗(yàn)收測(cè)試使使用者,客戶或其他授權(quán)實(shí)體決定是否接受這個(gè)系統(tǒng)。成功的UAT有助于確保業(yè)務(wù)需求得到滿足,為系統(tǒng)在生產(chǎn)中使用做好高度信任的準(zhǔn)備。
相關(guān)活動(dòng):測(cè)試計(jì)劃和測(cè)試用例審查,由有關(guān)各方批準(zhǔn)的基線控制之下;按計(jì)劃執(zhí)行用戶驗(yàn)收測(cè)試用例;通過跟蹤需求變更來驗(yàn)證測(cè)試覆蓋面;進(jìn)行缺陷分析;完成用戶驗(yàn)收測(cè)試報(bào)告。
系統(tǒng)測(cè)試的評(píng)估有:成本和進(jìn)度偏差,缺陷,生產(chǎn)力,效率和測(cè)試覆蓋度。
可操作性測(cè)試的內(nèi)容是:
可操作性測(cè)試驗(yàn)證應(yīng)用程序或系統(tǒng)可以在生產(chǎn)環(huán)境中運(yùn)行。這是一個(gè)動(dòng)態(tài)的測(cè)試階段,其中系統(tǒng)的所有驗(yàn)證操作都在真實(shí)或模擬出來非常真實(shí)的生產(chǎn)環(huán)境中發(fā)生。可操作性測(cè)試考慮的是性能,資源消耗和符合標(biāo)準(zhǔn)等因素。
開始點(diǎn):用戶驗(yàn)收測(cè)試開始于成功的上一階段的用戶驗(yàn)收測(cè)試的結(jié)束,用戶驗(yàn)收測(cè)試計(jì)劃已經(jīng)被有關(guān)各方已批準(zhǔn),并且在基線控制之下。
結(jié)束點(diǎn):一旦被測(cè)系統(tǒng)符合測(cè)試計(jì)劃中規(guī)定的結(jié)束標(biāo)準(zhǔn),測(cè)試便結(jié)束。
用戶驗(yàn)收測(cè)試的作用:確保軟件產(chǎn)品的正確交付和直到軟件產(chǎn)品的正確部署。避免在生產(chǎn)環(huán)境(內(nèi)部和外部)中產(chǎn)生可操作性方面的業(yè)務(wù)缺陷。
相關(guān)活動(dòng)(由技術(shù)支持團(tuán)隊(duì)實(shí)施和驗(yàn)證如下活動(dòng)):部署和備份計(jì)劃;故障切換和恢復(fù)計(jì)劃;緊急中斷/修復(fù)計(jì)劃;在run books中更新生產(chǎn)支持;更新幫助數(shù)據(jù)。
系統(tǒng)測(cè)試的評(píng)估有:成本和進(jìn)度偏差,缺陷,生產(chǎn)力,效率和測(cè)試覆蓋度。
用戶驗(yàn)收測(cè)試(UAT)測(cè)試方面的知識(shí),可以在網(wǎng)上找到很多。據(jù)我了解,很多公司和很多測(cè)試人員都知道這一測(cè)試階段。包括我在內(nèi),UAT只是處 于一個(gè)系統(tǒng)集成測(cè)試之后的測(cè)試階段,應(yīng)該所有測(cè)試用例中涉及到和沒涉及到的defect和bug和一切看不順眼有問題的地方都可以當(dāng)做測(cè)試得到的問題。 UAT是請(qǐng)實(shí)際的用戶參與測(cè)試或者測(cè)試人員站在用戶的角度去思考和測(cè)試系統(tǒng),而很多時(shí)候并沒請(qǐng)實(shí)際用戶參與,只是測(cè)試人員站在用戶角度去思考和測(cè)試。系統(tǒng) 測(cè)試和系統(tǒng)集成測(cè)試涉及到的很多測(cè)試類型,將不再在這個(gè)測(cè)試階段進(jìn)行。這個(gè)測(cè)試階段結(jié)束的時(shí)候,將很接近實(shí)際生產(chǎn)中的軟件情況啦,客戶很可能就決定是否接 受這個(gè)軟件結(jié)果。
在前面章節(jié)中講解測(cè)試階段的時(shí)候沒到可操作性測(cè)試,而我用介紹維護(hù)測(cè)試做了代替??刹僮餍詼y(cè)試應(yīng)該是UAT結(jié)束后,從項(xiàng)目團(tuán)隊(duì)到系統(tǒng)部署的這個(gè) 過程,由測(cè)試人員和技術(shù)支持團(tuán)隊(duì)(也就是通常所說的售后技術(shù)工程師)在模擬的環(huán)境中進(jìn)行部署操作或者直接到客戶那邊的實(shí)際環(huán)境中進(jìn)行部署。這個(gè)階段要做部 署、回復(fù)、故障切換、緊急中斷和修復(fù)等在實(shí)際運(yùn)行中的計(jì)劃。而且這個(gè)階段使用到的工具也是部署、監(jiān)控和維護(hù)相關(guān)的工具。
最后階段當(dāng)然是系統(tǒng)部署和交付給客戶后的維護(hù)過程,維護(hù)測(cè)試就是在這個(gè)階段之后。產(chǎn)品部署后,客戶方面有人會(huì)用監(jiān)控和管理系統(tǒng)的運(yùn)行,當(dāng)出現(xiàn) defect或者異常等情況,售后技術(shù)支持工程師會(huì)到客戶那邊進(jìn)行處理。當(dāng)售后技術(shù)工程師解決不了的話,會(huì)交給項(xiàng)目相關(guān)的支持團(tuán)隊(duì),這個(gè)團(tuán)隊(duì)中就包括維護(hù) 測(cè)試團(tuán)隊(duì)。所以很多很大的系統(tǒng)(比如銀行的系統(tǒng))都會(huì)有專人就行監(jiān)控和管理,也會(huì)有一個(gè)專門的技術(shù)團(tuán)隊(duì)為這個(gè)系統(tǒng)服務(wù)。當(dāng)系統(tǒng)出現(xiàn)defect的時(shí)候,交 給這個(gè)團(tuán)隊(duì)修改和回歸測(cè)試,然后再以補(bǔ)丁的形式給系統(tǒng)更新。當(dāng)系統(tǒng)有一些新的小需求的時(shí)候,由這個(gè)團(tuán)隊(duì)來開發(fā)和測(cè)試,然后交付。這個(gè)團(tuán)隊(duì)可以由原來開發(fā)時(shí) 候留下部分人員組成,當(dāng)然也可以現(xiàn)招聘,可以在招聘中遇到招聘項(xiàng)目維護(hù)團(tuán)隊(duì)的職位。
IBM軟件測(cè)試?yán)碚?#8212;—功能測(cè)試和回歸測(cè)試




功能測(cè)試的內(nèi)容是:功能測(cè)試,在每一個(gè)開發(fā)階段,去驗(yàn)證在每個(gè)業(yè)務(wù)功能操作上都和設(shè)計(jì)文件(內(nèi)部和外部)中規(guī)定的一樣。
開始點(diǎn):功能測(cè)試開始于成功完成單元測(cè)試后,和功能測(cè)試計(jì)劃已經(jīng)被有關(guān)各方已批準(zhǔn),并且在基線控制之下。
結(jié)束點(diǎn):功能測(cè)試結(jié)束于執(zhí)行完所有的計(jì)劃的測(cè)試用例,結(jié)果中沒嚴(yán)重性為1或者2的缺陷。如果未被測(cè)試的用例應(yīng)該被記錄下來,并標(biāo)明原因;所有測(cè)試應(yīng)該被記錄下來;有相應(yīng)的測(cè)試報(bào)告和總結(jié)。
功能測(cè)試的作用:功能測(cè)試,驗(yàn)證了系統(tǒng)執(zhí)行和設(shè)計(jì)中規(guī)定的功能一致。當(dāng)功能測(cè)試正確后才能進(jìn)入系統(tǒng)集成測(cè)試。確定關(guān)鍵功能缺陷和修復(fù)缺陷,以避免在系統(tǒng)集成和用戶驗(yàn)收測(cè)試階段出現(xiàn)缺陷進(jìn)行昂貴的返工。
相關(guān)活動(dòng):測(cè)試計(jì)劃和測(cè)試用例審查,由有關(guān)各方批準(zhǔn)的基線控制之下;按計(jì)劃執(zhí)行功能測(cè)試用例;通過跟蹤需求變更來驗(yàn)證測(cè)試覆蓋面;進(jìn)行缺陷分析;完成功能測(cè)試報(bào)告。
功能測(cè)試的評(píng)估有:成本和進(jìn)度偏差,缺陷,生產(chǎn)力,效率和測(cè)試覆蓋度。
回歸測(cè)試的內(nèi)容有:
回歸測(cè)試驗(yàn)證,當(dāng)系統(tǒng)某部分修改(增加新的功能或者修改bug)后,去驗(yàn)證這部分是否被成功修改和其他部分是否會(huì)被這部分的修改所影響。
要執(zhí)行回歸測(cè)試,應(yīng)用程序必須運(yùn)行相同的測(cè)試用例通過至少兩次。
第一次測(cè)試是修改前應(yīng)用程序的特定部分是否正確響應(yīng)。
第一次測(cè)試獲得的應(yīng)用程序的正確反應(yīng)做為第二次運(yùn)行后判定程序是否正確運(yùn)行的判定標(biāo)準(zhǔn)。
開始點(diǎn):因?yàn)樵黾有鹿δ芑蛘咝薷娜毕荻鴮?duì)代碼進(jìn)行的修改后開始回歸測(cè)試。
結(jié)束點(diǎn):回歸測(cè)試結(jié)束于成功的執(zhí)行相關(guān)的回歸測(cè)試用例,并且修改后的程序相關(guān)部分沒還未解決的缺陷。
回歸測(cè)試的作用:回歸測(cè)試驗(yàn)證了系統(tǒng)的行為是不會(huì)受到由于修改系統(tǒng)而產(chǎn)生的影響。它減少了重新驗(yàn)證的時(shí)間消耗,它給與驗(yàn)收測(cè)試以可信任措施。當(dāng)時(shí)間回歸測(cè)試相關(guān)用例的執(zhí)行是自動(dòng)化的時(shí)候,顯著的好處將被取得。
相關(guān)活動(dòng):測(cè)試計(jì)劃和測(cè)試用例審查,由有關(guān)各方批準(zhǔn)的基線控制之下;確定修改的程序(必需的元素)結(jié)構(gòu)屬性,然后選擇一個(gè)可重復(fù)執(zhí)行的測(cè)試用例集去執(zhí)行;制定一個(gè)回歸測(cè)試執(zhí)行和缺陷的詳細(xì)報(bào)告。
回歸測(cè)試的評(píng)估有:缺陷評(píng)估,失敗率,覆蓋度。
功能測(cè)試就是驗(yàn)證的系統(tǒng)功能,是軟件測(cè)試中很重要的一部分。
所有的defect被修改后,都會(huì)去驗(yàn)證這個(gè)bug是否成功被修復(fù),而且會(huì)驗(yàn)證這個(gè)defect周圍相關(guān)的一些功能是否出現(xiàn)了新的defect,這就是回歸測(cè)試。
當(dāng)軟件增加了一個(gè)比較大的新功能后,在這個(gè)新功能被測(cè)試完成后,一般都會(huì)有一個(gè)專門的回歸測(cè)試階段,來進(jìn)行驗(yàn)證這個(gè)軟件的其他主要功能是否受影 響,是否出現(xiàn)新defect。一般只測(cè)試主要功能的主要流程,不會(huì)像對(duì)待新功能那樣詳細(xì)的測(cè)試。在游戲測(cè)試中,當(dāng)某一個(gè)功能模塊被做了比較大的修改后,都 會(huì)進(jìn)行一些主要功能模塊的主要功能流程的測(cè)試,比如背包有比較大的更新,都會(huì)去測(cè)試背包相關(guān)的倉庫、裝備、生活技能等功能的主要流程。每次系統(tǒng)進(jìn)行升級(jí) 前,都要進(jìn)行開機(jī)測(cè)試,驗(yàn)證系統(tǒng)是否能夠進(jìn)行正常的升級(jí),然后才放出來。
某些回歸測(cè)試是非常適合自動(dòng)化測(cè)試的,出名的功能測(cè)試工具是QTP(quick test professional)和RFT(Rational functional tester)。這2個(gè)功能測(cè)試工具非常適合做功能方面的回歸測(cè)試,核心思想就是一個(gè)錄制和回放的過程,用在回歸測(cè)試上面的話,錄制就是錄制被修改前系統(tǒng) 的正確反應(yīng),回放是回放被修改后的系統(tǒng)來觀看系統(tǒng)的反應(yīng)。我在后面的章節(jié)中會(huì)介紹這2個(gè)工具。
IBM軟件測(cè)試?yán)碚?#8212;—測(cè)試流程模型
字體: 小 中 大 | 上一篇 下一篇 | 打印 | 我要投稿 | 推薦標(biāo)簽: 軟件測(cè)試 測(cè)試流程


第一幅圖圖示化地展現(xiàn)了IBM測(cè)試流程模型。
該流程模型中的第一排是一個(gè)典型的軟件生命周期的過程,可以在很多資料中找到這一過程。該過程中每一階段上的幅度長(zhǎng)度和寬度代表在這一階段所要花費(fèi)的人 月。此IBM測(cè)試流程模型就是以此生命周期做對(duì)比基礎(chǔ)來展示。測(cè)試階段中的從左到右完全對(duì)比到軟件生命周期中的整個(gè)過程,也就是說項(xiàng)目進(jìn)行到軟件生命周期 中某個(gè)位置時(shí),垂直向下可以查找到測(cè)試處在測(cè)試生命周期的某個(gè)位置;測(cè)試處在測(cè)試生命周期的某個(gè)位置時(shí)候,垂直向上可以查找到項(xiàng)目處在軟件生命周期的某個(gè) 位置。
跟著軟件生命周期過程后面的幾行是質(zhì)量管理(應(yīng)該是QA)、測(cè)試項(xiàng)目管理和變更管理。
這三個(gè)管理是要覆蓋整個(gè)軟件生命周期,也要覆蓋到整個(gè)測(cè)試生命周期。
緊接著是缺陷管理(defect management),缺陷管理覆蓋到整個(gè)測(cè)試生命周期,因?yàn)檎麄€(gè)測(cè)試生命周期都可能涉及到缺陷管理。
靜態(tài)測(cè)試可以貫穿于整個(gè)測(cè)試生命周期,和缺陷管理的長(zhǎng)度一樣。
在整個(gè)軟件項(xiàng)目在定義、設(shè)計(jì)和構(gòu)建的過程中,都會(huì)涉及到測(cè)試計(jì)劃,并不是等到構(gòu)建塊完成或者完成的時(shí)候才進(jìn)行測(cè)試計(jì)劃,因?yàn)镮BM測(cè)試?yán)碚搹?qiáng)調(diào)測(cè)試的早期介入(后面會(huì)講到)。
在做測(cè)試計(jì)劃的時(shí)候,已經(jīng)在為測(cè)試做測(cè)試準(zhǔn)備,所以測(cè)試準(zhǔn)備貫穿了項(xiàng)目定義、設(shè)計(jì)、構(gòu)建和測(cè)試階段。
然后是測(cè)試生命周期中的各個(gè)測(cè)試階段,可以看出各個(gè)測(cè)試階段都有對(duì)應(yīng)的軟件生命周期的位置。測(cè)試階段中的從左到右完全對(duì)比到軟件生命周期中的整 個(gè)過程,也就是說項(xiàng)目進(jìn)行到軟件生命周期中某個(gè)位置時(shí),垂直向下可以查找到測(cè)試處在測(cè)試生命周期的某個(gè)位置;測(cè)試處在測(cè)試生命周期的某個(gè)位置時(shí)候,垂直向 上可以查找到項(xiàng)目處在軟件生命周期的某個(gè)位置。
最后是配置管理、測(cè)試工具和管理為整個(gè)測(cè)試做支持和保障。
這個(gè)測(cè)試模型清楚的介紹了測(cè)試的過程和測(cè)試的保障。這個(gè)測(cè)試模型中的一些管理和保障不只是為測(cè)試服務(wù),而且也為整個(gè)軟件項(xiàng)目周期做保障,比如配置管理、項(xiàng)目管理和變更管理。
第二幅圖展示了每個(gè)測(cè)試階段的測(cè)試活動(dòng)(測(cè)試評(píng)估和計(jì)劃、測(cè)試準(zhǔn)備、測(cè)試執(zhí)行和報(bào)告),記住是每個(gè)測(cè)試階段都會(huì)重復(fù)發(fā)生這些活動(dòng),也就是根據(jù)各 個(gè)測(cè)試階段的需要,測(cè)試相關(guān)活動(dòng)會(huì)發(fā)生多次。比如在系統(tǒng)測(cè)試階段,就會(huì)做系統(tǒng)測(cè)試計(jì)劃和系統(tǒng)測(cè)試的詳細(xì)規(guī)格說明書;到下一階段系統(tǒng)集成測(cè)試階段的時(shí)候,再 做系統(tǒng)集成測(cè)試計(jì)劃和系統(tǒng)集成測(cè)試的詳細(xì)規(guī)格說明書;并不是一次把所有階段的測(cè)試計(jì)劃做完,再去做所有測(cè)試階段的詳細(xì)規(guī)格說明書。這只是理論,實(shí)際項(xiàng)目會(huì) 有變化和取舍。
在測(cè)試準(zhǔn)備中涉及到的“測(cè)試的詳細(xì)規(guī)格說明書”中,應(yīng)該包含測(cè)試用例設(shè)計(jì)結(jié)果和測(cè)試環(huán)境等說明。通常情況下測(cè)試用例都是在單獨(dú)的文檔中。
測(cè)試評(píng)估和計(jì)劃
要做的事情有:
1、評(píng)估目前的環(huán)境
2、定義測(cè)試策略
3、定義靜態(tài)測(cè)試計(jì)劃
4、開發(fā)主要的測(cè)試計(jì)劃:?jiǎn)卧獪y(cè)試計(jì)劃,集成測(cè)試計(jì)劃,系統(tǒng)測(cè)試計(jì)劃,系統(tǒng)集成測(cè)試計(jì)劃,用戶驗(yàn)收測(cè)試計(jì)劃,可操作性測(cè)試計(jì)劃,完成動(dòng)態(tài)測(cè)試計(jì)劃。
5、完成動(dòng)態(tài)測(cè)試計(jì)劃
輸出的有:
◆ 測(cè)試過程評(píng)估報(bào)告
◆ 測(cè)試策略
◆ 靜態(tài)測(cè)試計(jì)劃
◆ 主要的測(cè)試計(jì)劃
◆ 每階段的細(xì)節(jié)性的測(cè)試計(jì)劃
測(cè)試準(zhǔn)備
要做的事情有:
1、設(shè)計(jì)如下詳細(xì)的測(cè)試計(jì)劃:設(shè)計(jì)單元測(cè)試的詳細(xì)規(guī)格說明書,設(shè)計(jì)集成測(cè)試的詳細(xì)規(guī)格說明書,設(shè)計(jì)系統(tǒng)測(cè)試的詳細(xì)規(guī)格說明書,設(shè)計(jì)系統(tǒng)集成測(cè)試的詳細(xì)規(guī)格說明書,設(shè)計(jì)用戶驗(yàn)收測(cè)試的詳細(xì)規(guī)格說明書,設(shè)計(jì)可操作性測(cè)試的詳細(xì)規(guī)格說明書。