国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

詳細(xì)介紹單元測試

開發(fā) 測試
本篇主要講解單元測試的有關(guān)知識,包括單元測試的概述、步驟、內(nèi)容等。希望對你有幫助,一起來看。

單元測試是對軟件基本組成單元/模塊進(jìn)行的測試,又稱為模塊測試。基本單元/模塊可以是函數(shù)、類實(shí)例、方法、存儲過程,也可以是任何具有明確功能、規(guī)格定義、明確接口定義、并且其規(guī)模是一般比較小的程序代碼模塊的組合體。

1、概述

單元測試是對軟件基本組成單元/模塊進(jìn)行的測試,又稱為模塊測試。基本單元/模塊可以是函數(shù)、類實(shí)例、方法、存儲過程,也可以是任何具有明確功能、規(guī)格定義、明確接口定義、并且其規(guī)模是一般比較小的程序代碼模塊的組合體。

單元測試的重點(diǎn)在于發(fā)現(xiàn)程序設(shè)計(jì)或?qū)崿F(xiàn)的邏輯錯(cuò)誤,使問題及早暴露,便于問題的定位解決。

單元測試中多采用白盒測試和黑盒測試相結(jié)合的方法,既關(guān)注單元功能,也關(guān)注程序模塊的邏輯結(jié)構(gòu)。兩者結(jié)合起來,既可以避免由于過多關(guān)注路徑而導(dǎo)致測試工作量很大的問題,又可以避免因從外部設(shè)計(jì)測試用例而可能丟失一些路徑的問題。

現(xiàn)今,更多觀點(diǎn)認(rèn)為單元測試應(yīng)該由編碼人員實(shí)施,筆者認(rèn)為這種觀點(diǎn)是有道理的。畢竟由測試人員實(shí)施單元測試比編碼人員實(shí)施的工作量更大。當(dāng)然,如果對于測試航空、航天、醫(yī)療等關(guān)系重大生命、財(cái)產(chǎn)的軟件系統(tǒng)來說,需要投入大量的資源來保證系統(tǒng)質(zhì)量時(shí),則可以采用測試人員實(shí)施單元測試的策略。

單元測試的重點(diǎn)應(yīng)該以功能測試為主,同時(shí)統(tǒng)計(jì)測試的覆蓋率,并且測試模塊的輸入/輸出接口是否正確,內(nèi)部的數(shù)據(jù)流是否正確等。

功能測試主要測試模塊是否正確實(shí)現(xiàn)了設(shè)計(jì)要求的功能,以及有無遺漏的功能。這里有一個(gè)功能覆蓋的概念。因?yàn)楸粶y試模塊可能包括多個(gè)功能點(diǎn),在做測試時(shí),設(shè)計(jì)測試用例要覆蓋這些功能點(diǎn),以保證這些功能點(diǎn)經(jīng)過測試。一般要求功能覆蓋100%。

覆蓋率一般要求進(jìn)行語句覆蓋率和分支覆蓋率,同時(shí)要求測試所有的關(guān)鍵路徑。關(guān)鍵路徑的表達(dá)不是很明確,但是如果要求做基本路徑集覆蓋測試,即使是一個(gè)比較小的模塊也是很難做到的。如果使用單元測試工具(如CppUnit、Junit等),則可以統(tǒng)計(jì)覆蓋率。

單元測試結(jié)束后,如果有些分支由于各種條件無法覆蓋,則需要給出原因說明。

2、單元測試的步驟

單元測試過程包括計(jì)劃、設(shè)計(jì)、執(zhí)行、評審等幾個(gè)步驟,分別如下所述。

① 計(jì)劃:確定測試需求,制訂測試策略,確定測試所用資源(如人員、設(shè)備等),創(chuàng)建測試任務(wù)的時(shí)間表。這部分工作可以簡單描述。

② 設(shè)計(jì):設(shè)計(jì)單元測試模型,制訂測試方案,制訂具體的測試用例,創(chuàng)建可重用的測試腳本。

③ 執(zhí)行:執(zhí)行測試用例,對單元模塊進(jìn)行測試,驗(yàn)證測試的結(jié)果并記錄測試過程中出現(xiàn)的缺陷。

④ 評審:對單元測試的結(jié)果進(jìn)行評審。主要進(jìn)行測試完備性評估。

由于單元模塊往往不是一個(gè)獨(dú)立的程序,在設(shè)計(jì)時(shí),要考慮單元模塊同其他模塊的聯(lián)系,用樁模塊和驅(qū)動模塊模擬所測模塊相聯(lián)系的其他模塊。由被測試模塊、驅(qū)動模塊和樁模塊共同構(gòu)成可運(yùn)行的程序。

驅(qū)動模塊和樁模塊的定義如下所述。

驅(qū)動模塊:相當(dāng)于被測試模塊的主程序,用于接收數(shù)據(jù)或產(chǎn)生數(shù)據(jù),把數(shù)據(jù)傳遞給被測試模塊,再輸出實(shí)測結(jié)果,或把實(shí)測結(jié)果同預(yù)期結(jié)果進(jìn)行比對。

樁模塊:也稱為存根模塊。用以代替被測試模塊調(diào)用的子模塊。樁模塊可以用做數(shù)據(jù)處理,不需要把模塊的所有功能都模擬,可以簡單地返回一個(gè)值。

3、單元測試的內(nèi)容

1)單元功能測試

單元功能測試的內(nèi)容如下:

  • 單元設(shè)計(jì)的功能點(diǎn)是否全部實(shí)現(xiàn)。
  • 運(yùn)算的優(yōu)先級和先后執(zhí)行順序是否正確。
  • 計(jì)算中精度的處理是否正確。
  • 計(jì)算中的誤差是否會無限放大。

2)模塊接口測試

在單元測試的開始,應(yīng)對所測模塊的數(shù)據(jù)流進(jìn)行測試。如果數(shù)據(jù)不能正確地輸入和輸出,就不能進(jìn)行其他測試。

對模塊接口可能需要進(jìn)行下面的測試外包項(xiàng)目:

  • 調(diào)用所測模塊時(shí)的輸入?yún)?shù)與模塊的形式參數(shù)在個(gè)數(shù)、屬性、順序上是否匹配。
  • 所測模塊調(diào)用子模塊時(shí),它輸入給子模塊的參數(shù)與子模塊的形式參數(shù)在個(gè)數(shù)、屬性、順序上是否匹配。
  • 是否修改了只做輸入用的形式參數(shù)。
  • 輸出給標(biāo)準(zhǔn)函數(shù)的參數(shù)在個(gè)數(shù)、屬性、順序上是否正確。
  • 全局變量的定義在各模塊中是否一致。
  • 限制是否通過形式參數(shù)來傳送。
  • 模塊對外部文件、數(shù)據(jù)庫進(jìn)行輸入/輸出時(shí),必須對文件操作進(jìn)行測試。例如,緩沖區(qū)的大小、是否在讀寫文件前打開文件,在結(jié)束前關(guān)閉文件等。

3)內(nèi)部數(shù)據(jù)流測試

內(nèi)部數(shù)據(jù)流測試包括以下幾點(diǎn):

  • 不正確或不一致的數(shù)據(jù)類型說明。
  • 使用尚未賦值或尚未初始化的變量。
  • 錯(cuò)誤的初始值或錯(cuò)誤的默認(rèn)值。
  • 變量名拼寫錯(cuò)誤或書寫錯(cuò)誤。
  • 不一致的數(shù)據(jù)類型。
  • 全局變量對模塊是否產(chǎn)生影響。

4)邏輯路徑測試

邏輯路徑測試包括以下幾點(diǎn):

  • 是否到達(dá)重要的功能點(diǎn)路徑。
  • 邏輯判斷的邊界點(diǎn)是否正確。
  • 異常/錯(cuò)誤處理。
  • 比較完善的模塊設(shè)計(jì)要求能預(yù)見異常或出錯(cuò)的條件,并設(shè)置適當(dāng)?shù)漠惓L幚砗统鲥e(cuò)處理,以便在程序出現(xiàn)異常或錯(cuò)誤時(shí),能對出錯(cuò)程序重新進(jìn)行安排,保證邏輯上的正確性。重點(diǎn)應(yīng)該考慮下面幾個(gè)問題:
  • 異常或出錯(cuò)的描述是否可以理解。
  • 異常處理是否合理、出錯(cuò)后對錯(cuò)誤的定位是否準(zhǔn)確。
  • 提示的錯(cuò)誤與實(shí)際的錯(cuò)誤是否一致。
  • 對錯(cuò)誤條件的處理是否正確。

以上提到的很多內(nèi)容在編碼規(guī)范或代碼檢查單中大多已經(jīng)包含,如果模塊在進(jìn)入單元測試之前,已經(jīng)進(jìn)行了桌前檢查和同行評審,則模塊中潛在的缺陷就可能比較少。

4、單元測試用例設(shè)計(jì)

單元測試中幾乎可以運(yùn)用所有測試用例設(shè)計(jì)方法。

單元測試過程如下所述。

① 單元模塊運(yùn)行設(shè)計(jì)第一個(gè)測試用例。第一個(gè)測試用例一般是使用最簡單的方法執(zhí)行被測單元。當(dāng)這個(gè)用例可以執(zhí)行時(shí),就能確定測試環(huán)境和測試單元是可用的。

② 設(shè)計(jì)被測試單元測試用例。閱讀相關(guān)的設(shè)計(jì)說明,每一個(gè)測試用例就是通過有針對性地測試說明書中的一項(xiàng)或者多項(xiàng)內(nèi)容,用以驗(yàn)證設(shè)計(jì)說明書所對應(yīng)的功能是否實(shí)現(xiàn)。

③ 設(shè)計(jì)測試功能異常處理方面的測試用例。用可能導(dǎo)致模塊功能失效的無效數(shù)據(jù),測試模塊對無效數(shù)據(jù)的反應(yīng)是否合理,以及對異常或錯(cuò)誤的處理后模塊的反應(yīng)如何,驗(yàn)證模塊有沒有做不應(yīng)該做的工作。

④ 設(shè)計(jì)其他的測試用例,驗(yàn)證設(shè)計(jì)對模塊的要求。例如計(jì)算精度、性能、可恢復(fù)性、安全性等。

⑤ 加載測試用例運(yùn)行程序,需要查看和記錄測試結(jié)果,尤其是測試結(jié)果與預(yù)期結(jié)果不一致的情況。

⑥ 補(bǔ)充測試用例,執(zhí)行前面測試用例運(yùn)行沒有覆蓋到的主要分支和 語句。

⑦ 重復(fù)上面的1~6步,直到功能覆蓋、主要邏輯覆蓋、異常條件和邊界覆蓋等。

希望通過本文對單元測試的介紹,能夠給你帶來幫助。

【編輯推薦】

  1. 高效的單元測試Rails該怎樣進(jìn)行
  2. 淺談單元測試方法和步驟
  3. 單元測試徹底測試的方法
  4. 淺談軟件測試嵌入式單元測試技能
  5. 如何做好單元測試
責(zé)任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-14 15:39:46

單元測試

2017-01-14 23:42:49

單元測試框架軟件測試

2010-01-15 14:10:42

C++單元測試

2023-12-24 10:00:35

Java單元測試

2017-01-16 12:12:29

單元測試JUnit

2017-01-14 23:26:17

單元測試JUnit測試

2020-08-18 08:10:02

單元測試Java

2017-03-23 16:02:10

Mock技術(shù)單元測試

2009-09-01 16:45:00

C#單元測試工具

2021-05-05 11:38:40

TestNGPowerMock單元測試

2023-07-26 08:58:45

Golang單元測試

2020-05-07 17:30:49

開發(fā)iOS技術(shù)

2011-05-16 16:52:09

單元測試徹底測試

2009-09-01 10:20:06

protected方法單元測試

2012-05-17 09:09:05

Titanium單元測試

2020-09-30 08:08:15

單元測試應(yīng)用

2013-06-04 09:49:04

Spring單元測試軟件測試

2011-06-14 15:56:42

單元測試

2009-09-25 10:33:25

Hibernate單元

2017-02-23 15:59:53

測試MockSetup
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

欧美国产一区二区| 国产午夜精品一区二区三区四区| 一区二区三区亚洲| 国产三级香港三韩国三级| 国产视频亚洲| 国产成人精品一区二区| 浪潮色综合久久天堂| 91久久国产最好的精华液| 在线观看的毛片| 国产乱码精品一区二区三区五月婷 | 吞精囗交69激情欧美| 亚洲高清在线精品| 性欧美大战久久久久久久| 国产专区一区| 国产91亚洲精品| 四虎成人精品一区二区免费网站| 91精品久久久久久久久99蜜臂| 五月天丁香婷| 中文字幕国产精品一区二区| 黄色一级片在线看| 看片网站欧美日韩| 欧美日韩一区二区三区免费| 欧美国产美女| 国产精品成人一区二区三区吃奶| 日韩在线观看一区二区三区| 国产亚洲精品91在线| www中文字幕在线观看| 欧美精品乱码久久久久久按摩 | 麻豆传传媒久久久爱| 精品一区二区日韩| 日韩高清av| 欧美亚洲自偷自偷| 欧美国产视频在线观看| 午夜日韩电影| 91亚洲午夜在线| 希岛爱理一区二区三区| 国产成人jvid在线播放| 亚州国产精品| 国产精品久久久精品| 亚洲最大在线| 日韩av电影国产| 九九精品在线| 国产精品久久久久久久久久| 久久av免费看| 国产精品免费观看在线| 精品国产91| 国产精品海角社区在线观看| 偷拍视屏一区| 国产精品久久久久久久久影视| 精品国产一区二区三区久久久樱花 | 六月婷婷色综合| 国产精品一区在线免费观看| 蜜臀精品一区二区三区在线观看 | 免费精品国产| 国产日韩亚洲欧美| 综合天堂久久久久久久| 成人在线免费观看视视频| 天天综合一区| 久久免费一区| 韩国av一区二区三区| 亚洲人精品午夜射精日韩 | 欧美日韩高清在线一区| 日韩va欧美va亚洲va久久| 亚洲精品美女久久7777777| 国产成人精品影视| 色爱综合网站| 日韩欧美高清视频| 免费黄色电影在线观看| 亚洲欧美中文日韩在线v日本| 日本免费成人| 日本欧美一二三区| 欧美激情一级片一区二区| 欧美精品国产精品久久久| 国产二区国产一区在线观看| 亚洲黄色av网址| 欧美制服丝袜第一页| 色资源二区在线视频| 国内精品在线一区| 亚洲一区二区欧美| 久草福利在线| 亚洲国产精品字幕| 国产精品tv| 久久国产一区二区| 99re热这里只有精品免费视频| 艹b视频在线观看| 欧美无乱码久久久免费午夜一区| 国产777精品精品热热热一区二区| 操人视频在线观看欧美| 香蕉久久网站| 成人短视频在线看| 一区二区不卡在线播放 | 户外极限露出调教在线视频| 精品久久久久香蕉网| 日本一区二区三区播放| 北条麻妃高清一区| 久久丝袜美腿综合| 在线观看麻豆| 国内精品久久久久久中文字幕| 亚洲乱码久久| 成人18网址在线观看| 亚洲精品一区二区精华| 三级小说欧洲区亚洲区| 亚洲国产日韩美| 亚洲最新视频在线播放| 欧美电影免费观看| 999视频在线免费观看| 2欧美一区二区三区在线观看视频| 日韩在线免费看| 久久亚洲精品一区| 国产亚洲在线| 黄页网站视频在线观看| 久久九九精品99国产精品| 欧美一级久久| 尤物视频在线观看| 久久99精品久久久久久青青91| 亚洲裸体俱乐部裸体舞表演av| 99re6在线视频| 一区二区成人精品| 亚洲久久一区二区| 在线国产中文字幕| 2019av中文字幕| 97se亚洲国产综合自在线观| 色呦呦久久久| 国产精品青青草| 亚洲一区二区影院| 99ri日韩精品视频| 久艹在线免费观看| 亚洲国产精品久久91精品| 欧美在线亚洲综合一区| 美女av电影| 欧美另类高清videos| 国产精品88888| 91色在线看| 免费在线观看91| 麻豆电影传媒二区| 精品久久人人做人人爱| 91亚洲一区| 成人天堂入口网站| 欧美高清在线播放| 97se亚洲国产综合自在线不卡| 91精品产国品一二三产区| 日韩久久不卡| 91精品国产91久久久久久一区二区 | 国产一区二区三区精品欧美日韩一区二区三区 | 九七电影韩国女主播在线观看| 国产精品第10页| 成人午夜av电影| 中文字幕21页在线看| 亚洲欧洲久久| 欧美精品一区二区三区蜜臀| 国产欧美三级| 国产亚洲依依| 99在线热播| 在线免费不卡电影| 激情91久久| √天堂资源地址在线官网| 97netav| 欧美日韩国产区一| 亚洲欧美日本视频在线观看| 黄色在线论坛| 相泽南亚洲一区二区在线播放| 日韩精品资源二区在线| 日本不卡不码高清免费观看| 欧美78videosex性欧美| 一本色道久久99精品综合| 日韩高清欧美高清| 成人av网站在线| 亚洲一二三区视频| 国产天堂在线观看| 成人夜晚看av| 欧美日韩在线播放| 欧美aⅴ一区二区三区视频| 欧美羞羞视频| 国产精品免费成人| 日韩暖暖在线视频| 疯狂做受xxxx欧美肥白少妇| 99在线精品视频在线观看| 四虎影院观看视频在线观看 | 日本免费成人| 天堂av在线网站| 日韩av观看网址| 欧美主播一区二区三区| 日本欧美一区二区在线观看| 国产69精品久久久久按摩| 日韩av播放器| 亚洲精品日韩av| 亚洲成在人线av| 久久这里只有精品视频网| 欧美女王vk| 在线观看午夜av| 欧美综合在线观看视频| 国产精品免费看久久久香蕉| 精品视频在线免费| 国产福利一区二区三区| 亚洲精品国模| av片在线观看永久免费| 国产精品宾馆在线精品酒店| 国产精品嫩草视频| 日韩成人中文字幕在线观看| 中文字幕成人在线观看|