![第七章實現(xiàn)課件_第1頁](http://file4.renrendoc.com/view4/M01/2E/1E/wKhkGGYfJ6WAP3rGAADWm-g5wD4335.jpg)
![第七章實現(xiàn)課件_第2頁](http://file4.renrendoc.com/view4/M01/2E/1E/wKhkGGYfJ6WAP3rGAADWm-g5wD43352.jpg)
![第七章實現(xiàn)課件_第3頁](http://file4.renrendoc.com/view4/M01/2E/1E/wKhkGGYfJ6WAP3rGAADWm-g5wD43353.jpg)
![第七章實現(xiàn)課件_第4頁](http://file4.renrendoc.com/view4/M01/2E/1E/wKhkGGYfJ6WAP3rGAADWm-g5wD43354.jpg)
![第七章實現(xiàn)課件_第5頁](http://file4.renrendoc.com/view4/M01/2E/1E/wKhkGGYfJ6WAP3rGAADWm-g5wD43355.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第七章實現(xiàn)1精選課件ppt概要設(shè)計詳細設(shè)計實現(xiàn)軟件開發(fā)軟件生命周期2精選課件ppt軟件實現(xiàn)的任務(wù)軟件實現(xiàn)把編碼和測試統(tǒng)稱為實現(xiàn)編碼就是把軟件設(shè)計的結(jié)果翻譯成用某種程序設(shè)計語言書寫的程序所選用的程序設(shè)計語言的特點及編碼風格將對程序的可靠性、可讀性、可測試性和可維護性產(chǎn)生深遠的影響3精選課件ppt軟件實現(xiàn)的任務(wù)軟件實現(xiàn)軟件測試在軟件生命周期中橫跨兩個階段編碼和單元測試屬于軟件生命周期的同一個階段對軟件系統(tǒng)還應(yīng)該進行各種綜合測試,這是軟件生命周期中的另一個獨立的階段
軟件測試的工作量往往占軟件開發(fā)總工作量的40%以上4精選課件ppt總體設(shè)計內(nèi)容提綱2軟件測試基礎(chǔ)3單元測試、集成測試、確認測試4白盒測試技術(shù)1編碼5黑盒測試技術(shù)6調(diào)試7軟件可靠性5精選課件ppt編碼程序設(shè)計語言是人和計算機通信的基本工具程序設(shè)計語言的特點影響人的思維和解題方法影響人和計算機通信的方式和質(zhì)量影響人閱讀和理解程序的難易程度由于軟件大部分成本在測試和維護,所以程序容易測試和容易維護極端重要程序員在相同時間內(nèi)可以寫出的高級語言語句數(shù)和匯編語言指令數(shù)大體相同因此用高級語言寫程序比用匯編語言寫程序生產(chǎn)率可以提高好幾倍用高級語言寫的程序易測試、易閱讀和維護6精選課件ppt編碼選擇程序設(shè)計語言的理想標準
應(yīng)該有理想的模塊化機制,以及可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)語言特點應(yīng)該使編譯程序能夠盡可能多地發(fā)現(xiàn)程序中的錯誤選用的高級語言應(yīng)該有良好的獨立編譯機制7精選課件ppt編碼選擇程序設(shè)計語言的實用標準系統(tǒng)用戶的要求如果所開發(fā)的系統(tǒng)由用戶負責維護,用戶通常要求用他們熟悉的語言書寫程序可以使用的編譯程序
運行目標系統(tǒng)的環(huán)境中可以提供的編譯程序往往限制了可以選用的語言的范圍可以得到的軟件工具
如果某種語言有支持程序開發(fā)的軟件工具可以利用,則目標系統(tǒng)的實現(xiàn)和驗證都變得比較容易4.工程規(guī)模
如果工程規(guī)模很龐大,現(xiàn)有的語言又不完全適用,那么設(shè)計并實現(xiàn)一種提供這個工程項目專用的程序設(shè)計語言,可能是一個正確的選擇5.程序員的知識
如果和其他標準不矛盾,那么應(yīng)該選擇一種已經(jīng)為程序員所熟悉的語言8精選課件ppt編碼選擇程序設(shè)計語言的實用標準6.軟件可移植性要求如果目標系統(tǒng)將在幾臺不同的計算機上運行,或者預期的使用壽命很長,那么選擇一種標準化程度高、程序可移植性好的語言就是很重要的7.軟件的應(yīng)用領(lǐng)域FORTRAN語言特別適合于工程和科學計算COBOL語言適合于商業(yè)領(lǐng)域應(yīng)用C語言和Ada語言適用于系統(tǒng)和實時應(yīng)用領(lǐng)域LISP語言適用于組合問題領(lǐng)域PROLOG語言適于表達知識和推理9精選課件ppt編碼編碼風格
“好”程序的標準源程序代碼的邏輯簡明清晰、易讀易懂為寫出“好”程序應(yīng)遵循的原則1程序內(nèi)部的文檔程序內(nèi)部的文檔包括:恰當?shù)臉俗R符適當?shù)淖⒔獬绦虻囊曈X組織
選取含義鮮明的名字,對幫助閱讀程序很重要;不必要的長標識符提供了出錯的潛在可能性;如果使用縮寫,縮寫規(guī)則在整個程序設(shè)計過程中應(yīng)保持一致,必要時應(yīng)給縮寫名字加注解10精選課件ppt編碼編碼風格
1程序內(nèi)部的文檔程序中的注解分為兩類序言性注解:位于每個模塊的開始,作用是簡要描述模塊的功能、主要算法、接口和重要數(shù)據(jù)功能性注解:它插在程序中間,一般在源代碼的右邊,其作用是解釋這段代碼的必要性程序清單的布局對于程序的可讀性有很大影響程序設(shè)計者應(yīng)該遵循簡單語句一行寫一個語句對于選擇、循環(huán)等復雜語句采用逐層縮進的書寫原則,保證程序具有良好的梯形結(jié)構(gòu)11精選課件ppt編碼編碼風格
2數(shù)據(jù)說明數(shù)據(jù)說明的次序應(yīng)該標準化例如,按照數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)類型確定說明的次序有次序就容易查閱,因此能夠加速測試、調(diào)試和維護的過程。當多個變量名在一個語句中說明時,應(yīng)該按字母順序排列這些變量如果設(shè)計時使用了一個復雜的數(shù)據(jù)結(jié)構(gòu),則應(yīng)該用注解說明用程序設(shè)計語言實現(xiàn)這個數(shù)據(jù)結(jié)構(gòu)的方法和特點12精選課件ppt編碼編碼風格
3語句構(gòu)造構(gòu)造語句時應(yīng)該遵循的原則是:每個語句都應(yīng)該簡單而直接不能為了提高效率而使程序變得過分復雜不要為了節(jié)省空間而把多個語句寫在同一行盡量避免復雜的條件測試盡量減少對“非”條件的測試避免大量使用循環(huán)嵌套和條件嵌套用括號使邏輯或算術(shù)表達式的運算次序清晰直觀13精選課件ppt編碼編碼風格
4輸入輸出風格的規(guī)則對所有輸入數(shù)據(jù)都進行檢驗檢查輸入項重要組合的合法性保持輸入格式簡單使用數(shù)據(jù)結(jié)束標記,不要要求用戶指定數(shù)據(jù)的數(shù)目提示交互式輸入的請求,說明可用的選擇或邊界數(shù)值程序語言對格式有嚴格要求時,應(yīng)保持輸入格式一致設(shè)計良好的輸出報表14精選課件ppt編碼編碼風格
5效率效率主要指處理機時間和存儲器容量兩個方面關(guān)于效率的三條原則第一,效率是性能要求,應(yīng)該在需求分析階段確定效率方面的要求;第二,效率是靠好設(shè)計來提高的;第三,程序的效率和程序的簡單度是一致的,不要犧牲程序的清晰性和可讀性來不必要地提高效率15精選課件ppt編碼編碼風格
5效率程序運行時間源程序的效率直接由詳細設(shè)計階段確定的算法的效率決定寫程序的風格也能對程序的執(zhí)行速度和存儲器要求產(chǎn)生影響把詳細設(shè)計翻譯成程序時,應(yīng)使用的原則:寫程序之前先簡化算術(shù)的和邏輯的表達式研究嵌套的循環(huán),以確定是否有語句可以從內(nèi)往外移盡量避免使用多維數(shù)組盡量避免使用指針和復雜的表使用執(zhí)行時間短的算術(shù)運算不要混合使用不同的數(shù)據(jù)類型盡量使用整數(shù)運算和布爾表達式16精選課件ppt編碼編碼風格
5效率存儲器效率提高存儲器效率主要是指如何使程序占用存儲單元少,存取時間短提高執(zhí)行效率的技術(shù)也能提高存儲器效率對于大型計算機要考慮操作系統(tǒng)頁式調(diào)度的特點對于微處理機應(yīng)選用有緊縮存儲器特性的編譯程序,必要時可使用匯編語言17精選課件ppt編碼編碼風格
5效率輸人輸出的效率輸入輸出效率指人給計算機提供輸入或為了理解計算機輸出,所需花費的腦力是否經(jīng)濟簡單清晰是提高輸入輸出效率的關(guān)鍵所有輸入輸出都應(yīng)有緩沖,減少用于通信的額外開銷對二級存儲器(如磁盤)應(yīng)選用最簡單的訪問方法如果“超高效的”輸入輸出很難被人理解,則不應(yīng)采用這種方法18精選課件ppt總體設(shè)計內(nèi)容提綱1編碼2軟件測試基礎(chǔ)3單元測試、集成測試、確認測試4白盒測試技術(shù)5黑盒測試技術(shù)6調(diào)試7軟件可靠性19精選課件ppt軟件測試基礎(chǔ)防不勝防的軟件錯誤案例1963年,美國飛往火星的火箭爆炸,損失損失1000萬美元.
原因:FORTRAN循環(huán)DO5i=1,3誤寫為DO5i=1.31967年蘇聯(lián)“聯(lián)盟一號”宇宙飛船返回時因忽略一個小數(shù)點,在進入大氣層時打不開降落傘而燒毀。聯(lián)通2001年某市話費核算系統(tǒng)平均100元話費誤差0.20元軟件測試的必要性軟件的復雜性成員之間的溝通和配合技術(shù)評審的不完整性編碼引入新的錯誤20精選課件ppt軟件測試基礎(chǔ)軟件測試的目的軟件測試的目的與軟件工程其他階段的目的都相反軟件工程的其他階段都是“建設(shè)性”的在測試階段測試人員努力設(shè)計一系列測試方案,目的卻是為了“破壞”已經(jīng)建造好的軟件系統(tǒng)測試階段的根本目的是盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯誤,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶使用21精選課件ppt軟件測試基礎(chǔ)軟件測試的目標什么是測試?它的目標是什么?G.Myers給出了關(guān)于測試的一些規(guī)則:(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。22精選課件ppt軟件測試基礎(chǔ)軟件測試準則(1)所有測試都應(yīng)該能追溯到用戶需求(2)應(yīng)該在測試開始之前就制定出測試計劃;完成了需求模型就可以著手制定測試計劃;在建立了設(shè)計模型后就可以立即開始設(shè)計詳細的測試方案(3)測試發(fā)現(xiàn)的錯誤中的80%很可能是由程序中20%的模塊造成的。問題是怎樣找出這些可疑的模塊并徹底地測試它們(4)應(yīng)該從“小規(guī)?!睖y試開始,并逐步進行“大規(guī)?!睖y試通常,首先重點測試單個程序模塊,然后把測試重點轉(zhuǎn)向在集成的模塊簇中尋找錯誤,最后在整個系統(tǒng)中尋找錯誤(5)
窮舉測試是不可能的所謂窮舉測試就是把程序所有可能的執(zhí)行路徑都檢查一遍的測試,例1,例2(6)為了達到最佳的測試效果,應(yīng)該由獨立的第三方從事測試工作23精選課件ppt軟件測試基礎(chǔ)測試方法有關(guān)概念測試用例一組用于測試的輸入數(shù)據(jù)和預期得出的正確輸出測試方案測試用例和用例預定要檢驗的功能測試計劃要進行的測試種類和進度安排24精選課件ppt軟件測試基礎(chǔ)測試方法黑盒測試法把程序看作一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程黑盒測試是在程序接口進行的測試檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息程序運行過程中能否保持外部信息黑盒測試又稱為功能測試
測試過程后期使用的方法25精選課件ppt軟件測試基礎(chǔ)測試方法白盒測試法把程序看成裝在一個透明的白盒子,測試者完全知道程序的結(jié)構(gòu)和處理算法這種方法按照程序內(nèi)部的邏輯測試程序,檢測程序中主要執(zhí)行通路是否都能按預定要求正確工作白盒測試又稱為結(jié)構(gòu)測試
測試過程早期使用的方法26精選課件ppt軟件測試基礎(chǔ)測試步驟1.模塊測試模塊測試的目的是保證每個模塊作為一個單元能正確運行模塊測試通常又稱為單元測試在這個測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細設(shè)計的錯誤2.子系統(tǒng)測試子系統(tǒng)測試是把經(jīng)過單元測試的模塊放在一起形成一個子系統(tǒng)來測試模塊相互間的協(xié)調(diào)和通信是這個測試過程中的主要問題這個步驟著重測試模塊的接口27精選課件ppt軟件測試基礎(chǔ)測試步驟3.系統(tǒng)測試把經(jīng)過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)來測試發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤兼有檢測和組裝兩重含義,通常稱為集成測試4.驗收測試驗收測試把軟件系統(tǒng)作為單一的實體進行測試,測試內(nèi)容與系統(tǒng)測試基本類似,但是它是在用戶積極參與下進行的,而且可能主要使用實際數(shù)據(jù)(系統(tǒng)將來要處理的信息)進行測試驗收測試的目的是驗證系統(tǒng)確實能夠滿足用戶的需要,在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤驗收測試也稱為確認測試28精選課件ppt軟件測試基礎(chǔ)測試步驟5.平行運行所謂平行運行就是同時運行新開發(fā)出來的系統(tǒng)和將被它取代的舊系統(tǒng),以便比較新舊兩個系統(tǒng)的處理結(jié)果。這樣做的具體目的有如下幾點:(1)可以在準生產(chǎn)環(huán)境中運行新系統(tǒng)而又不冒風險(2)用戶能有一段熟悉新系統(tǒng)的時間(3)可以驗證用戶指南和使用手冊之類的文檔(4)能夠以準生產(chǎn)模式對新系統(tǒng)進行全負荷測試,可以用測試結(jié)果驗證性能指標29精選課件ppt軟件測試基礎(chǔ)測試階段的信息流軟件配置:包括需求說明書、設(shè)計說明書和源程序清單測試配置:包括測試計劃和測試方案測試評價調(diào)試可靠性模型軟件配置測試配置測試結(jié)果預期結(jié)果錯誤正確錯誤率數(shù)據(jù)可靠性測試30精選課件ppt總體設(shè)計內(nèi)容提綱1編碼
2軟件測試基礎(chǔ)
3單元測試、集成測試、確認測試4白盒測試技術(shù)5黑盒測試技術(shù)6調(diào)試7軟件可靠性31精選課件ppt單元測試單元測試集中檢測程序“模塊”單元測試主要使用白盒測試技術(shù)對多個模塊的測試可以并行地進行在編寫出源程序代碼并通過了編譯程序的語法檢查后,就可以用詳細設(shè)計描述作指南,對重要的執(zhí)行通路進行測試單元測試工作可用人工測試和計算機測試32精選課件ppt單元測試測試重點1模塊接口參數(shù)的數(shù)目、次序、屬性或單位系統(tǒng)與變元是否一致是否修改了只作輸入用的變元全局變量的定義和用法在各個模塊中是否一致2局部數(shù)據(jù)結(jié)構(gòu)發(fā)現(xiàn)局部數(shù)據(jù)說明、初始化、默認值等方面的錯誤3重要的執(zhí)行通路選擇最有代表性、最可能發(fā)現(xiàn)錯誤的執(zhí)行通路進行測試應(yīng)該設(shè)計測試方案用來發(fā)現(xiàn)由于錯誤的計算、不正確的比較或不適當?shù)目刂屏鞫斐傻腻e誤33精選課件ppt單元測試測試重點4出錯處理通路好的設(shè)計應(yīng)該能預見出現(xiàn)錯誤的條件,并且設(shè)置適當?shù)奶幚礤e誤的通路,以便在真的出現(xiàn)錯誤時執(zhí)行相應(yīng)的出錯處理通路或干凈地結(jié)束處理應(yīng)該著重測試下述一些可能發(fā)生的錯誤:對錯誤的描述是難以理解的記下的錯誤與實際遇到的錯誤不同在對錯誤進行處理之前,錯誤條件已經(jīng)引起系統(tǒng)干預對錯誤的處理不正確描述錯誤的信息不足以幫助確定造成錯誤的位置34精選課件ppt單元測試測試重點5邊界條件邊界測試是單元測試中最后的也是最重要的任務(wù)。軟件常常在它的邊界上失效例如,處理n元數(shù)組的第n個元素時,或做到i次循環(huán)中的第i次重復時,往往會發(fā)生錯誤。使用剛好小于、剛好等于和剛好大于最大值或最小值的數(shù)據(jù)結(jié)構(gòu)、控制量和數(shù)據(jù)值的測試方案,非??赡馨l(fā)現(xiàn)軟件中的錯誤。35精選課件ppt單元測試代碼審查一種非常有效的程序驗證技術(shù),對典型的程序來說,可查出30%-70%的邏輯設(shè)計錯誤和編碼錯誤審查小組最好由下述4人組成:組長:一個很有能力的程序員,沒有直接參與這項工程程序的設(shè)計者程序的編寫者程序的測試者預演:由人模擬計算機執(zhí)行程序人工測試和計算機測試是互相補充,相輔相成的36精選課件ppt單元測試計算機測試驅(qū)動程序(Driver)和存根程序(Stub)通常驅(qū)動程序也就是一個“主程序”,它接收測試數(shù)據(jù),把這些數(shù)據(jù)傳送給被測試的模塊,并且印出有關(guān)的結(jié)果“存根”程序代替被測試的模塊所調(diào)用的模塊存根程序也可以稱為“虛擬子程序”它使用被它代替的模塊的接口,做最少的數(shù)據(jù)操作,印出對入口的檢驗或操作結(jié)果,并把控制歸還給調(diào)用它的模塊驅(qū)動程序和存根程序代表開銷37精選課件ppt集成測試集成測試是測試和組裝軟件的系統(tǒng)化技術(shù)由模塊組裝成程序的兩種方法非漸增式測試方法先分別測試每個模塊,再把所有模塊按設(shè)計要求放在一起結(jié)合成所要的程序,這種方法稱為非漸增式測試方法漸增式測試方法把下一個要測試的模塊同已經(jīng)測試好的那些模塊結(jié)合起來進行測試,測試完以后再把下一個應(yīng)該測試的模塊結(jié)合進來測試。這種每次增加一個模塊的方法稱為漸增式測試,這種方法實際上同時完成單元測試和集成測試集成測試38精選課件ppt集成測試兩種方法的比較非漸增式測試一下子把所有模塊放在一起,并把龐大的程序作為一個整體來測試,測試者面對的情況十分復雜改正錯誤是極端困難的想要診斷定位一個錯誤是非常困難的錯誤會連續(xù)不斷,沒有盡頭漸增式測試與“一步到位”的非漸增式測試相反,它把程序劃分成小段來構(gòu)造和測試易定位和改正錯誤對接口可以進行更徹底的測試可以使用系統(tǒng)化的測試方法39精選課件ppt集成測試漸增測試的兩種集成策略自頂向下集成從主控制模塊開始,沿著程序的控制層次向下移動,逐漸把各個模塊結(jié)合起來可使用深度優(yōu)先的策略,或?qū)挾葍?yōu)先的策略40精選課件ppt集成測試M1M2M3S4M5M6S7M8深度優(yōu)先策略例如,選取左通路,首先結(jié)合模塊Ml、M2和M5;其次,M8或M6然后構(gòu)造中央的和右側(cè)的控制通路41精選課件ppt集成測試M1M2M3S4M5M6S7M8寬度優(yōu)先策略例如,首先結(jié)合模塊M2、M3和M4(代替存根程序S4),然后結(jié)合下一個控制層次中的模塊M5、M6和M7如此繼續(xù)進行下去,直到所有模塊都被結(jié)合進來為止42精選課件ppt集成測試自頂向下集成測試的步驟:第1步:測試頂端模塊,用存根程序(stub)代替直接附屬的下層模塊
Stub:模擬未測試模塊的活動.MS1S243精選課件ppt集成測試第2步:根據(jù)深度優(yōu)先或?qū)挾葍?yōu)先的策略,每次用一個實際模塊代換一個stub。
第3步:在結(jié)合進一個模塊的同時進行測試。MS1S2M1S3S4M2S2第4步:回歸測試—全部或部分地重復以前做過的測試。44精選課件ppt集成測試優(yōu)點:在早期即對主要控制及關(guān)鍵的抉擇進行檢驗問題:Stub只是對低層模塊的模擬,測試時沒有重要的數(shù)據(jù)自下往上流,許多重要的測試須推遲進行,而且在早期不能充分展開人力自頂向下集成測試的優(yōu)缺點:45精選課件ppt集成測試⑵自底向上集成測試步驟:
第1步:把低層模塊組合成族,每族實現(xiàn)一個子功能第2步:用驅(qū)動程序(Driver)協(xié)調(diào)測試數(shù)據(jù)的I\O,測試子功能族。Driver:調(diào)用模塊細節(jié)逐個進行測試.DM1M246精選課件ppt集成測試第3步:去掉Driver,自下而上把子功能族合成更大的子功能族。MMMMMMMMMMMMDDDDDD注意:兩種策略的優(yōu)、缺點剛好互補,但單用其中任一種都不實際,通常根據(jù)軟件的特點將二者混用。47精選課件ppt集成測試D1D2D3MaMbMc48精選課件ppt集成測試不同集成測試策略的比較在測試實際的軟件系統(tǒng)時,選用適當?shù)臏y試策略,純粹自頂向下或純粹自底向上的策略可能都不實用實踐中創(chuàng)造出許多混合策略:改進的自頂向下測試方法基本上使用自頂向下的測試方法,但是在早期使用自底向上的方法測試軟件中的少數(shù)關(guān)鍵模塊混合法對軟件結(jié)構(gòu)中較上層使用的自頂向下方法與對軟件結(jié)構(gòu)中較下層使用的自底向上方法相結(jié)合49精選課件ppt集成測試回歸測試回歸測試是指重新執(zhí)行已做過的測試的某個子集,保證由于調(diào)試引起的變化,不會導致非預期的軟件行為或額外錯誤的測試活動,帶來非預期的副作用?;貧w測試集包括下述3類不同的測試用例:檢測軟件全部功能的代表性測試用例針對可能受修改影響的軟件功能的附加測試針對被修改過的軟件成分的測試50精選課件ppt確認測試確認測試也稱為驗收測試,它的目標是驗證軟件的有效性驗證指的是保證軟件正確地實現(xiàn)了某個特定要求的一系列活動確認指的是為了保證軟件確實滿足了用戶需求而進行的一系列活動軟件有效性的簡單定義是:如果軟件的功能和性能如同用戶所合理期待的那樣,軟件就是有效的51精選課件ppt確認測試確認測試的范圍確認測試必須有用戶參加,或以用戶為主確認測試通常使用黑盒測試法應(yīng)該仔細設(shè)計測試計劃和測試過程測試計劃包括要進行的測試的種類及進度安排測試過程規(guī)定了用來檢測軟件是否與需求一致的測試方案通過測試和調(diào)試要保證軟件能滿足所有功能要求,能達到每個性能要求,文檔資料準確而完整、安全性、可移植性、兼容性和可維護性等確認測試有下述兩種可能的結(jié)果:(1)功能和性能與用戶要求一致,軟件是可以接受的(2)功能和性能與用戶要求有差距。發(fā)現(xiàn)的軟件缺陷或錯誤的策略,通常需要和用戶充分協(xié)商52精選課件ppt確認測試軟件配置復查目的是保證軟件配置的所有成分都齊全質(zhì)量符合要求文檔與程序完全一致具有完成軟件維護所必須的細節(jié)已經(jīng)編好目錄53精選課件ppt確認測試Alpha和Beta測試(面向多個客戶的產(chǎn)品測試)Alpha測試由用戶在開發(fā)者的場所進行,并且在開發(fā)者對用戶的“指導”下進行測試開發(fā)者負責記錄發(fā)現(xiàn)的錯誤和使用中遇到的問題Alpha是在“受控”狀態(tài)下進行的測試活動Beta測試由軟件的最終用戶們在一個或多個客戶場所進行用戶記錄在Beta測試過程中遇到的一切問題,并且定期把這些問題報告給開發(fā)者開發(fā)者對軟件產(chǎn)品進行必要的修改,并準備向全體客戶發(fā)布最終的軟件產(chǎn)品Beta測試是在“不受控”的狀態(tài)下進行的測試活動54精選課件ppt總體設(shè)計內(nèi)容提綱3單元測試、集成測試、確認測試4白盒測試技術(shù)1編碼
2軟件測試基礎(chǔ)5黑盒測試技術(shù)6調(diào)試7軟件可靠性55精選課件ppt白盒測試技術(shù)設(shè)計測試方案測試方案包括具體的測試目的(例如,預定要測試的具體功能),應(yīng)該輸入的測試數(shù)據(jù)和預期的結(jié)果測試數(shù)據(jù)和預期的輸出結(jié)果稱為測試用例
因為不可能進行窮盡的測試,選用少量“最有效的”測試數(shù)據(jù),做到盡可能完備的測試就更重要了已研究出許多設(shè)計測試數(shù)據(jù)的技術(shù),這些技術(shù)各有優(yōu)缺點,通常需聯(lián)合使用多種設(shè)計測試數(shù)據(jù)的技術(shù)56精選課件ppt白盒測試技術(shù)
白盒法又稱為邏輯覆蓋法,其測試用例選擇,是按照不同覆蓋標準確定的。邏輯覆蓋邏輯覆蓋是對一系列測試過程的總稱,這組測試過程逐漸進行越來越完整的通路測試適合于白盒測試覆蓋程度由弱到強次序是語句覆蓋->判定->條件->判定/條件->條件組合57精選課件ppt白盒測試技術(shù)邏輯覆蓋1語句覆蓋語句覆蓋的含義:選擇足夠多的測試數(shù)據(jù),使被測程序中每個語句至少執(zhí)行一次。語句覆蓋只關(guān)心判定表達式的值,而沒有分別測試判定表達式中每個條件取不同值時的情況58精選課件ppt入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFSabcde為了使每個語句都執(zhí)行一次,程序的執(zhí)行路徑應(yīng)該是sabcde為此只需要輸入下面的測試數(shù)據(jù)(實際上X可以是任意實數(shù)):
A=2,B=0,X=459精選課件ppt白盒測試技術(shù)邏輯覆蓋2判定覆蓋判定覆蓋又叫分支覆蓋判定覆蓋的含義:不僅每個語句必須至少執(zhí)行一次,而且每個判定的每種可能的結(jié)果都應(yīng)該至少執(zhí)行一次在⑴的基礎(chǔ)上,每個判定的每個分支至少執(zhí)行一次60精選課件pptSabcde能夠分別覆蓋路徑:sabcde和sace的兩組測試數(shù)據(jù),或者可以分別覆蓋路徑sacde和sabce的兩組測試數(shù)據(jù),都滿足判定覆蓋標準I.A=3,B=0,X=1(覆蓋sabce)Ⅱ.A=2,B=1,X=1(覆蓋sacde)入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF問題:若X>1錯寫為X<1,仍然無法被測出。61精選課件ppt白盒測試技術(shù)邏輯覆蓋3條件覆蓋條件覆蓋的含義是不僅每個語句至少執(zhí)行一次,而且使判定表達式中的每個條件都取到各種可能的結(jié)果在⑴的基礎(chǔ)上,使每個判定表達式的每個條件都取到各種可能的結(jié)果62精選課件pptSabcdea點有下述各種結(jié)果出現(xiàn)A>1,A≤1,B=0,B≠0c點有下述各種結(jié)果出現(xiàn)A=2,A≠2,X>1,X≤1只需要使用下面兩組測試數(shù)據(jù)就可以達到上述覆蓋標準:I.A=2,B=0,X=4(執(zhí)行路徑sabcde,滿足A>1,B=0;A=2,X>1)Ⅱ.A=l,B=1,X=1(執(zhí)行路徑sace,滿足A1,B0;A2,X1)入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF63精選課件ppt白盒測試技術(shù)邏輯覆蓋4.判定/條件覆蓋
它的含義是選取足夠多的測試數(shù)據(jù),使得判定表達式中的每個條件都取到各種可能的值,而且每個判定表達式也都取到各種可能的結(jié)果。64精選課件ppt白盒測試技術(shù)邏輯覆蓋5.條件組合覆蓋條件組合覆蓋的含義它要求選取足夠多的測試數(shù)據(jù),使得每個判定表達式中條件的各種可能組合都至少出現(xiàn)一次。65精選課件pptSabcdI.A=2,B=0,X=4(l,5兩種組合,路徑sabcde)Ⅱ.A=2,B=l,X=1(2,6兩種組合,執(zhí)行路徑sacde)Ⅲ.A=1,B=0,X=2(3,7兩種組合,執(zhí)行路徑sacde)Ⅳ.A=1,B=1,X=1(4,8兩種組合,執(zhí)行路徑sace)入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF全部可能的條件組合為:①A>1,B=0②A>1,B0③A1,B=0④A1,B0⑤A=2,X>1⑥A=2,X
1⑦A
2,X>1⑧A
2,X
1e66精選課件ppt從考察控制流或流圖的角度,還可考慮下述覆蓋:6點覆蓋7邊覆蓋=語句覆蓋8路徑覆蓋每條可能的路徑都至少執(zhí)行一次,若圖中有環(huán),則每個環(huán)至少經(jīng)過一次。=判定覆蓋邏輯覆蓋67精選課件ppt控制結(jié)構(gòu)測試基本路徑測試基本路徑測試是TomMcCabe提出的一種白盒測試技術(shù)。用該程序的環(huán)形復雜度定義執(zhí)行路徑的基本集合,導出的測試用例可以保證程序中的每條語句至少執(zhí)行一次,而且每個條件在執(zhí)行時都將分別取真、假兩種值。步驟如下:第一步,根據(jù)過程設(shè)計結(jié)果畫出相應(yīng)的流圖。第二步,計算流圖的環(huán)形復雜度。第三步,確定線性獨立路徑的基本集合。第四步,設(shè)計可強制執(zhí)行基本集合中每條路徑的測試用例。68精選課件ppt基本路徑測試例如:用PDL描述的求平均值過程,PROCEDUREaverage;/*這個過程計算不超過100個在規(guī)定值域內(nèi)的有效數(shù)字的平均值;同時計算有效數(shù)字的總和及個數(shù)。*/
INTERFACERETURNSaverage,total.input,total.valid;INTERFACEACCEPTSvalue,minimum,maximum;TYPEvalue[1…100]ISSCALARARRAY;TYPEaverage,total.input,total.valid; minimum,maximum,sumISSCALAR;TYPEiISINTEGER;1: i=1; total.input=total.valid=0; sum=0;69精選課件ppt基本路徑測試2: DOWHILEvalue[i]<>-9993: ANDtotal.input<1004: incrementtotal.inputby1;5: IFvalue[i]>=minimum6: ANDvalue[i]<=maximum7: THENincrementtotal.validby1; sum=sum+value[i];8: ENDIF incrementiby1;9: ENDDO10: IFtotal.valid>011: THENaverage=sum/total.valid;12: ELSEaverage=-999;13: ENDIF ENDaverage70精選課件ppt求平均值過程的流圖71精選課件ppt基本路徑測試第二步,計算流圖的環(huán)形復雜度。
可以用第6.5.1小節(jié)講述的3種方法之一計算環(huán)形復雜度。圖7.6所示流圖的環(huán)形復雜度為6。第三步,確定線性獨立路徑的基本集合。用流圖術(shù)語描述,獨立路徑至少包含一條在定義該路徑之前不曾用過的邊。程序的環(huán)形復雜度決定了程序中獨立路徑的數(shù)量,而且這個數(shù)是確保程序中所有語句至少被執(zhí)行一次所需的測試數(shù)量的上界。對于求平均值過程來說,由于環(huán)形復雜度為6,因此共有6條獨立路徑。72精選課件ppt路徑3:1-2-3-10-11-13路徑2:1-2-10-12-13路徑1:1-2-10-11-13路徑4:1-2-3-4-5-8-9-2-…路徑5:1-2-3-4-5-6-8-9-2-…路徑6:1-2-3-4-5-6-7-8-9-2-…識別出判定結(jié)點。本例中結(jié)點2、3、5、6和10是判定結(jié)點。73精選課件ppt基本路徑測試第四步,設(shè)計可強制執(zhí)行基本集合中每條路徑的測試用例。
應(yīng)該選取測試數(shù)據(jù)使得在測試每條路徑時都適當?shù)卦O(shè)置好了各個判定結(jié)點的條件。在測試過程中,執(zhí)行每個測試用例并把實際輸出結(jié)果與預期結(jié)果相比較。一旦執(zhí)行完所有測試用例,就可以確保程序中所有語句都至少被執(zhí)行了一次,而且每個條件都分別取過true值和false值。74精選課件ppt總體設(shè)計內(nèi)容提綱4白盒測試技術(shù)5黑盒測試技術(shù)3單元測試、集成測試、確認測試1編碼
2軟件測試基礎(chǔ)6調(diào)試7軟件可靠性75精選課件ppt黑盒測試技術(shù)黑盒測試著重測試軟件功能黑盒測試并不能取代白盒測試,它是與白盒測試互補的測試方法它很可能發(fā)現(xiàn)白盒測試不易發(fā)現(xiàn)的其他類型的錯誤黑盒測試力圖發(fā)現(xiàn)下述類型的錯誤:功能不正確或遺漏了功能界面錯誤數(shù)據(jù)結(jié)構(gòu)錯誤或外部數(shù)據(jù)庫訪問錯誤性能錯誤初始化和終止錯誤76精選課件ppt黑盒測試技術(shù)白盒測試在測試過程的早期階段進行,而黑盒測試主要用于測試過程的后期設(shè)計黑盒測試方案時,應(yīng)該考慮下述問題:(1)怎樣測試功能的有效性?(2)哪些類型的輸入可構(gòu)成好測試用例?(3)系統(tǒng)是否對特定的輸入值特別敏感?(4)怎樣劃定數(shù)據(jù)類的邊界?(5)系統(tǒng)能夠承受什么樣的數(shù)據(jù)率和數(shù)據(jù)量?(6)數(shù)據(jù)的特定組合將對系統(tǒng)運行產(chǎn)生什么影響?77精選課件ppt黑盒測試技術(shù)應(yīng)用黑盒測試技術(shù),能夠設(shè)計出滿足下述標準的測試用例集:(1)所設(shè)計出的測試用例能夠減少為達到合理測試所需要設(shè)計的測試用例的總數(shù);(2)所設(shè)計出的測試用例能夠告訴我們,是否存在某些類型的錯誤,而不是僅僅指出與特定測試相關(guān)的錯誤是否存在。78精選課件ppt黑盒測試技術(shù)等價劃分等價劃分測試是根據(jù)等價類設(shè)計測試用例的一種技術(shù)。是黑盒測試的典型方法之一。通過把被測試程序所有可能的輸入數(shù)據(jù)域劃分成若干部分。從每一部分中選取少數(shù)有代表性的數(shù)據(jù)作為測試用例,可有效減少測試次數(shù),極大提高軟件測試效率,縮短軟件開發(fā)周期.每類中的一個典型值在測試中的作用與這一類中所有其他值的作用相同,據(jù)此導出測試用例劃分一組等價類描繪一組輸入條件的有效或無效條件,測試程序是否有設(shè)計方案中該有的輸出結(jié)果.79精選課件ppt黑盒測試技術(shù)劃分等價類的啟發(fā)式規(guī)則:1如果規(guī)定了輸入值的范圍則可劃分出一個有效的等價類(輸入值在此范圍內(nèi))兩個無效的等價類(輸入值小于最小值或大于最大值)2如果規(guī)定了輸入數(shù)據(jù)的個數(shù)則類似地也可以劃分出一個有效的等價類和兩個無效的等價類;3如果規(guī)定了輸入數(shù)據(jù)的一組值,而程序?qū)Σ煌斎胫底霾煌幚韯t每個允許的輸入值是一個有效的等價類此外還有一個無效的等價類(任一個不允許的輸入值)80精選課件ppt黑盒測試技術(shù)劃分等價類的啟發(fā)式規(guī)則:4如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則則可以劃分出一個有效的等價類(符合規(guī)則)和若干個無效的等價類(從各種不同角度違反規(guī)則)5如果規(guī)定了輸入數(shù)據(jù)為整型則可以劃分出正整數(shù)、零和負整數(shù)等3個有效類;6如果程序的處理對象是表格則應(yīng)該使用空表,以及含一項或多項的表81精選課件ppt黑盒測試技術(shù)根據(jù)等價類設(shè)計測試方案時使用下面兩個步驟設(shè)計一個新方案以盡可能多地覆蓋尚未被覆蓋的有效等價類;重復這一步驟直到所有有效類都被覆蓋為止。設(shè)計一個新方案以覆蓋一個且僅一個尚未被覆蓋的無效等價類;重復這一步驟直到所有無效類都被覆蓋為止。(通常程序執(zhí)行一個錯誤后即不繼續(xù)檢測其它錯誤,故每次只測一個無效類)。82精選課件ppt黑盒測試技術(shù)例:假設(shè)有一個把數(shù)字串轉(zhuǎn)變成整數(shù)的函數(shù)。運行程序的計算機字長16位,用二進制補碼表示整數(shù).分析這個程序的規(guī)格說明,劃分出如下等價類:有效輸入的等價類有:(1)l-6個數(shù)字字符組成的數(shù)字串;‘123456’(2)最高位數(shù)字是零的數(shù)字串;‘000001’(3)最高位數(shù)字左鄰是負號的數(shù)字串;‘-12345’83精選課件ppt黑盒測試技術(shù)無效輸入的等價類有:(4)空字符串(全是空格);‘’(5)左部填充的字符既不是零也不是空格;‘XXXXX1’(6)最高位數(shù)字右面由數(shù)字和空格混合組成;‘12’(7)最高位數(shù)字右面由數(shù)字和其他字符混合組成;‘13XX’(8)負號與最高位數(shù)字之間有空格;‘-1234’84精選課件ppt黑盒測試技術(shù)合法輸出的等價類有(9)在計算機能表示的最小負整數(shù)和零之間的負整數(shù)-32768~0(10)零;0(11)在零和計算機能表示的最大正整數(shù)之間的正整數(shù)0~32768非法輸出的等價類有(12)比計算機能表示的最小負整數(shù)還小的負整數(shù)-32769(13)比計算機能表示的最大正整數(shù)還大的正整數(shù)3276885精選課件ppt黑盒測試技術(shù)邊界值分析就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法處理邊界情況時程序最容易發(fā)生錯誤設(shè)計使程序運行在邊界情況附近的測試方案,暴露出程序錯誤的可能性更大一些邊界值分析法,應(yīng)該選取剛好等于、稍小于和稍大于等價類邊界值的數(shù)據(jù)作為測試數(shù)據(jù)通常設(shè)計測試方案時總是聯(lián)合使用等價劃分和邊界值分析兩種技術(shù)86精選課件ppt黑盒測試技術(shù)邊界值分析例如,為了測試前述的把數(shù)字串轉(zhuǎn)變成整數(shù)的程序,除了上一小節(jié)已經(jīng)用等價劃分法設(shè)計出的測試方案外,還應(yīng)該用邊界值分析法再補充下述測試方案:(12)使輸出剛好等于最小的負整數(shù)輸入:‘-32768’預期的輸出為:-32768(13)使輸出剛好等于最大的正整數(shù)輸入:‘32767’預期的輸出:32767(14)使輸出剛剛小于最小的負整數(shù)輸入:‘-32769’預期的輸出;“錯誤—無效輸入”(15)使輸出剛剛大于最大的正整數(shù)輸入:‘32768’預期的輸出:“錯誤—無效輸入”87精選課件ppt黑盒測試技術(shù)錯誤推測錯誤推測法在很大程度上靠直覺和經(jīng)驗進行?;鞠敕ㄊ橇信e出程序中可能有的錯誤和容易發(fā)生錯誤的特殊情況,并且根據(jù)它們選擇測試方案。經(jīng)驗表明,在一段程序中已經(jīng)發(fā)現(xiàn)的錯誤數(shù)目往往和尚未發(fā)現(xiàn)的錯誤數(shù)成正比因此,在進一步測試時要著重測試那些已發(fā)現(xiàn)了較多錯誤的程序段88精選課件ppt黑盒測試技術(shù)錯誤推測思路列出可能有的錯誤列出容易發(fā)生錯誤的特殊情況以此為基礎(chǔ)設(shè)計測試方案根據(jù)直覺、經(jīng)驗工具常見錯誤清單、判定表等89精選課件ppt測試技術(shù)總結(jié)實用策略:黑盒設(shè)計+白盒補充在任何情況下都應(yīng)該使用邊界值分析的方法;必要時用等價劃分法補充;必要時再用錯誤推測法補充;對照程序邏輯,檢查測試方案??筛鶕?jù)對程序可靠性的要求采用不同的邏輯覆蓋標準,必要時補充一些測試方案。注:
即使用上述綜合策略設(shè)計測試方案,仍不能保證發(fā)現(xiàn)一切錯誤。例如Lucent公司經(jīng)過包括逐行檢查源代碼在內(nèi)的多方面測試之后,其軟件能達標運行的成功率為80%90精選課件ppt總體設(shè)計內(nèi)容提綱5黑盒測試技術(shù)6調(diào)試4白盒測試技術(shù)3單元測試、集成測試、確認測試1編碼
2軟件測試基礎(chǔ)7軟件可靠性91精選課件ppt調(diào)試調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程軟件錯誤的外部表現(xiàn)和它的內(nèi)在原因之間可能并沒有明顯的聯(lián)系,調(diào)試就是把癥狀和原因聯(lián)系起來的尚未被人深入認識的智力過程。調(diào)試過程調(diào)試過程從執(zhí)行一個測試用例開始評估測試結(jié)果,如果發(fā)現(xiàn)實際結(jié)果與預期結(jié)果不一致,則這種不一致就是一個癥狀,它表明在軟件中存在著隱藏的問題調(diào)試過程試圖找出產(chǎn)生癥狀的原因,以便改正錯誤92精選課件ppt執(zhí)行測試用例測試用例結(jié)果Debugging附加測試被懷疑的原因已識別的原因糾正回歸測試Debugging調(diào)試過程93精選課件ppt調(diào)試調(diào)試過程總會有以下兩種結(jié)果之一:找到了問題的原因并把問題改正和排除掉沒找出問題的原因猜測一個原因->用例驗證假設(shè)->重復...調(diào)試困難與軟件錯誤的特征:1、癥狀和產(chǎn)生癥狀的原因可能在程序中相距甚遠,緊耦合的程序結(jié)構(gòu)更加劇了這種情況2、當改正了另一個錯誤之后,癥狀可能暫時消失了。3、癥狀可能實際上并不是由錯誤引起的(例,舍入誤差)94精選課件ppt調(diào)試調(diào)試困難與軟件錯誤的特征:4、癥狀可能是由不易跟蹤的人為錯誤引起的5、癥狀可能是由定時問題而不是由處理問題引起的。6、可能很難重新產(chǎn)生完全一樣的輸入條件(例如,輸入順序不確定的實時應(yīng)用系統(tǒng))7、癥狀可能時有時無,這種情況在硬件和軟件緊密地耦合在一起的嵌入式系統(tǒng)中特別常見8、癥狀可能是由分布在許多任務(wù)中的原因引起的,這些任務(wù)運行在不同的處理機上95精選課件ppt調(diào)試調(diào)試途徑調(diào)試的目標都是尋找軟件錯誤的原因并改正錯誤調(diào)試途徑主要有:1、蠻干法:憑經(jīng)驗猜測,寫輸出語句來觀察結(jié)果。2、回溯法:由癥狀最先出現(xiàn)的地方,沿控制流向回檢查。適用于小型程序。3、對分查找法:在關(guān)鍵點插入變量的正確值輸出正確錯誤在前半段錯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通信技術(shù)網(wǎng)絡(luò)建設(shè)服務(wù)合同
- 數(shù)字文化創(chuàng)意產(chǎn)業(yè)合作合同
- 2025年中圖版選擇性必修1歷史上冊階段測試試卷含答案
- 2025年浙教版九年級歷史下冊月考試卷
- 2025總部經(jīng)濟大樓聯(lián)合投資合同
- 2025餐飲配送合同書
- 2025年不銹鋼棒材項目提案報告模稿
- 建筑工程的資金籌措與管理
- 2025車輛轉(zhuǎn)讓合同協(xié)議書有法律效力
- 2025合同模板店面轉(zhuǎn)租合同范本
- 《人工智能發(fā)展史》課件
- 小學一年級數(shù)學20以內(nèi)的口算題(可直接打印A4)
- 品質(zhì)部經(jīng)理KRA KPI考核表
- 國家中小學智慧教育平臺推動家校共育
- 《馬克思主義與社會科學方法論》授課教案
- 一個28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 馬工程教育哲學課件第十章 教育哲學與教師發(fā)展
- GB/T 11376-2020金屬及其他無機覆蓋層金屬的磷化膜
- 成功源于自律 主題班會課件(共34張ppt)
- 新青島版(五年制)五年級下冊小學數(shù)學全冊導學案(學前預習單)
- (完整word版)重點監(jiān)管的危險化學品名錄(完整版)
評論
0/150
提交評論