亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件開發(fā)中單元測試常用方法淺析

        2009-06-29 02:50:18楊新斌
        新媒體研究 2009年19期
        關(guān)鍵詞:程序

        楊新斌 童 玲

        [摘要]不論采用什么技術(shù)和方法,軟件中仍然會(huì)有錯(cuò)。軟件測試的目的是發(fā)現(xiàn)程序中的錯(cuò)誤,是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)。軟件測試的目的之一就是盡可能早地發(fā)現(xiàn)軟件中存在的錯(cuò)誤,所以單元測試很重要。重點(diǎn)論述單元測試中最常用到的靜態(tài)測試技術(shù)。也論述黑盒測試與白盒測試等動(dòng)態(tài)測試技術(shù)的運(yùn)用。

        [關(guān)鍵詞]軟件測試單元測試靜態(tài)測試黑盒測試白盒測試

        中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671—7597(2009)1010074—01

        軟件是相對(duì)于硬件而存在的,硬件是可以直觀感覺到、觸摸得到的物理產(chǎn)品,軟件則是邏輯的、知識(shí)性的產(chǎn)品集合,是對(duì)物理世界的一種抽象,或者是某種物理形態(tài)的虛擬化。軟件是智慧和知識(shí)的結(jié)晶。軟件工程學(xué)出現(xiàn)后,軟件開發(fā)被視為一項(xiàng)工程,以工程化的方法來進(jìn)行規(guī)劃和管理軟件的開發(fā)。統(tǒng)計(jì)表明。在典型的軟件開發(fā)項(xiàng)目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中用在測試上的開銷要占30%到50%。

        軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一組測試數(shù)據(jù),并利用這些測試數(shù)據(jù)運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過程。按階段進(jìn)行測試(單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試)是一種基本的測試策略,在測試過程中應(yīng)該依據(jù)每一個(gè)階段的不同特點(diǎn),采用不同的測試方法和技術(shù),制定不同的測試目標(biāo)。

        單元測試是測試執(zhí)行過程中的第一階段,單元測試是對(duì)軟件基本組成單元進(jìn)行的測試,測試對(duì)象是軟件設(shè)計(jì)的最小單元——模塊,通常而言,一個(gè)單元測試是用于判斷某個(gè)特定條件(或者場景)下某個(gè)特定函數(shù)的行為。進(jìn)行單元測試的原因是:錯(cuò)誤發(fā)現(xiàn)越早,成本越低,越到后期復(fù)雜度越高,發(fā)現(xiàn)解決BUG就越困難,成本也就越高。確保各單元模塊被正確地編碼是單元測試的主要目標(biāo),但是單元測試的目標(biāo)不僅要測試代碼的功能性,還需確保代碼在結(jié)構(gòu)上可靠且健全,并且能夠在所有條件下正確響應(yīng)。在單元測試中既會(huì)用到靜態(tài)測試技術(shù),有時(shí)也會(huì)運(yùn)用黑盒與白盒等動(dòng)態(tài)測試技術(shù)。

        一、靜態(tài)測試

        靜態(tài)測試技術(shù)是單元測試最重要的手段之一,靜態(tài)測試就是對(duì)軟件的源代碼進(jìn)行研讀,查找錯(cuò)誤或收集一些度量數(shù)據(jù),并不需要對(duì)代碼進(jìn)行編譯和執(zhí)行,適用于新開發(fā)的和重用的代碼。主要有走查、審查和評(píng)審。

        (一)走查。走查(walk through)是一種使用靜態(tài)分析方法的非正式評(píng)審過程。走查過程是由被指定作為測試員的小組成員提出一批測試實(shí)例,讓與會(huì)成員充當(dāng)計(jì)算機(jī),對(duì)每個(gè)測試實(shí)例用頭腦來執(zhí)行程序,在紙上或黑板上監(jiān)視程序的狀態(tài)。大多數(shù)走查中,在懷疑程序的過程中所發(fā)現(xiàn)的缺陷比通過測試實(shí)例本身發(fā)現(xiàn)的缺陷更多。

        (二)審查。審查(inspection)是一種正式的檢查和評(píng)估方法。它是用逐步檢查源代碼中有無邏輯或語法錯(cuò)誤的辦法來檢測故障,可以認(rèn)為它是拿代碼與標(biāo)準(zhǔn)和規(guī)范對(duì)照的補(bǔ)充,因?yàn)樗坏枰浖_發(fā)者自查,而且要組織代碼檢查小組進(jìn)行代碼檢查。檢查過程所采用的主要技術(shù)是設(shè)計(jì)與使用缺陷檢查表。首先由程序編寫小組成員逐句闡明程序的邏輯,在此過程中可由程序員或測試小組成員提出問題,追蹤缺陷是否存在,然后利用缺陷檢查表來分析討論。會(huì)議后把發(fā)現(xiàn)的缺陷填入表中交給程序開發(fā)小組。如發(fā)現(xiàn)重大缺陷,那么在改正缺陷之后,還要重新開審議會(huì)議。審查結(jié)束后要完成《靜態(tài)分析錯(cuò)誤報(bào)告》。

        (三)評(píng)審。評(píng)審(review)通常在審查會(huì)后進(jìn)行,審查小組根據(jù)代碼審查的錯(cuò)誤記錄來評(píng)估該程序,決定是否需要重新進(jìn)行審議?!鹅o態(tài)分析錯(cuò)誤報(bào)告》中必須寫明錯(cuò)誤的類型、影響域、位置和原因等,需交給程序編寫者并同時(shí)存檔。

        二、動(dòng)態(tài)測試

        完成靜態(tài)測試后,還需真正地將程序運(yùn)行起來完成動(dòng)態(tài)測試。動(dòng)態(tài)測試就是通過觀察軟件運(yùn)行時(shí)的動(dòng)作,來提供執(zhí)行跟蹤,時(shí)間分析,以及測試覆蓋度方面的信息。這就需要設(shè)計(jì)系列的測試用例確保測試的完整性和有效性,在測試用例的設(shè)計(jì)上,通常會(huì)綜合黑盒與白盒測試方法。

        (一)黑盒測試。黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動(dòng)測試,它是在已知產(chǎn)品所應(yīng)具有的功能情況下,通過測試來檢測每個(gè)功能是否都能正常使用。在測試時(shí),把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試人員針對(duì)程序接口和用戶界面進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息并且保持外部信息(如;數(shù)據(jù)庫或文件)的完整性。其具體方法有等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法、因果圖法等。黑盒法著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),只針對(duì)軟件界面和軟件功能進(jìn)行測試,它主要用于軟件驗(yàn)收測試。黑盒測試時(shí),必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù)。測試情況實(shí)際上有無窮多個(gè),人們不僅要測試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測試,另外,還得考慮接口測試、性能測試、內(nèi)存測試等。黑盒測試中不可能做到窮舉測試,因此局限于功能測試是遠(yuǎn)遠(yuǎn)不夠的,還要結(jié)合白盒測試方法,進(jìn)行邏輯和路徑測試。

        (二)白盒測試。白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試,也就是已知產(chǎn)品內(nèi)部工作過程情況下,清楚最終生成軟件產(chǎn)品的計(jì)算機(jī)程序的結(jié)構(gòu)和語句,按照程序內(nèi)部的結(jié)構(gòu)測試程序,測試程序內(nèi)部的變量狀態(tài)、邏輯結(jié)構(gòu)、運(yùn)行路徑等,通過測試來檢測產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作,而不顧它的功能。白盒測試針對(duì)程序的邏輯結(jié)構(gòu)設(shè)計(jì)測試用例,用邏輯覆蓋率來衡量測試的完整性。邏輯單位主要有:語句、分支、條件、條件值、條件值組合,路徑。語句覆蓋就是覆蓋所有的語句,其他類推。另外還有一種判定條件覆蓋,其實(shí)是分支覆蓋與條件覆蓋的組合。跟條件有關(guān)的覆蓋就有三種,條件覆蓋是指覆蓋所有的條件表達(dá)式,不考慮計(jì)算結(jié)果:條件值覆蓋是指覆蓋條件的所有可能取值,即每個(gè)條件的取真值和取假值都要至少計(jì)算一次;條件值組合覆蓋是指覆蓋所有條件取值的所有可能組合。白盒測試的主要方法有邏輯驅(qū)動(dòng)、基本路徑測試等。白盒法是窮舉路徑測試,主要用于軟件驗(yàn)證。白盒法是“基于覆蓋的測試”,應(yīng)朝著提高覆蓋率的方向努力,盡可能多地進(jìn)行測試,找出那些被忽視的錯(cuò)誤。

        以上測試方法各有所長,每種方法都可設(shè)計(jì)出一組有用的測試用例,用這組測試用例可以比較容易地發(fā)現(xiàn)某種類型的錯(cuò)誤,卻不易發(fā)現(xiàn)另一種類型的錯(cuò)誤,因此在實(shí)際測試中,應(yīng)結(jié)合各種測試方法,形成綜合策略。

        猜你喜歡
        程序
        給Windows添加程序快速切換欄
        電腦愛好者(2020年6期)2020-05-26 09:27:33
        試論我國未決羈押程序的立法完善
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國與歐盟正式啟動(dòng)“離婚”程序程序
        基于VMM的程序行為異常檢測
        偵查實(shí)驗(yàn)批準(zhǔn)程序初探
        我國刑事速裁程序的構(gòu)建
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        恐怖犯罪刑事訴訟程序的完善
        漂亮人妻被强了完整版| www.亚洲天堂.com| 久久蜜桃一区二区三区| 亚洲字幕中文综合久久| 精品久久久久久无码人妻热| 久久久男人天堂| 玩弄放荡人妻一区二区三区| 日韩av一区二区观看| 亚洲中文字幕成人无码| 欧美激情在线不卡视频网站| 亚洲av人片在线观看调教| 午夜大片在线播放观看| 国产香蕉国产精品偷在线| 四虎影视国产在线观看精品| 亚洲传媒av一区二区三区| 一区二区三区国产在线视频| 中文字幕v亚洲日本| 亚洲av日韩aⅴ无码电影| 色综合久久五十路人妻| 一边捏奶头一边高潮视频| 麻豆高清免费国产一区| 西西人体大胆视频无码| 国产在线精品成人一区二区三区 | 自拍情爱视频在线观看| 亚洲视频一区二区三区免费| 日韩亚洲一区二区三区四区| 在线播放免费播放av片| 传媒在线无码| 中文字幕精品一区二区三区av| 亚洲中文字幕久久精品蜜桃| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 国产96在线 | 免费| 成人高清在线播放视频| 亚洲热线99精品视频| 免费jjzz在线播放国产| 国产av一区二区三区狼人香蕉| 国产av熟女一区二区三区| 亚洲狠狠婷婷综合久久| 久久精品国产亚洲av热九九热| 国产亚洲精品av久久| 波多野结衣乳巨码无在线|