版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第 3部分軟件測(cè)試技術(shù),,本部分課程目標(biāo),測(cè)試技術(shù)的基本概念測(cè)試技術(shù)的使用技巧測(cè)試技術(shù)的應(yīng)用范圍,軟件測(cè)試技術(shù)的分類,靜態(tài)黑盒測(cè)試動(dòng)態(tài)黑盒測(cè)試靜態(tài)白盒測(cè)試動(dòng)態(tài)白盒測(cè)試,靜態(tài)與動(dòng)態(tài),靜態(tài)——只是檢查和審閱動(dòng)態(tài)——運(yùn)行和使用軟件,黑盒與白盒,黑盒:軟件測(cè)試人員只需知道軟件要做什么即可,無(wú)法看到盒子中是如何運(yùn)行的。白盒:軟件測(cè)試人員可以訪問(wèn)程序員的代碼,并通過(guò)檢查代碼來(lái)測(cè)試,可以看到盒子里面。,靜態(tài)黑盒測(cè)試,對(duì)產(chǎn)品說(shuō)明書進(jìn)行高
2、級(jí)審查設(shè)身處地為用戶著想研究現(xiàn)有的標(biāo)準(zhǔn)和規(guī)范審查和測(cè)試同類軟件,靜態(tài)黑盒測(cè)試,測(cè)試標(biāo)準(zhǔn):1、公司慣用語(yǔ)和約定2、行業(yè)要求3、國(guó)家標(biāo)準(zhǔn)4、硬件和網(wǎng)絡(luò)標(biāo)準(zhǔn)5、圖形用戶界面(GUI)。,產(chǎn)品描述屬性檢查清單,完整準(zhǔn)確精確一致合理代碼無(wú)關(guān)可測(cè)試,產(chǎn)品描述用語(yǔ)檢查清單,是否有絕對(duì)、肯定和切實(shí)認(rèn)定的敘述,針對(duì)其設(shè)計(jì)用例。比較模糊的用語(yǔ)。某些、有時(shí)·····功能清單是否
3、有等等、諸如此類、依此類推,無(wú)法測(cè)試的詞匯。在性能上不確定的說(shuō)法。隱藏大量需要說(shuō)明的功能如果·····那么·····(沒(méi)有否則)。,產(chǎn)品說(shuō)明案例分析,◆ 國(guó)產(chǎn)電子軟件的巔峰之作,包含12本權(quán)威詞典、32本專業(yè)詞典,最新收錄原汁原味的美語(yǔ)英漢雙解詞典:《美國(guó)傳統(tǒng)詞典》;◆ 強(qiáng)大的網(wǎng)絡(luò)功能,定時(shí)更新最新詞庫(kù)、詞霸界面、隨時(shí)下載功能插件
4、;◆ 國(guó)際頂尖的TTS語(yǔ)音全程技術(shù),徹底實(shí)現(xiàn)單詞乃至整篇文章的流暢朗讀;◆ 新增“生詞本”功能,是您學(xué)習(xí)英語(yǔ)的好幫手; 智能的即指即譯功能,可在任意窗口下實(shí)現(xiàn)中英文對(duì)譯。,靜態(tài)黑盒測(cè)試的小結(jié),標(biāo)準(zhǔn)產(chǎn)品描述屬性檢查產(chǎn)品描述用語(yǔ)檢查,動(dòng)態(tài)黑盒測(cè)試——邊界值分析,邊界值測(cè)試的基本原理: 錯(cuò)誤更可能出現(xiàn)在輸入變量的極值附近.失效極少由兩個(gè)(或多個(gè))缺陷的同時(shí)發(fā)生引起的。Min、min+、nom、max-和max。,動(dòng)態(tài)黑
5、盒測(cè)試——邊界值測(cè)試,如果函數(shù)F實(shí)現(xiàn)了一個(gè)程序,則輸入兩個(gè)變量x1 和 x2會(huì)有一些邊界: a≤ x1≤ b c ≤ x2≤ d區(qū)間[a,b]和[c,d]是x1 和 x2的值域。,動(dòng)態(tài)黑盒測(cè)試——邊界值分析,動(dòng)態(tài)黑盒測(cè)試——邊界值分析,動(dòng)態(tài)黑盒測(cè)試——邊界值分析,邊界的數(shù)據(jù)類型可能是:數(shù)值 速度字符 地址位置
6、 尺寸數(shù)量,動(dòng)態(tài)黑盒測(cè)試——邊界值分析,邊界值類型的描述:第一個(gè)/最后一個(gè) 最小值/最大值開始/完成 超過(guò)/在內(nèi)空/滿 最短/最長(zhǎng)最大/最小 最高/最低相鄰/最遠(yuǎn),動(dòng)態(tài)黑盒測(cè)試——次邊界值分析,次邊界條件: 有些邊界條件在軟件內(nèi)部,最終用戶幾乎看不到,但是軟件測(cè)試仍有必要檢查。這樣的邊界
7、條件稱為次邊界條件或者內(nèi)部邊界條件。如2的乘方和ASCⅡ。,軟件中的2的乘方,部分的ASCⅡ制表,動(dòng)態(tài)黑盒測(cè)試——邊界值分析,邊界值分析的特點(diǎn)和局限性對(duì)于一個(gè)n變量函數(shù),邊界值分析會(huì)產(chǎn)生4n+1個(gè)測(cè)試用例。邊界值的取值取決于變量本身的性質(zhì)。邊界值分析對(duì)布爾變量沒(méi)有什么意義。邊界值分析假設(shè)變量是完全獨(dú)立的。,動(dòng)態(tài)黑盒測(cè)試——健壯性測(cè)試,健壯性測(cè)試是邊界值分析的一種簡(jiǎn)單擴(kuò)展,,,,,,,,,,動(dòng)態(tài)黑盒測(cè)試—最壞情況測(cè)試,最壞情況測(cè)試
8、用例,動(dòng)態(tài)黑盒測(cè)試—健壯最壞情況測(cè)試,健壯最壞情況測(cè)試用例,,動(dòng)態(tài)黑盒測(cè)試——練習(xí),1、寫出三角形問(wèn)題的邊界值分析測(cè)試用例2、寫出NextDate函數(shù)的最壞情況測(cè)試用例,動(dòng)態(tài)黑盒測(cè)試—傭金問(wèn)題的測(cè)試用例,動(dòng)態(tài)黑盒測(cè)試—傭金問(wèn)題的測(cè)試用例,寫出傭金問(wèn)題的輸出邊界值分析測(cè)試用例,動(dòng)態(tài)黑盒測(cè)試—傭金問(wèn)題的測(cè)試用例,動(dòng)態(tài)黑盒測(cè)試—傭金問(wèn)題的測(cè)試用例,邊界值測(cè)試的小結(jié),這類測(cè)試方法是基于一種假設(shè):輸入的變量是真正獨(dú)立的。這些方法的
9、區(qū)別是:正常值與健壯值;單缺陷與多缺陷。,動(dòng)態(tài)黑盒測(cè)試—等價(jià)類測(cè)試,等價(jià)分配:是指分步驟地把過(guò)多(無(wú)限)的測(cè)試案例減小到同樣有效的小范圍的過(guò)程。等價(jià)類別或者等價(jià)區(qū)間是指測(cè)試相同目標(biāo)或者暴露相同軟件缺陷的一組測(cè)試。在尋找等價(jià)區(qū)間時(shí),想辦法把軟件的相似輸入、輸出、操作分成組。這些組是等價(jià)區(qū)間。,動(dòng)態(tài)黑盒測(cè)試—等價(jià)類測(cè)試,弱一般等價(jià)類測(cè)試用例,動(dòng)態(tài)黑盒測(cè)試—等價(jià)類測(cè)試,強(qiáng)一般等價(jià)類測(cè)試用例,動(dòng)態(tài)黑盒測(cè)試—等價(jià)類測(cè)試,弱健壯等價(jià)類測(cè)試用例,
10、動(dòng)態(tài)黑盒測(cè)試—等價(jià)類測(cè)試,強(qiáng)健壯等價(jià)類測(cè)試用例,,動(dòng)態(tài)黑盒測(cè)試—等價(jià)類測(cè)試,寫出三角形問(wèn)題的輸入等價(jià)類和輸出等價(jià)類寫出NextDate函數(shù)的輸入等價(jià)類寫出傭金問(wèn)題的輸入和輸出等價(jià)類Windows文件名可以包含除了、/:*?“〈〉。文件名長(zhǎng)度是1-255個(gè)字符。寫出文件名創(chuàng)建測(cè)試用例。,三角形問(wèn)題—弱強(qiáng)一般等價(jià)類測(cè)試用例,三角形問(wèn)題—弱健壯等價(jià)類測(cè)試用例,三角形問(wèn)題—強(qiáng)健壯等價(jià)類測(cè)試用例,等價(jià)類測(cè)試的小結(jié),等價(jià)類測(cè)試的弱形式不如對(duì)應(yīng)
11、的強(qiáng)形式的測(cè)試全面。如果錯(cuò)誤條件非常重要,則進(jìn)行健壯性的測(cè)試是合適的。如果輸入數(shù)據(jù)以離散值區(qū)間和集合定義,則等價(jià)類測(cè)試是合適的。在發(fā)現(xiàn)合適的等價(jià)類關(guān)系之前,可能需要進(jìn)行多次嘗試。,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,在所有功能測(cè)試方法中,基于決策表的測(cè)試方法是最嚴(yán)格的,因?yàn)闆Q策表具有邏輯嚴(yán)格性。 決策表很適合描述不同條件集合下采取行動(dòng)的若干組合的情況。,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)
12、試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,M1={月份:每月有30天};M2={月份:每月有31天};M3={月份:此月是2月};D1={日期:1≤日期≤28};D2={日期:日期=29};,D3={日期:日期=30};D4={日期:日期=31
13、};Y1={年:年是閏年};Y2={年:年不是閏年}。,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,M1={月份:每月有30天};M2={月份:每月有31天};M3={月份:此月是2月};D1={日期:1≤日期≤28};D2={日期:日期=29};,D3={日期:日期=30};D4={日期:日期=31};Y1={年:年=2000};Y2={年:年是閏年};Y3={年:年是平年}。,動(dòng)態(tài)黑盒測(cè)試
14、—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,M1={月份:每月有30天};M2={月份:每月有31天,12月除外};M3={月份:此月是12月};M4={月份:此月是2月};D1={日期:1≤日期≤27};,D2={日期:日期=28};D3={日期:日期=29}D4={日期:日期=30};D5={日期:日期=31};Y1={年:年是閏年};Y2={年:年不是閏年}。,動(dòng)態(tài)黑
15、盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,動(dòng)態(tài)黑盒測(cè)試—基于決策表的測(cè)試,寫出NextDate函數(shù)的決策表測(cè)試用例,基于決策表的測(cè)試的小結(jié),決策表技術(shù)適用于具有以下特征的應(yīng)用程序:If-then-else邏輯很突出輸入變量之間存在邏輯關(guān)系。涉及輸入變量子集的計(jì)算。輸入與輸出之間存在因果關(guān)系。很高的圈復(fù)雜度。迭代會(huì)有所幫助,第一次不見得會(huì)
16、成功。,動(dòng)態(tài)黑盒測(cè)試—基于正交陣列,動(dòng)態(tài)黑盒測(cè)試—基于正交陣列,Web瀏覽器(Netscape 6.2、IE6.0、Opera 4.0)插件(無(wú)、RealPlayer、MediaPlayer)應(yīng)用服務(wù)器(IIS、Apache、Netscape Enterprise)操作系統(tǒng)(Windows2000、Windows NT、Linux),動(dòng)態(tài)黑盒測(cè)試—基于正交陣列,動(dòng)態(tài)黑盒測(cè)試—其他,即席測(cè)試隨機(jī)測(cè)試半隨機(jī)測(cè)試探測(cè)性測(cè)試,動(dòng)態(tài)黑
17、盒測(cè)試的小結(jié),邊界值分析法等價(jià)類測(cè)試決策表測(cè)試正交陣列測(cè)試隨機(jī)類測(cè)試,靜態(tài)白盒測(cè)試,靜態(tài)白盒測(cè)試是在不執(zhí)行的條件下有條理地仔細(xì)審查軟件設(shè)計(jì)、體系結(jié)構(gòu)和代碼,從而找出軟件缺陷的過(guò)程。好處:盡早發(fā)現(xiàn)軟件缺陷。 為黑盒測(cè)試員提供思路。,靜態(tài)白盒測(cè)試,審查是正式、嚴(yán)格、具有深度的技術(shù)評(píng)審,以便盡可能準(zhǔn)確地確定問(wèn)題之所在。審查過(guò)程的目的:在軟件開發(fā)過(guò)程中盡可能早地發(fā)現(xiàn)問(wèn)題。確保對(duì)需要重做部分達(dá)成一致意見。驗(yàn)證任何重做部分滿足
18、預(yù)先定義的準(zhǔn)則。,靜態(tài)白盒測(cè)試,一次審查一般需要5人至7人,這些角色是:主審員:協(xié)調(diào)本次審查并主持討論。責(zé)任人:負(fù)責(zé)被審查的產(chǎn)品。講解員:在審查會(huì)上講解被審查的產(chǎn)品。審查員:審查產(chǎn)品。記錄員:記錄在審查會(huì)議上討論的問(wèn)題。經(jīng)理:責(zé)任人的管理者。,靜態(tài)白盒測(cè)試,選擇要審查的代碼模塊的準(zhǔn)則:對(duì)于正確操作產(chǎn)品起關(guān)鍵作用的模塊。復(fù)雜度較高的模塊與過(guò)去發(fā)生錯(cuò)誤率較高的模塊功能類似的模塊。相對(duì)較新的或缺乏經(jīng)驗(yàn)的軟件程序師編寫的模塊
19、。,靜態(tài)白盒測(cè)試,為什么要堅(jiān)持編碼標(biāo)準(zhǔn)和規(guī)范?可靠性??勺x性/維護(hù)性移植性,靜態(tài)白盒測(cè)試,大多數(shù)計(jì)算機(jī)語(yǔ)言和信息技術(shù)的國(guó)家和國(guó)際標(biāo)準(zhǔn)可以通過(guò)以下途徑獲得:國(guó)際工程協(xié)議(IEC):www.iec.org國(guó)際標(biāo)準(zhǔn)化組織(ISO):www.iso.ch信息技術(shù)標(biāo)準(zhǔn)國(guó)家委員會(huì)(NCITS):www.ncits.org計(jì)算機(jī)械聯(lián)合會(huì)(ACM):www.acm.org電子電氣工程學(xué)會(huì)(IEEE):www.ieee.org,靜態(tài)白盒測(cè)
20、試,通用代碼審查清單數(shù)據(jù)引用錯(cuò)誤;數(shù)據(jù)聲明錯(cuò)誤;計(jì)算錯(cuò)誤;比較錯(cuò)誤;控制流程錯(cuò)誤;子程序參數(shù)錯(cuò)誤;輸入/輸出錯(cuò)誤;其他檢查。,靜態(tài)白盒測(cè)試,數(shù)據(jù)引用錯(cuò)誤是否引用了未初始化的變量?數(shù)組和字符串的下標(biāo)是整數(shù)值嗎?是否在應(yīng)該使用常量的地方使用了變量?變量是否被賦予不同類型的值?為引用的指針?lè)峙鋬?nèi)存了嗎?一個(gè)數(shù)據(jù)結(jié)構(gòu)是否在多個(gè)函數(shù)或者子程序中引用,在每一個(gè)引用中明確定義結(jié)構(gòu)了嗎?,靜態(tài)白盒測(cè)試,數(shù)據(jù)聲明錯(cuò)誤所有變量
21、都賦予正確的長(zhǎng)度和類型了嗎?變量是否在聲明的同時(shí)進(jìn)行了初始化?存在聲明過(guò)、但從未引用或者只引用過(guò)一次的變量嗎?在特定模塊中所有變量都顯示聲明了嗎?,靜態(tài)白盒測(cè)試,計(jì)算錯(cuò)誤計(jì)算中是否使用了不同數(shù)據(jù)類型的變量?計(jì)算中是否了解和考慮到編譯器對(duì)類型或長(zhǎng)度不一致的變量的轉(zhuǎn)換規(guī)則?在數(shù)值計(jì)算過(guò)程中是否可能出現(xiàn)溢出?除數(shù)/模是否可能為零?變量的值是否超過(guò)有意義的范圍?對(duì)于包含多個(gè)操作數(shù)的表達(dá)式,求值的次序是否混亂,運(yùn)算優(yōu)先級(jí)對(duì)嗎?,
22、靜態(tài)白盒測(cè)試,比較錯(cuò)誤比較得正確嗎?存在分?jǐn)?shù)或者浮點(diǎn)值之間的比較嗎?如果有,精確問(wèn)題會(huì)影響比較嗎?每一個(gè)邏輯表達(dá)式都正確表達(dá)了嗎?邏輯計(jì)算如期進(jìn)行了嗎?求值次序有疑問(wèn)嗎?邏輯表達(dá)式的操作是邏輯值嗎?,靜態(tài)白盒測(cè)試,控制流程錯(cuò)誤如果程序包含begin…end和 do …while 等語(yǔ)句組,end是否對(duì)應(yīng)?程序、模塊、子程序和循環(huán)能否終止?可能存在永遠(yuǎn)不停的循環(huán)嗎?循環(huán)可能從不執(zhí)行嗎?,靜態(tài)白盒測(cè)試,子程序參數(shù)錯(cuò)誤子程序
23、接受的參數(shù)類型和大小與調(diào)用代碼發(fā)送的匹配嗎?如果子程序有多個(gè)入口點(diǎn),引用的參數(shù)是否與當(dāng)前入口點(diǎn)沒(méi)有關(guān)聯(lián)?常量是否當(dāng)作形參傳遞,意外在子程序中改動(dòng)?,靜態(tài)白盒測(cè)試,輸入/輸出錯(cuò)誤軟件是否嚴(yán)格遵守外部設(shè)備讀寫數(shù)據(jù)的專用格式?文件或者外部不存在或者未準(zhǔn)備好的錯(cuò)誤情況有處理嗎?軟件是否處理外部設(shè)備未連接、不可用,或者讀寫過(guò)程中存儲(chǔ)空間占滿等情況?,靜態(tài)白盒測(cè)試,同行審查 僅在編寫代碼的程序員和充當(dāng)審查者的其他一兩個(gè)程序員和測(cè)試員之
24、間進(jìn)行。保證審查的高效率,注意審查的4個(gè)關(guān)鍵要素:確定問(wèn)題;遵守規(guī)則;審查準(zhǔn)備;編寫報(bào)告。,靜態(tài)白盒測(cè)試的小結(jié),代碼評(píng)審?fù)袑彶闄z查單,動(dòng)態(tài)白盒測(cè)試,動(dòng)態(tài)白盒測(cè)試是指利用查看代碼功能和實(shí)現(xiàn)方式得到的信息來(lái)確定哪些要測(cè)試,哪些不要測(cè)試,如何開展測(cè)試。 動(dòng)態(tài)白盒測(cè)試的另一個(gè)常用名稱是結(jié)構(gòu)測(cè)試,因?yàn)檐浖y(cè)試員可以查看并使用代碼的內(nèi)部結(jié)構(gòu),從而設(shè)計(jì)和執(zhí)行測(cè)試。,動(dòng)態(tài)白盒測(cè)試——路徑測(cè)試,結(jié)構(gòu)性測(cè)試方法的突出特點(diǎn),是它們都基于被測(cè)程
25、序的源代碼,而不是基于定義。 由于這種絕對(duì)化的基礎(chǔ),結(jié)構(gòu)性測(cè)試方法支持嚴(yán)格定義、數(shù)據(jù)分析和精確度量。,動(dòng)態(tài)白盒測(cè)試——路徑測(cè)試,動(dòng)態(tài)白盒測(cè)試——路徑測(cè)試,動(dòng)態(tài)白盒測(cè)試——路徑測(cè)試,動(dòng)態(tài)白盒測(cè)試——路徑測(cè)試,定義DD-路徑是程序圖中的一條鏈,使得: 情況1:由一個(gè)節(jié)點(diǎn)組成,內(nèi)度=0。 情況2:由一個(gè)節(jié)點(diǎn)組成,外度=0。 情況3:由一個(gè)節(jié)點(diǎn)組成,內(nèi)度≥2或外度≥2。 情況4:由一個(gè)節(jié)點(diǎn)組成,內(nèi)度=1并且外度
26、=1。 情況5:長(zhǎng)度≥1的最大鏈。,動(dòng)態(tài)白盒測(cè)試——路徑測(cè)試,結(jié)構(gòu)性測(cè)試覆蓋指標(biāo),語(yǔ)句覆蓋:選擇足夠的測(cè)試用例是程序中每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次 判定覆蓋(分枝覆蓋) :選擇足夠的測(cè)試用例,使得程序中每個(gè)判定至少都獲得一次“真”值和“假”值條件覆蓋:設(shè)計(jì)若干測(cè)試用例,執(zhí)行被測(cè)程序后是每個(gè)判定中每個(gè)條件的可能值至少滿足一次,結(jié)構(gòu)性測(cè)試覆蓋指標(biāo),判定/條件覆蓋:判定/條件覆蓋要求設(shè)計(jì)足夠的測(cè)試用例,使得判定中的每個(gè)條件的所有可能(
27、真/假)至少出現(xiàn)一次并且每個(gè)判定本身的結(jié)果(真/假)也至少出現(xiàn)一次條件組合覆蓋:執(zhí)行足夠的測(cè)試用例,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次,顯然滿足條件組合覆蓋的測(cè)試用例一定滿足“判定覆蓋”、“條件覆蓋”和“判定/條件覆蓋”路徑覆蓋:設(shè)計(jì)足夠的測(cè)試用例要求覆蓋程序中所有可能的路徑,語(yǔ)句覆蓋,1 PRINT “Hello you”2 PRINT “The date is:”;Date&3 PRINT “The ti
28、me is:”;Time&4 END,判斷覆蓋(分枝覆蓋),1 PRINT “Hello you”2 IF Date=“01-01-2000”THEN3 PRINT “Happy New Year”4 END IF5 PRINT “The date is:”;Date6 PRINT “The time is:”;Time7 END,條件覆蓋,1 PRINT “Hello you”2 IF Date=“01-01-
29、2000”AND Time=“00:00:00”THEN3 PRINT “Happy New Year”4 END IF5 PRINT “The date is:”;Date6 PRINT “The time is:”;Time7 END,動(dòng)態(tài)白盒測(cè)試—基路徑測(cè)試,動(dòng)態(tài)白盒測(cè)試——基路徑測(cè)試,動(dòng)態(tài)白盒測(cè)試——循環(huán)測(cè)試,簡(jiǎn)單循環(huán)其循環(huán)的最大次數(shù)為n測(cè)試:跳過(guò)整個(gè)循環(huán)只循環(huán)一次循環(huán)兩次循環(huán)m次其中m<n分別循環(huán)
30、n-1次,n次,n+1次,動(dòng)態(tài)白盒測(cè)試——循環(huán)測(cè)試,串接循環(huán)如兩個(gè)串接循環(huán)是獨(dú)立的,則可分別采用簡(jiǎn)單循環(huán)的測(cè)試方法測(cè)試不獨(dú)立第一個(gè)循環(huán)計(jì)數(shù)器是第二個(gè)循環(huán)的初值,則可采用嵌套循環(huán)方法進(jìn)行測(cè)試,動(dòng)態(tài)白盒測(cè)試——循環(huán)測(cè)試,嵌套循環(huán)如果嵌套循環(huán)也采用簡(jiǎn)單循環(huán)的辦法此時(shí)會(huì)隨嵌套層數(shù)成幾何級(jí)數(shù)增加導(dǎo)致不可測(cè)Beizer提出一種減少測(cè)試級(jí)數(shù)的方法從最內(nèi)層循環(huán)開始測(cè)試,內(nèi)層循環(huán)按簡(jiǎn)單循環(huán)策略所有外層循環(huán)次數(shù)設(shè)到最小數(shù)由內(nèi)向外一次向上回退一次
31、嵌套循環(huán)回退后進(jìn)行測(cè)試,本層循環(huán)的所有外層循環(huán)仍取最小值,本層循環(huán)嵌套的循環(huán)取一次“典型”值繼續(xù)向外回退,直到所有循環(huán)測(cè)試完畢,動(dòng)態(tài)白盒測(cè)試——循環(huán)測(cè)試,非結(jié)構(gòu)循環(huán)按結(jié)構(gòu)化程序設(shè)計(jì)思想首先將程序結(jié)構(gòu)化再進(jìn)行測(cè)試,動(dòng)態(tài)白盒測(cè)試—數(shù)據(jù)流測(cè)試,早期的數(shù)據(jù)流分析常常集中于現(xiàn)在叫做定義/引用異常的缺陷:變量被定義,但是從來(lái)沒(méi)有使用。所使用的變量沒(méi)有被定義。變量在使用之前被定義兩次。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,定義 節(jié)點(diǎn)n∈G
32、(P)是變量v∈V的定義節(jié)點(diǎn),記做DEF(v,n),當(dāng)且僅當(dāng)變量v的值由對(duì)應(yīng)節(jié)點(diǎn)n的語(yǔ)句片段處定義。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,定義 節(jié)點(diǎn)n∈G(P)是變量v∈V的使用節(jié)點(diǎn),記做USE(v,n),當(dāng)且僅當(dāng)變量v的值由對(duì)應(yīng)節(jié)點(diǎn)n的語(yǔ)句片段處使用。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,定義 使用節(jié)點(diǎn)USE(v,n)是一個(gè)謂詞使用(記做P-use),當(dāng)且僅當(dāng)語(yǔ)句n是謂詞語(yǔ)句;否則,USE(v.n)是計(jì)算使用(記做C-use)。
33、,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,定義 關(guān)于變量v的定義-使用路徑(記做du-path)是PATHS(P) 中的路徑,使得對(duì)某個(gè)v∈V,存在定義和使用節(jié)點(diǎn)DEF(v,m)和USE(v,n),使得m和n是該路徑的最初和最終節(jié)點(diǎn)。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,定義 關(guān)于變量v的定義清除路徑(記做dc-path),是具有最初和最終節(jié)點(diǎn)DEF(v,m)和USE(v,n)的PATHS(P)中的路徑,使得該路徑中沒(méi)有其他節(jié)點(diǎn)是v的定
34、義節(jié)點(diǎn)。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,Stocks的定義-使用路徑Locks的定義-使用路徑Total locks的定義-使用路徑sales的定義-使用路徑commission的定義-使用路徑,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,T是擁有變量集合V的程序P的程序圖G(P)中的一個(gè)路徑集合。定義 集合T滿足程序P的全定義準(zhǔn)則,當(dāng)且僅當(dāng)所
35、有變量v∈V,T包含從v的每個(gè)定義節(jié)點(diǎn)到v的一個(gè)使用的定義清除路徑。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,定義 集合T滿足程序P的全使用準(zhǔn)則,當(dāng)且僅當(dāng)所有變量v∈V,T包含從v的每個(gè)定義節(jié)點(diǎn)到v的所有使用,以及到所有USE(v,n)后續(xù)節(jié)點(diǎn)的定義清除路徑。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,定義 集合T滿足程序P全謂詞使用/部分計(jì)算使用準(zhǔn)則,當(dāng)且僅當(dāng)所有變量v∈V,T包含從v的每個(gè)定義節(jié)點(diǎn)到v的所有謂詞使用的定義清除路徑,并且如果
36、v的一個(gè)定義沒(méi)有謂詞使用,則定義清除路徑導(dǎo)致至少一個(gè)計(jì)算使用。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,定義 集合T滿足程序P全計(jì)算使用/部分謂詞使用準(zhǔn)則,當(dāng)且僅當(dāng)所有變量v∈V,T包含從v的每個(gè)定義節(jié)點(diǎn)到v的所有計(jì)算使用的定義清除路徑,并且如果v的一個(gè)定義沒(méi)有計(jì)算使用,則定義清除路徑導(dǎo)致至少一個(gè)謂詞使用。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,定義 集合T滿足程序P的全定義-使用路徑準(zhǔn)則,當(dāng)且僅當(dāng)所有變量v∈V,T包含從v的每個(gè)定義節(jié)點(diǎn)
37、到v的所有使用,以及到所有USE(v,n)后續(xù)節(jié)點(diǎn)的定義清除路徑,并且這些路徑要么有一次的環(huán)經(jīng)過(guò),要么沒(méi)有環(huán)路。,動(dòng)態(tài)白盒測(cè)試—定義/使用測(cè)試,全路徑,全定義-使用路徑,全使用,全計(jì)算使用/部分謂詞使用,全謂詞使用/部分計(jì)算使用,全節(jié)點(diǎn),全邊,全謂詞使用,全定義,,,,,,,,,,動(dòng)態(tài)白盒測(cè)試-基于程序片的測(cè)試,程序片是確定或影響某個(gè)變量在程序某個(gè)點(diǎn)上的取值的一組程序語(yǔ)句。,動(dòng)態(tài)白盒測(cè)試-基于程序片的測(cè)試,定義 給定一個(gè)程序
38、P和P中的一個(gè)變量集合V,變量集合V在語(yǔ)句n上的一個(gè)片,記做S(V,n),是P中對(duì)V中的變量值做出貢獻(xiàn)的所有語(yǔ)句集合。,動(dòng)態(tài)白盒測(cè)試-基于程序片的測(cè)試,定義 給定一個(gè)程序P和一個(gè)給出語(yǔ)句及語(yǔ)句片段編號(hào)的程序圖G(P),以及P 中的一個(gè)變量集合V,變量集合V在語(yǔ)句片段n上的一個(gè)片,記做S(V,n),是P中在n以前對(duì)V中的變量值作出貢獻(xiàn)的所有語(yǔ)句片段編號(hào)的集合。,動(dòng)態(tài)白盒測(cè)試-基于程序片的測(cè)試,五種形式的使用謂詞使用 用在謂詞(判
39、斷)中。計(jì)算使用 用在計(jì)算中。輸出使用 用于輸出。定位使用 用于定位(指針、下標(biāo))。迭代使用 迭代(內(nèi)部計(jì)數(shù)器、循環(huán)指示)。,動(dòng)態(tài)白盒測(cè)試-基于程序片的測(cè)試,標(biāo)識(shí)兩種定義節(jié)點(diǎn):輸入定義 通過(guò)輸入定義賦值定義 通過(guò)賦值定義,動(dòng)態(tài)白盒測(cè)試-基于程序片的測(cè)試,寫出Stocks、locks、barrels的片寫出totalStocks、totallocks、totalbarrels的片寫出sales、commission的片,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件測(cè)試技術(shù)-軟件測(cè)試管理試題
- 軟件測(cè)試技術(shù)與測(cè)試管理
- 軟件性能測(cè)試技術(shù)實(shí)踐
- 軟件測(cè)試技術(shù)研究.pdf
- 軟件測(cè)試技術(shù)及其應(yīng)用.pdf
- 軟件測(cè)試方法和技術(shù) - ch11軟件測(cè)試自動(dòng)化
- 軟件測(cè)試技術(shù)經(jīng)典教程筆記
- 面向?qū)ο筌浖y(cè)試技術(shù).pdf
- 軟件測(cè)試技術(shù)及軟件構(gòu)件驗(yàn)證的研究.pdf
- 軟件測(cè)試技術(shù)在金融軟件中的應(yīng)用.pdf
- 軟件測(cè)試技術(shù)之冒泡排序檢測(cè)
- 基于缺陷模式的軟件測(cè)試技術(shù)
- 《軟件測(cè)試技術(shù)》知識(shí)點(diǎn)整理
- 《軟件測(cè)試技術(shù)》試題庫(kù)答案
- 軟件測(cè)試技術(shù)經(jīng)典教程筆記(修)
- 軟件統(tǒng)計(jì)測(cè)試技術(shù)與應(yīng)用.pdf
- 軟件測(cè)試技術(shù)實(shí)踐教學(xué)考試大綱
- 基于測(cè)試管理軟件的測(cè)試平臺(tái)軟件架構(gòu)技術(shù)研究.pdf
- 軟件測(cè)試培訓(xùn):軟件測(cè)試常用英語(yǔ)
- 面向?qū)ο筌浖y(cè)試技術(shù)在鐵路客票系統(tǒng)軟件測(cè)試中的應(yīng)用.pdf
評(píng)論
0/150
提交評(píng)論