確認測試白盒測試_第1頁
確認測試白盒測試_第2頁
確認測試白盒測試_第3頁
確認測試白盒測試_第4頁
確認測試白盒測試_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本堂課講授重點n確認測試n白盒測試技術(shù)確認測試n確認測試的概念n確認測試的范圍n軟件配置復查nAlpha和Beta測試確認測試的概念n確認測試的目標是驗證軟件的有效性n驗證:“保證軟件正確地實現(xiàn)了某個特定要求的一系列活動”n確認:“為了保證軟件確實滿足了用戶需求 而進行的一系列活動”n軟件的有效性軟件的有效性:如果軟件的功能和性能如同用戶所合理期待的那樣,軟件就是有效的n需求分析階段產(chǎn)生的軟件需求規(guī)格說明書是進行確認測試的基礎(chǔ)確認測試的范圍n必須有用戶積極參與,以用戶為主進行。用戶應該參與設計測試方案,使用用戶界面輸入測試數(shù)據(jù)并且分析評價測試的輸出結(jié)果n通常使用黑盒測試法n保證軟件:n能滿足所

2、有功能要求n能達到每個性能要求n文檔資料準確完整n能滿足其他預定的要求(如安全性、可移植性、兼容性、可維護性等)軟件配置復查n保證軟件配置所有成分齊全,包括:n可行性研究報告n需求分析規(guī)格說明書n總體設計說明書n詳細設計說明書n源代碼清單n測試計劃、測試方案、測試結(jié)果同時,質(zhì)量符合要求,文檔與程序完全一致,具有完成軟件維護所必須的細節(jié),已經(jīng)編好目錄。還有用戶手冊的完整性合正確性。Alpha和Beta測試n大型通用軟件,在正式發(fā)布前,通常需要執(zhí)行Alpha和Beta測試, Alpha測試是內(nèi)測, Beta測試是公測。nAlpha測試Alpha測試是由一個用戶在開發(fā)環(huán)境下進行的測試,也可以是公司內(nèi)

3、部的用戶在模擬實際操作環(huán)境下進行的受控測試,Alpha測試不能由程序員或測試員完成。Alpha測試發(fā)現(xiàn)的錯誤,可以在測試現(xiàn)場立刻反饋給開發(fā)人員,由開發(fā)人員及時分析和處理。目的是評價軟件產(chǎn)品的功能、可使用性、可靠性、性能和支持。尤其注重產(chǎn)品的界面和特色。nBeta測試由軟件的最終用戶在一個或多個客戶場所進行,開發(fā)者通常不在Beta測試現(xiàn)場。 Beta測試是軟件在開發(fā)者不能控制的環(huán)境中的“真實”應用,用戶記錄在Beta測試過程中遇到錯誤,并且定期把這些問題報告給開發(fā)者。開發(fā)者對軟件產(chǎn)品進行必要的修改和升級,最后將軟件產(chǎn)品交付給全體用戶使用。Beta測試著重于產(chǎn)品的支持性,包括文檔、客戶培訓和支持產(chǎn)

4、品的生產(chǎn)能力。只有當Alpha測試達到一定的可靠程度后,才能開始Beta測試。Alpha測試舉例n2004年3月,微軟Bill Gates證實,微軟年內(nèi)將拿出官方Alpha測試版的Longhorn操作系統(tǒng),微軟Bill Gates也同時證實,Longhorn要到2006年才能正式上市銷售。微軟這款下一代桌面操作系統(tǒng)將內(nèi)建DirectX 10,并且采用3D操作界面,采用WinFS文件系統(tǒng),采用新一代安全機制。 白盒測試技術(shù)n問題提出n概念n白盒測試技術(shù)主要包括:n邏輯覆蓋n控制結(jié)構(gòu)測試白盒測試概念n白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品內(nèi)部動作是否按照

5、規(guī)格說明書的規(guī)定正常進行,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路(雖然這是不可能的)是否都有能按預定要求正確工作,而不顧它的功能。 n測試方案:包括具體的測試目的,應該輸入的測試數(shù)據(jù)和預期的結(jié)果n測試用例:測試數(shù)據(jù)和預期的輸出結(jié)果測試數(shù)據(jù)n不同的測試數(shù)據(jù)發(fā)現(xiàn)程序錯誤的能力差別很大n不可能進行窮盡的測試n應該選用高效的測試數(shù)據(jù),提高測試效率降低測試成本。設計測試數(shù)據(jù)的技術(shù)包含白盒測試時設計測試數(shù)據(jù)的技術(shù)和黑盒測試時設計測試數(shù)據(jù)的技術(shù)。問題提出n“我們應該更注重于保證程序需求的實現(xiàn),為什么要花費時間和精力來擔心(和測試)邏輯細節(jié)?” n邏輯錯誤和不正確假設與一條程序路徑被運行的可能性成反

6、比。當我們設計和實現(xiàn)主流之外的功能、條件或控制時,錯誤往往開始出現(xiàn)在我們的工作中。日常處理往往被很好地了解(和很好地細查),而“特殊情況”的處理則難于發(fā)現(xiàn)。n我們經(jīng)常相信某邏輯路徑不可能被執(zhí)行,而事實上,它可能在正常的基礎(chǔ)上被執(zhí)行。程序的邏輯流有時是違反直覺的,這意味著我們關(guān)于控制流和數(shù)據(jù)流的一些無意識的假設可能導致設計錯誤,只有路徑測試才能發(fā)現(xiàn)這些錯誤。n例如,考慮 100行C語言程序,在一些基本的數(shù)據(jù)聲明之后,程序包含兩個嵌套循環(huán),根據(jù)輸入的條件分別執(zhí)行1到20次,在內(nèi)部循環(huán)中,需要四個if-then-else結(jié)構(gòu),該程序中大約有1014條可能路徑!n為了正確表達這個數(shù)值,我們假設開發(fā)了一

7、個有魔力的測試處理器(“有魔力”是因為不存在這樣的處理器)進行窮舉測試。該處理器能在一毫秒內(nèi)開發(fā)一個測試用例、進行運行并評估結(jié)果,如果每天運行24小時,每年運行365天,則需要3170年的時間來測試這個程序。不可否認,這將導致大多數(shù)開發(fā)進度表的混亂,對大型軟件系統(tǒng)不可能進行窮舉測試。n然而,白盒測試不應該被拋棄,可選擇有限數(shù)量的重要邏輯路徑進行測試,檢測重要數(shù)據(jù)結(jié)構(gòu)的有效性 邏輯覆蓋(A1) and (B=0)(A=2) or (X1)X=X/AX=X+1T1T1T2T2T3T3T4T4T T T T12344321TTTTT T T T1234n判定條件覆蓋就是選取足夠多的測試數(shù)據(jù),使得判定

8、表達式中的每個條件都取到各種可能的值,而且每個判定表達式也都取到各種可能的結(jié)果A1B=0X=X/AA=2X1X=X+1T T T T1234T T T T1234T T12T T12T T12T T12T T34T T34T T34T T34T T T T1234T T T T1234T T T T1234T T T T1234邏輯覆蓋總結(jié):n語句覆蓋對程序的邏輯覆蓋很少n判定覆蓋比語句覆蓋強,但是對程序邏輯的覆蓋程度仍然不高,上面的測試數(shù)據(jù)只覆蓋了程序全部路徑的一半。n條件覆蓋通常比判定覆蓋強,因為它使判定表達式中每個條件都取到了兩個不同的結(jié)果,判定覆蓋卻只關(guān)心整個判定表達式的值。n判定/條

9、件覆蓋也并不一定比條件覆蓋更強n條件組合覆蓋是更強的邏輯覆蓋標準,但是,滿足條件組合覆蓋標準的測試數(shù)據(jù)并不一定能使程序中的每條路徑都執(zhí)行到。點覆蓋n 如果連通圖 G 的子圖G是連通的,而且包含G的所有節(jié)點,則稱G是G的點覆蓋。n 與語句覆蓋標準相同。邊覆蓋n 如果連通圖 G 的子圖G是連通的,而且包含G的所有邊,則稱G是G的邊覆蓋。n 通常與判定覆蓋標準相同。T T T T1234T T T T1234T T T T1234T T T T3412控制結(jié)構(gòu)測試n基本路徑測試n條件測試n循環(huán)測試基本路徑測試n基本路徑測試是在程序控制圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)行復雜性,導出基本可執(zhí)行路徑集合,

10、從而設計測試用例的方法。設計出的測試用例要保證在測試中程序的每一個可執(zhí)行語句至少執(zhí)行一次(如讓循環(huán)體只執(zhí)行一次)。n例子 基本路徑測試例子例子nvoid Sort(int iRecordNum,int iType)n1 n2 int x=0;n3 int y=0;n4 while (iRecordNum 0)n5 n6 if(0= =iType)n7x=y+2;n9 elsen8 if(1= =iType)n10 x=y+10;n12 elsen11 x=y+20;n13 n14 環(huán)形復雜度第二步:計算環(huán)形復雜度n環(huán)形復雜度是一種為程序邏輯復雜性提供定量測度的軟件度量,將該度量用于計算程序的基

11、本的獨立路徑數(shù)目,為確保所有語句至少執(zhí)行一次的測試數(shù)量的上界。獨立路徑必須包含一條在定義之前不曾用到的邊。n有以下三種方法計算圈復雜度:n 流圖中區(qū)域的數(shù)量對應于環(huán)型的復雜性;n 給定流圖G的圈復雜度V(G),定義為V(G)=E-N+2,E是流圖中邊的數(shù)量,N是流圖中結(jié)點的數(shù)量;n 給定流圖G的圈復雜度V(G),定義為V(G)=P+1,P是流圖G中判定結(jié)點的數(shù)量。 第三步:導出測試用例 n根據(jù)上面的計算方法,可得出四個獨立的路徑:n 路徑1:4-14n 路徑2:4-6-7-14n 路徑3:4-6-8-10-13-4-14n 路徑4:4-6-8-11-13-4-14n根據(jù)上面的獨立路徑,去設計輸入數(shù)據(jù),使程序分別執(zhí)行到上面四條路徑。第四步:準備測試用例n為了確保基本路徑集中的每一條路徑的執(zhí)行,根據(jù)判斷結(jié)點給出的條件,選擇適當?shù)臄?shù)據(jù)以保證某一條路徑可以被測試到,滿足上面例子基本路徑集的測試用例是:n路徑1:4-14n輸入數(shù)據(jù):iRecordNum0,

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論