




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
白盒測試的實用技術(shù)第1頁,課件共32頁,創(chuàng)作于2023年2月白盒測試技術(shù)是軟件測試的主要方法之一,白盒測試的基本概念、檢查方法、測試方法、測試工具等內(nèi)容是必須掌握的,本章重點討論以下內(nèi)容:●白盒測試的概述●白盒測試的靜態(tài)檢查方法●白盒測試的常用方法軟件測試技術(shù)研究組·中國信息大學第2頁,課件共32頁,創(chuàng)作于2023年2月2.1白盒測試的概述白盒測試的對象主要是源程序。是指用代碼內(nèi)部的分支、路徑、條件,使程序設(shè)計的控制結(jié)構(gòu)導出測試用例,是軟件測試的主要方法之一。2.1.1白盒測試的基本知識白盒測試方法分為兩類:(1)靜態(tài)測試(2)動態(tài)測試:軟件測試技術(shù)研究組·中國信息大學第3頁,課件共32頁,創(chuàng)作于2023年2月2.1.2白盒測試測試原則白盒測試的原則有4點:1)保證一個模塊中所有路徑至少被測試一次;
2)所有邏輯值都要測試真和假兩種情況;
3)檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu)是否有效;
4)檢查上、下邊界及可操作范圍內(nèi)運行所有循環(huán)。軟件測試技術(shù)研究組·中國信息大學第4頁,課件共32頁,創(chuàng)作于2023年2月2.1.3白盒測試的類別、依據(jù)和流程白盒測試策略是首先進行靜態(tài)結(jié)構(gòu)分析,采用先靜態(tài)后動態(tài)的組合方式。然后進行覆蓋測試。利用靜態(tài)測試的分析結(jié)果和通過動態(tài)測試的結(jié)果進行進一步確認已達到測試效果。白盒測試一般要考慮類別、依據(jù)和流程。軟件測試技術(shù)研究組·中國信息大學第5頁,課件共32頁,創(chuàng)作于2023年2月1.白盒測試的類別白盒測試的類別具體分為8大類。(1)軟件公用問題的測試;(2)語言測試;(3)SQL語句測試;(4)數(shù)據(jù)類型測試;(5)界面測試;(6)數(shù)值對象測試;(7)業(yè)務對象測試;(8)數(shù)據(jù)管理對象測試。軟件測試技術(shù)研究組·中國信息大學第6頁,課件共32頁,創(chuàng)作于2023年2月2.白盒測試依據(jù)軟件需求報告;軟件需求規(guī)格說明;程序設(shè)計文檔;軟件界面設(shè)計;編碼規(guī)范;開發(fā)命名標準。軟件測試技術(shù)研究組·中國信息大學第7頁,課件共32頁,創(chuàng)作于2023年2月3.白盒測試的流程白盒測試的流程分為界面對象和業(yè)務對象兩種方式。界面對象測試界面對象測試的流程如圖2-1所示。軟件測試技術(shù)研究組·中國信息大學
圖2-1界面對象的流程圖
第8頁,課件共32頁,創(chuàng)作于2023年2月(2)業(yè)務對象流程測試業(yè)務對象測試的流程如圖2-2所示。軟件測試技術(shù)研究組·中國信息大學
圖2-2業(yè)務對象測試的流程圖第9頁,課件共32頁,創(chuàng)作于2023年2月2.2白盒測試方法在白盒測試中,可以使用各種測試方法進行測試。但是,測試要考慮五點問題。(1)測試中,盡量先用自動化工具來進行靜態(tài)結(jié)構(gòu)分析;(2)測試中建議先從靜態(tài)測試開始,如:靜態(tài)結(jié)構(gòu)分析、代碼走查和靜態(tài)質(zhì)量度量,然后進行動態(tài)測試,如:覆蓋率測試;(3)利用靜態(tài)分析的結(jié)果作為依據(jù),再使用代碼檢查和動態(tài)測試的方式對靜態(tài)分析結(jié)果進行進一步確認,提高測試效率及準確性;(4)覆蓋率測試是白盒測試中的重要手段,在測試報告中可以作為量化指標的依據(jù),對于軟件的重點模塊,應使用多種覆蓋率標準衡量代碼的覆蓋率;(5)在不同的測試階段,測試的側(cè)重點是不同的。 軟件測試技術(shù)研究組·中國信息大學第10頁,課件共32頁,創(chuàng)作于2023年2月2.2.1代碼檢查代碼檢查是靜態(tài)測試的主要方法,代碼檢查包括代碼走查、桌面檢查、流程圖審查等。對于代碼檢查從如下幾點進行敘述。1)概述代碼檢查主要檢查代碼和流圖設(shè)計的一致性、代碼結(jié)構(gòu)的合理性、代碼編寫的標準性、可讀性、代碼的邏輯表達的正確性等方面。包括變量檢查、命名和類型審查、程序邏輯審查、程序語法檢查和程序結(jié)構(gòu)檢查等內(nèi)容。軟件測試技術(shù)研究組·中國信息大學第11頁,課件共32頁,創(chuàng)作于2023年2月2)代碼走查目的代碼走查是為達到以下目的:★通過檢查代碼程序是不是按照某種標準或規(guī)范編寫的代碼;★通過檢查代碼來發(fā)現(xiàn)程序缺陷;★通過檢查代碼容易發(fā)現(xiàn)程序產(chǎn)生的錯誤;★通過檢查代碼來發(fā)現(xiàn)代碼是不是流程圖要求的;★通過檢查代碼來發(fā)現(xiàn)有沒有遺漏的項目;★要代碼易于移植,代碼經(jīng)常需要在不同的硬件中運行,或者使用不同的編譯器編譯;★要代碼易于閱讀、理解和維護。軟件測試技術(shù)研究組·中國信息大學第12頁,課件共32頁,創(chuàng)作于2023年2月2.2.2代碼檢查方式代碼走查的方式有:1.桌面檢查2.走查3.代碼審查代碼審查可分為以下兩步:第一步:小組負責人把程序文本、規(guī)范、相關(guān)要求、流程圖及設(shè)計說明書發(fā)給每個成員。第二步:每個成員依據(jù)所發(fā)材料作為審查依據(jù),但是由程序員講解程序的結(jié)構(gòu)每、邏輯和源程序。在此過程中,小組成員可以提出自己的疑問;程序員在講解自己的程序時,也能發(fā)現(xiàn)自己原來沒有注意到的問題。軟件測試技術(shù)研究組·中國信息大學第13頁,課件共32頁,創(chuàng)作于2023年2月2.2.3代碼檢查項目代碼檢查項目主要有以下幾點:目錄文件組織檢查函數(shù)數(shù)據(jù)類型及變量檢查條件判斷語句檢查循環(huán)體制檢查代碼注釋桌面檢查其它檢查軟件測試技術(shù)研究組·中國信息大學第14頁,課件共32頁,創(chuàng)作于2023年2月2.2.4靜態(tài)結(jié)構(gòu)分析
靜態(tài)結(jié)構(gòu)分析主要是以圖形的方式表現(xiàn)程序的內(nèi)部結(jié)構(gòu),例如函數(shù)調(diào)用關(guān)系圖、函數(shù)內(nèi)部控制流圖。 通過應用程序各函數(shù)之間的調(diào)用關(guān)系展示了系統(tǒng)的結(jié)構(gòu)。列出所有函數(shù),用連線表示調(diào)用關(guān)系和作用。靜態(tài)結(jié)構(gòu)主要分析:1.可以檢查函數(shù)的調(diào)用關(guān)系是否正確;2.是否存在孤立的函數(shù)而沒有被調(diào)用;3.明確函數(shù)被調(diào)用的頻繁度,對調(diào)用頻繁的函數(shù)可以重點檢查。軟件測試技術(shù)研究組·中國信息大學第15頁,課件共32頁,創(chuàng)作于2023年2月2.2.5SQL語句測試主要檢查以下兩點:語句檢查類型轉(zhuǎn)換2.2.6代碼檢查的分析與評價代碼檢查的分析與評價主要注意以下兩大點:1.能力陳述經(jīng)代碼檢查證實了的本軟件的能力。2.缺陷和限制軟件測試技術(shù)研究組·中國信息大學第16頁,課件共32頁,創(chuàng)作于2023年2月2.3白盒測試的常用技術(shù)白盒測試常用技術(shù)主要有7種。現(xiàn)分別敘述如下:2.3.1邏輯覆蓋法邏輯覆蓋法主要討論四點:★測試覆蓋率;★邏輯覆蓋;★面向?qū)ο蟮母采w;★測試覆蓋準則?,F(xiàn)分別進行討論。軟件測試技術(shù)研究組·中國信息大學第17頁,課件共32頁,創(chuàng)作于2023年2月1.測試覆蓋率測試覆蓋率是用于確定測試所執(zhí)行到的覆蓋項的百分比。其中的覆蓋項是指作為測試基礎(chǔ)的一個入口或?qū)傩?,比如語句、分支、條件等。測試覆蓋率可以表示出測試的充分性,在測試分析報告中可以作為量化指標的依據(jù),測試覆蓋率越高效果越好。但覆蓋率不是目標,只是一種手段。其中測試覆蓋率包括功能覆蓋和結(jié)構(gòu)覆蓋軟件測試技術(shù)研究組·中國信息大學第18頁,課件共32頁,創(chuàng)作于2023年2月2.邏輯覆蓋根據(jù)覆蓋目標的不同和覆蓋源程序語句的詳盡程度,邏輯覆蓋又可分為語句覆蓋、判定覆蓋、條件覆蓋、條件判定組合覆蓋、多條件覆蓋、修改條件判定覆蓋、組合覆蓋和路徑覆蓋。3.面向?qū)ο蟮母采w面向?qū)ο蟮母采w主要討論繼承上下文覆蓋和基于狀態(tài)的上下文覆蓋。軟件測試技術(shù)研究組·中國信息大學第19頁,課件共32頁,創(chuàng)作于2023年2月4.測試覆蓋準則測試覆蓋準則主要討論ESTCA(ErrorSensitiveTestCasesAnalysis)錯誤敏感測試用例分析和LCSAJ(LinearCodeSequenceandJump)線性代碼序列與跳轉(zhuǎn)。(1)ESTCA覆蓋準則(2)現(xiàn)行代碼序列與跳轉(zhuǎn)LCSAJ現(xiàn)行代碼序列與條狀LCSAJ是指一組順序執(zhí)行的代碼,以控制流跳轉(zhuǎn)為結(jié)束點??僧a(chǎn)生4層覆蓋軟件測試技術(shù)研究組·中國信息大學第20頁,課件共32頁,創(chuàng)作于2023年2月2.3.2插樁技術(shù)軟件動態(tài)測試中,插樁測試是一個被廣泛應用的測試方法。插樁測試就是向源程序中插入語句然后執(zhí)行程序,通過打印語句,獲得動態(tài)信息(我們最為關(guān)心的信息)。在這里,我們舉一個最簡單的例子,以計算整數(shù)X和整數(shù)Y的最大公約數(shù)為例,試圖說明插樁技術(shù)的要點。插樁后求最大公約數(shù)程序流程圖如圖2-3所示。軟件測試技術(shù)研究組·中國信息大學第21頁,課件共32頁,創(chuàng)作于2023年2月
軟件測試技術(shù)研究組·中國信息大學
圖2-3求最大公約數(shù)程序插樁流程圖
第22頁,課件共32頁,創(chuàng)作于2023年2月2.3.3基本路徑測試法基本路徑測試法是在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,從而設(shè)計測試用例的方法。設(shè)計出的測試用例要保證在測試中程序的每個可執(zhí)行語句至少執(zhí)行一次?;韭窂綔y試法的重點內(nèi)容如下:★程序的控制流圖:描述程序控制流的一種圖示方法?!锍绦颦h(huán)形復雜度:McCabe復雜性度量。從程序的環(huán)路復雜性可導出程序基本路徑集合中的獨立路徑條數(shù),這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次所必須的測試用例數(shù)目的上界。軟件測試技術(shù)研究組·中國信息大學第23頁,課件共32頁,創(chuàng)作于2023年2月1.程序控制流圖程序控制流圖(可簡稱流圖)是對程序流程圖進行簡化后得到的,它突出表示程序控制流的結(jié)構(gòu)。程序控制流圖是描述程序控制流的一種方式。控制流圖圖形符號:圖形符號:圓圈代表一個結(jié)點,表示一個或多個無分支的語句或源程序語句;程序控制流邊和點圈定的部分叫做區(qū)域。當對區(qū)域計數(shù)時,圖形外的一個部分也應記為一個區(qū)域;判斷語句中的條件為復合條件時,即條件表達式由一個或多個邏輯運算符連接的邏輯表達式(aandb),則需要改變復合條件的判斷為一系列只有單個條件的嵌套的判斷。軟件測試技術(shù)研究組·中國信息大學第24頁,課件共32頁,創(chuàng)作于2023年2月基本路徑測試方法是在控制流圖的基礎(chǔ)上,通過分析控制結(jié)構(gòu)的環(huán)形復雜度,導出執(zhí)行路徑的基本集,再從該基本集設(shè)計測試用例?;韭窂綔y試方法包括以下4個步驟:①畫出程序的控制流圖。②計算程序的環(huán)形復雜度,導出程序基本路徑集中的獨立路徑條數(shù),這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次所必須的測試用例數(shù)目的上界。③導出基本路徑集,確定程序的獨立路徑。④根據(jù)③中的獨立路徑,設(shè)計測試用例的輸入數(shù)據(jù)和預期輸出。程序控制流圖如圖2-4所示。軟件測試技術(shù)研究組·中國信息大學第25頁,課件共32頁,創(chuàng)作于2023年2月軟件測試技術(shù)研究組·中國信息大學軟件測試技術(shù)研究組·中國信息大學圖2-4程序控制流程圖第26頁,課件共32頁,創(chuàng)作于2023年2月2.3.4域測試法域測試是一種基于程序結(jié)構(gòu)的測試方法,基于對程序輸入空間(域)的分析,選擇測試點進行測試。主要為:1)域錯誤:程序的控制流存在錯誤,對于某一特定的輸入可能執(zhí)行的是一條錯誤路徑,這種錯誤稱為路徑錯誤,也叫做域錯誤;2)計算型錯誤:對于特定輸入執(zhí)行的路徑正確,但賦值語句的錯誤導致輸出結(jié)果錯誤,稱為計算型錯誤;3)丟失路徑錯誤:由于程序中的某處少了一個判定謂詞而引起的丟失路徑錯誤
軟件測試技術(shù)研究組·中國信息大學第27頁,課件共32頁,創(chuàng)作于2023年2月2.3.5符號測試符號測試基本思想是允許程序的輸入不僅僅是具體的數(shù)值數(shù)據(jù),而且包括符號值,符號值可以是基本的符號變量值,也可以是符號變量值的表達式。1)符號測試執(zhí)行的是代數(shù)運算,可以作為普通測試的一個擴充;2)符號測試可以看作是程序測試和程序驗證的一個折衷辦法;3)符號測試程序中僅有有限的幾條執(zhí)行路徑;軟件測試技術(shù)研究組·中國信息大學第28頁,課件共32頁,創(chuàng)作于2023年2月2.3.6Z路徑覆蓋法分析程序中的路徑是指檢驗程序從入口開始,執(zhí)行過程中經(jīng)歷的各個語句,直到出口
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國合式放大鏡數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國PVC地毯保護地墊數(shù)據(jù)監(jiān)測研究報告
- 郵政面試筆試題及答案
- 專題5 功和簡單機械 2021年和2022年江蘇省南通市中考物理模擬試題匯編
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識自我檢測試卷A卷附答案
- 2019-2025年軍隊文職人員招聘之軍隊文職管理學真題練習試卷A卷附答案
- 酒店合同范本(2篇)
- 2023年黑龍江公務員《行政職業(yè)能力測驗》試題真題及答案
- 環(huán)境保護與可持續(xù)發(fā)展知識點測試
- 語文課本里的經(jīng)典詩文賞析
- 課件-DeepSeek從入門到精通
- 【MOOC】理解馬克思-南京大學 中國大學慕課MOOC答案
- 醫(yī)學課件-耳穴壓豆教學課件
- 4.1.4公正性風險評價記錄表
- 電力拖動自動控制系統(tǒng)-運動控制系統(tǒng)(第5版)習題答案
- 關(guān)于印發(fā)《臨床輸血技術(shù)規(guī)范》的通知
- 高考語文復習:虛實結(jié)合手法 課件23張
- 離婚調(diào)查取證申請書
- 家庭電路故障分析-課件
- 設(shè)備學習電子圍欄g5tk400說明書
- 外研版一起五年級英語下冊全冊教案教學設(shè)計版
評論
0/150
提交評論