《軟件測(cè)試系列培訓(xùn)教程(北大青鳥)》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件測(cè)試系列培訓(xùn)教程(北大青鳥)(39頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,第一級(jí),第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,*,單擊此處編輯母版標(biāo)題樣式,第一級(jí),第二級(jí),*,第二章,測(cè)試技術(shù),回顧,軟件質(zhì)量的衡量標(biāo)準(zhǔn)是可以準(zhǔn)時(shí)地交付給用戶,所耗費(fèi)的成本不超出預(yù)算,并且最重要的是,能夠正常地運(yùn)行。,SQA,的目標(biāo)是通過在開發(fā)周期的早期階段發(fā)現(xiàn)錯(cuò)誤來降低解決問題的成本。,SQA,應(yīng)用于軟件開發(fā)的每個(gè)階段,每個(gè)階段都有其自己的質(zhì)量標(biāo)準(zhǔn)。,實(shí)施質(zhì)量管理中,要注意構(gòu)建自己的管理體系,包括:構(gòu)建質(zhì)量計(jì)劃、建立質(zhì)量保證、建立質(zhì)量控制等,2,本章目標(biāo),定義軟件測(cè)試,明確軟件測(cè)試的準(zhǔn)則,明確測(cè)試的方法,描述軟件測(cè)試的各個(gè)階段,描述各種測(cè)試階段的測(cè)試內(nèi)容,3,簡(jiǎn)
2、介,軟件測(cè)試是軟件工程過程中的關(guān)鍵組件。,軟件測(cè)試是軟件質(zhì)量保證的要素,可以將其描述為一個(gè)運(yùn)行程序以檢測(cè)錯(cuò)誤(如果有)的過程。,4,測(cè)試的常識(shí)與道理 2-1,編程大師說:沒有錯(cuò)誤的程序世間難求。(編程之道),你在學(xué)校里學(xué)過測(cè)試嗎?(讀到博士可能也不懂測(cè)試),你所在的企業(yè)重視測(cè)試嗎?(小公司程序員的技能更加全面),臨時(shí)抱佛腳行嗎?,你以為有文檔模板就會(huì)測(cè)試了嗎,?,5,測(cè)試的常識(shí)與道理 2-2,如果不懂得有效地進(jìn)行測(cè)試,你不僅得不到功勞,也沒人欣賞你的苦勞,你擁有最多的將只是疲勞。,職業(yè)軟件工程師應(yīng)當(dāng)掌握需求開發(fā)、系統(tǒng)設(shè)計(jì)、編程、測(cè)試、維護(hù),所有技能。,6,測(cè)試的目的是什么,測(cè)試的目的是為了發(fā)現(xiàn)
3、盡可能多的缺陷,,不是,為了說明軟件中沒有缺陷。,推論:成功的測(cè)試在于發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的缺陷。所以測(cè)試人員的職責(zé)是設(shè)計(jì)這樣的測(cè)試用例,它能有效地揭示潛伏在軟件里的缺陷,。,千萬不要將“測(cè)試”與“演示”混為一談。例如科研鑒定會(huì)。,如果產(chǎn)品通過了嚴(yán)格的測(cè)試,大家不要不吭氣,應(yīng)當(dāng)好好地宣傳一把,。,7,軟件測(cè)試原則 2-1,完全測(cè)試程序是不可能的,輸入量太大,輸出結(jié)果太多,軟件實(shí)現(xiàn)途徑太多,軟件說明書沒有客觀標(biāo)準(zhǔn)。從不同角度看,軟件缺陷的標(biāo)準(zhǔn)不同。,8,軟件測(cè)試原則 2-2,軟件測(cè)試是有風(fēng)險(xiǎn)的行為,測(cè)試無法顯示潛伏的軟件缺陷,找到的軟件缺陷越多,就說明軟件缺陷越多,并非所有軟件缺陷都能修復(fù),軟件測(cè)
4、試一項(xiàng)講究條理的技術(shù)專業(yè),9,軟件測(cè)試方法黑盒和白盒,白盒測(cè)試中(有時(shí)候稱為開盒測(cè)試),軟件測(cè)試員可以訪問程序員的代碼,并通過檢查代碼來協(xié)助測(cè)試可以看到盒子里面。一般在單元測(cè)試中采用白盒測(cè)試,用于測(cè)試模塊中所有可能的路徑、執(zhí)行所有循環(huán)并測(cè)試所有邏輯表達(dá)式。,黑盒測(cè)試則側(cè)重于軟件的整體功能。它不基于程序的內(nèi)部結(jié)構(gòu)而基于系統(tǒng)功能。猶如一個(gè)人站在黑盒子外面,只知道系統(tǒng)輸入一定數(shù)據(jù),得到一定的輸出,而不必清楚這個(gè)黑盒子中進(jìn)行了哪些操作和運(yùn)算。,10,軟件測(cè)試方法靜態(tài)和動(dòng)態(tài),靜態(tài)檢查,確保系統(tǒng)按照組織的標(biāo)準(zhǔn)和過程運(yùn)行,主要依賴于評(píng)審和非運(yùn)行的手段來檢查。通常包括需求評(píng)審、設(shè)計(jì)評(píng)審、代碼走查和代碼檢查。,
5、動(dòng)態(tài)檢查,在生命周期中進(jìn)行測(cè)試(運(yùn)行)。通常包括單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、用戶的驗(yàn)收測(cè)試。,11,靜態(tài)測(cè)試,審查(,Inspection),軟件的一種基本測(cè)試方法,它以一系列典型問題為依據(jù)進(jìn)行檢測(cè)。,走查(,Walkthrough),一對(duì)一的審查,比審查更加仔細(xì)。,回顧(,Review),以發(fā)現(xiàn)軟件中存在的錯(cuò)誤和缺陷為目的的一種軟件測(cè)試方法,它是在軟件證實(shí)執(zhí)行之前完成。,12,靜態(tài)和動(dòng)態(tài)測(cè)試進(jìn)行結(jié)構(gòu)和功能測(cè)試,測(cè)試階段,執(zhí)行人,靜態(tài)校驗(yàn),動(dòng)態(tài)校驗(yàn),可行性評(píng)審,開發(fā)人員,用戶,需求評(píng)審,開發(fā)人員,用戶,設(shè)計(jì)評(píng)審,開發(fā)人員,單元測(cè)試,開發(fā)人員,集成測(cè)試,開發(fā)人員,用戶,系統(tǒng)測(cè)試,開發(fā)人員在用戶
6、的協(xié)助下完成,驗(yàn)收測(cè)試,用戶,13,測(cè)試技術(shù),14,測(cè)試產(chǎn)品說明書,對(duì)于產(chǎn)品說明書的制定是個(gè)很重要的設(shè)計(jì)階段,產(chǎn)品說明書的質(zhì)量會(huì)直接影響到整個(gè)產(chǎn)品開發(fā)。,測(cè)試產(chǎn)品說明書屬于靜態(tài)黑盒子測(cè)試。,15,常用測(cè)試用語測(cè)試用例,測(cè)試用例:編寫用于輸入輸入的實(shí)際數(shù)制和預(yù)期結(jié)果。測(cè)試用例還明確指出使用具體測(cè)試用例產(chǎn)生的測(cè)試程序的任何限制。,使用目的:,測(cè)試用例應(yīng)該設(shè)計(jì)為能夠快速容易地發(fā)現(xiàn)盡可能多的錯(cuò)誤。,應(yīng)該通過使用和產(chǎn)生正確和錯(cuò)誤的輸入和輸出來“檢驗(yàn)”程序。,其目標(biāo)是要使用合理范圍內(nèi)的條件,盡可能全面地測(cè)試所有模塊乃至整個(gè)系統(tǒng)。,16,測(cè)試與調(diào)試什么是缺陷,缺陷:最終產(chǎn)品同用戶的期望不一致,缺陷的分類,錯(cuò)
7、誤,遺漏,超出需求的部分,缺陷(未觸發(fā)),VS.,錯(cuò)誤(應(yīng)首先解決),17,測(cè)試與調(diào)試調(diào)試的準(zhǔn)則,調(diào)試的方法:歸納法、演繹法和回溯法。,常用調(diào)試技術(shù)使用診斷輸出語句(diagnostic output statement)、快照轉(zhuǎn)儲(chǔ)(snapshot dump)以及跟蹤指令的斷點(diǎn)(instruction-dependent breakpoint)。,18,測(cè)試的分類與比較,開發(fā)與測(cè)試的,V,型關(guān)系,如果軟件開發(fā)過程采用嚴(yán)格的瀑布模型,那么開發(fā)與測(cè)試有“,V”,型的對(duì)應(yīng)關(guān)系,。,需求開發(fā),高層設(shè)計(jì),詳細(xì)設(shè)計(jì),編程,單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試,19,測(cè)試階段 2-1,單元測(cè)試、集成測(cè)試
8、、,系統(tǒng)測(cè)試、,驗(yàn)收測(cè)試。是,“從小到大”、“由內(nèi)至外”、“循序漸進(jìn)”的測(cè)試過程,體現(xiàn)了“分而治之”的思想。,單元測(cè)試的粒度最小,一般由開發(fā)小組采用白盒方式來測(cè)試,主要測(cè)試單元是否符合“設(shè)計(jì)”。,集成測(cè)試界于單元測(cè)試和系統(tǒng)測(cè)試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測(cè)試,既要驗(yàn)證“設(shè)計(jì)”又要驗(yàn)證“需求”。,20,測(cè)試階段 2-2,系統(tǒng)測(cè)試的粒度最大,一般由獨(dú)立測(cè)試小組采用黑盒方式來測(cè)試,主要測(cè)試系統(tǒng)是否符合“需求規(guī)格說明書”。,驗(yàn)收測(cè)試與系統(tǒng)測(cè)試非常相似,主要區(qū)別是測(cè)試人員不同,驗(yàn)收測(cè)試由用戶執(zhí)行。,21,測(cè)試內(nèi)容,測(cè)試內(nèi)容一般包含,接口與路徑測(cè)試。,功能測(cè)試、健壯性測(cè)試、
9、性能測(cè)試、用戶界面測(cè)試、安全性測(cè)試、壓力測(cè)試、可靠性測(cè)試、安裝/反安裝測(cè)試,22,測(cè)試階段對(duì)應(yīng)表,測(cè)試階段,主要依據(jù),測(cè)試人員、測(cè)試方式,主要測(cè)試內(nèi)容,單元測(cè)試,系統(tǒng)設(shè)計(jì)文檔,由開發(fā)小組執(zhí)行白盒測(cè)試,接口測(cè)試、路徑測(cè)試,集成測(cè)試,系統(tǒng)設(shè)計(jì)文檔,需求文檔,由開發(fā)小組執(zhí)行白盒測(cè)試和黑盒測(cè)試,接口測(cè)試、路徑測(cè)試,功能測(cè)試、性能測(cè)試,系統(tǒng)測(cè)試,需求文檔,由獨(dú)立測(cè)試小組執(zhí)行黑盒測(cè)試,功能測(cè)試、健壯性測(cè)試、性能測(cè)試、用戶界面測(cè)試、安全性測(cè)試、壓力測(cè)試、可靠性測(cè)試、安裝,/,反安裝測(cè)試,驗(yàn)收測(cè)試,需求文檔,由用戶執(zhí)行黑盒測(cè)試,23,接口與路徑測(cè)試 3-1,接口測(cè)試:數(shù)據(jù)一般通過接口輸入和輸出,接口測(cè)試一般是
10、白盒測(cè)試的第一步。,輸入?yún)?shù)有“典型值”、“邊界值”、“異常值”,輸出包括函數(shù)的返回值和輸出參數(shù)。,實(shí)際輸出與期望的輸出不一致,那么說明程序有錯(cuò)誤。,一個(gè)函數(shù)體內(nèi)的語句可能只有十幾條,但邏輯路徑可能有成千上萬條。所以應(yīng)該根據(jù)經(jīng)驗(yàn)選擇關(guān)鍵的路徑測(cè)試。,24,接口與路徑測(cè)試 3-2,路徑測(cè)試的檢查表,數(shù)據(jù)類型、變量值、邏輯判斷、循環(huán)、內(nèi)存管理、文件,I/O、,錯(cuò)誤處理,預(yù)防一些重要的路徑?jīng)]有被測(cè)試的措施有:,觀察是否有程序語句從來沒有被執(zhí)行過。,要特別留意函數(shù)體內(nèi)的錯(cuò)誤處理程序塊。,25,接口與路徑測(cè)試 3-3,接口與路徑測(cè)試用例的參考模板,26,功能測(cè)試 3-1,功能測(cè)試的基本方法是構(gòu)造一些合理
11、輸入(在需求范圍之內(nèi)),檢查輸出是否與期望的相同。如果兩者不一致,即表明功能有誤。,難點(diǎn)在于如何構(gòu)造有效的輸入。,27,功能測(cè)試 3-2,功能測(cè)試的測(cè)試方法:等價(jià)劃分法和邊界值分析法。,等價(jià)劃分是指把輸入空間劃分為幾個(gè)“等價(jià)區(qū)間”,在每個(gè)“等價(jià)區(qū)間”中只需要測(cè)試一個(gè)典型值就可以了。等價(jià)劃分法來源于人們的直覺與經(jīng)驗(yàn),可令測(cè)試事半功倍。,“缺陷遺漏在角落里,聚集在邊界上”。邊界值測(cè)試法是對(duì)等價(jià)劃分法的補(bǔ)充。如果,A,和,B,是輸入空間的邊界值,那么除了典型值外還要用,A,和,B,作為測(cè)試用例。,28,功能測(cè)試 3-3,功能測(cè)試,用例的參考模板,29,性能測(cè)試 3-1,性能測(cè)試即測(cè)試軟件處理事務(wù)的速
12、度,一是為了檢驗(yàn)性能是否符合需求,二是為了得到某些性能數(shù)據(jù)供人們參考。,絕對(duì)值考慮:如數(shù)據(jù)送輸速率是每秒多少比特。“相對(duì)值”考慮:如某個(gè)軟件比另一個(gè)軟件快多少倍。,性能測(cè)試中考慮運(yùn)行環(huán)境的影響:例如網(wǎng)絡(luò)環(huán)境、計(jì)算機(jī)主頻,總線結(jié)構(gòu)和外部設(shè)備都可能影響軟件的運(yùn)行速度。,30,性能測(cè)試 3-2,性能測(cè)試的一些注意事項(xiàng):,應(yīng)當(dāng)編寫一段程序用于計(jì)算時(shí)間以及相關(guān)數(shù)據(jù)。,應(yīng)當(dāng)測(cè)試軟件在標(biāo)準(zhǔn)配置和最低配置下的性能。,應(yīng)當(dāng)關(guān)閉那些消耗內(nèi)存、占用,CPU,的其它應(yīng)用軟件(如殺毒軟件)。,應(yīng)當(dāng)分檔記錄。例如傳輸文件的容量從100,K,到1,M,可以分成若干等級(jí)。,同一種輸入情況在不同的時(shí)間可能得到不同的性能數(shù)據(jù),可
13、以取其平均值。,31,性能測(cè)試 3-3,性能測(cè)試,用例的參考模板,32,壓力測(cè)試 2-1,壓力測(cè)試也叫負(fù)荷測(cè)試,即獲取系統(tǒng)能正常運(yùn)行的極限狀態(tài)。,壓力測(cè)試的主要任務(wù)是:構(gòu)造正確的輸入,使勁折騰系統(tǒng)卻讓它剛好不癱瘓。,壓力測(cè)試的一個(gè)變種是敏感測(cè)試。在某種情況下,微小的輸入變動(dòng)會(huì)導(dǎo)致系統(tǒng)的表現(xiàn)(如性能)發(fā)生急劇的變化。,33,壓力測(cè)試 2-2,壓力測(cè)試用例的參考模板,34,其他測(cè)試內(nèi)容,健壯性測(cè)試,用戶界面測(cè)試,信息安全測(cè)試,可靠性測(cè)試,安裝和反安裝測(cè)試,35,問題1:有了“黑盒”測(cè)試為什么還要“白盒”測(cè)試?,問題2:由于單元測(cè)試要寫測(cè)試驅(qū)動(dòng)程序,非常麻煩,能否等到整個(gè)系統(tǒng)全部開發(fā)完后,再集中精力
14、進(jìn)行一次性地單元測(cè)試呢?,問題3:如果每個(gè)單元都通過了測(cè)試,把它們集成一起難道會(huì)有什么不妥嗎?集成測(cè)試是否多此一舉?,測(cè)試常見問題 2-1,36,測(cè)試常見問題 2-2,問題4:在集成測(cè)試的時(shí)候,已經(jīng)對(duì)一些子系統(tǒng)進(jìn)行了功能測(cè)試、性能測(cè)試等等,那么在系統(tǒng)測(cè)試時(shí)能否跳過相同內(nèi)容的測(cè)試?,問題5:既然系統(tǒng)測(cè)試與驗(yàn)收測(cè)試的內(nèi)容幾乎是相同的,為什么還要驗(yàn)收測(cè)試?,問題6:能否將系統(tǒng)測(cè)試和驗(yàn)收測(cè)試“合二為一”?,37,總結(jié) 2-1,測(cè)試可以將測(cè)試描述為一個(gè)運(yùn)行程序以發(fā)現(xiàn)錯(cuò)誤的過程。,軟件測(cè)試的準(zhǔn)則:不完全測(cè)試、風(fēng)險(xiǎn)測(cè)試、無法顯示潛伏錯(cuò)誤、發(fā)現(xiàn)錯(cuò)誤成線性增長(zhǎng)、缺陷不能完全修復(fù)、測(cè)試有條理規(guī)程,測(cè)試的方法:黑盒/白盒、靜態(tài)/動(dòng)態(tài),軟件測(cè)試的各個(gè)階段:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試,38,總結(jié),2-2,測(cè)試的內(nèi)容包括:接口/路徑測(cè)試、功能測(cè)試、性能測(cè)試、壓力測(cè)試、可靠性測(cè)試、安全性測(cè)試、用戶界面測(cè)試、安裝/反安裝測(cè)試,39,