




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單元測(cè)試 單元測(cè)試(模塊測(cè)試)的元素 對(duì)程序中較小構(gòu)成元素單個(gè)子程序或過(guò)程進(jìn)行測(cè)試 動(dòng)機(jī) 單元測(cè)試減輕了調(diào)試的難度,因?yàn)殄e(cuò)誤一旦發(fā)現(xiàn),就知道它在哪個(gè)具體的模塊中 單元測(cè)試提供了同時(shí)測(cè)試多個(gè)模塊的可能,將并行工程引入了軟件測(cè)試。 目的 將模塊的功能與定義模塊的功能規(guī)格說(shuō)明或接口規(guī)格說(shuō)明進(jìn)行比較,揭示出模塊與其規(guī)格說(shuō)明之間存在的矛盾。第1頁(yè)/共18頁(yè)單元測(cè)試針對(duì)的問(wèn)題 模塊接口:檢查進(jìn)出單元的數(shù)據(jù)流是否正確 局部數(shù)據(jù)結(jié)構(gòu):測(cè)試內(nèi)部數(shù)據(jù)是否完整?例如:不正確的類(lèi)型說(shuō)明,錯(cuò)誤的初始化等。 路徑測(cè)試:發(fā)現(xiàn)由于不正確的判定或不正常的控制流而產(chǎn)生的錯(cuò)誤,例如:不正確的邏輯操作或優(yōu)先級(jí),不適當(dāng)?shù)匦薷难h(huán)變量。
2、 邊界條件:測(cè)試邊界處程序是否正確工作? 出錯(cuò)處理:測(cè)試出錯(cuò)處理措施是否有效?例如:提供的錯(cuò)誤信息不足,難以找到錯(cuò)誤原因等。第2頁(yè)/共18頁(yè)5.1 測(cè)試用例的設(shè)計(jì) 需要的信息 模塊的規(guī)格說(shuō)明:模塊的輸入和輸出以及模塊的功能 模塊的源代碼 測(cè)試用例的設(shè)計(jì)方法 單元測(cè)試總體上是面向白盒測(cè)試的(靜態(tài)、動(dòng)態(tài)) 后續(xù)測(cè)試針對(duì)較大的元素不易進(jìn)行白盒測(cè)試 后續(xù)測(cè)試著眼于發(fā)現(xiàn)其他類(lèi)型的錯(cuò)誤,不一定與程序邏輯結(jié)構(gòu)有關(guān) 使用一種或多種白盒測(cè)試方法分析模塊的邏輯結(jié)構(gòu),然后使用黑盒測(cè)試方法對(duì)照模塊的規(guī)格說(shuō)明補(bǔ)充測(cè)試用例第3頁(yè)/共18頁(yè)5.2 增量測(cè)試 測(cè)試單獨(dú)的模塊可能需要一個(gè)特殊的驅(qū)動(dòng)模塊和一個(gè)或多個(gè)樁模塊 驅(qū)動(dòng)模
3、塊是為測(cè)試編寫(xiě)的一個(gè)小模塊,用來(lái)將測(cè)試用例驅(qū)動(dòng)或傳輸數(shù)據(jù)到被測(cè)模塊。驅(qū)動(dòng)模塊還需要向測(cè)試人員顯示被測(cè)模塊的結(jié)果。 樁模塊充當(dāng)被測(cè)模塊調(diào)用的模塊,模擬該模塊的功能,接受被測(cè)模塊的調(diào)用指令。 例如測(cè)試模塊B時(shí)需要一個(gè)驅(qū)動(dòng)模塊,和一個(gè)模擬模塊E的樁模塊ABDCFE第4頁(yè)/共18頁(yè)5.2 增量測(cè)試 單元測(cè)試除了要考慮如何設(shè)計(jì)一個(gè)有效的測(cè)試用例集之外,還有一個(gè)重要問(wèn)題,就是模塊組裝方式 兩類(lèi)測(cè)試方法 非增量測(cè)試:先獨(dú)立地測(cè)試每個(gè)模塊,然后再將所有這些模塊組裝成完整的程序測(cè)試,又稱為崩潰(big-bang)測(cè)試。 增量測(cè)試:將被測(cè)模塊組裝到測(cè)試完成的模塊集合中,然后再進(jìn)行測(cè)試。注:在進(jìn)行增量模塊測(cè)試時(shí),單
4、元測(cè)試和集成是同步進(jìn)行的,集成測(cè)試就是模塊測(cè)試的隱含部分,往往并不作為一個(gè)獨(dú)立的測(cè)試步驟。第5頁(yè)/共18頁(yè)非增量測(cè)試和增量測(cè)試增量測(cè)試非增量測(cè)試工作量小:使用前面測(cè)試過(guò)的模塊來(lái)取代非增量測(cè)試中所需要的驅(qū)動(dòng)模塊或樁模塊。工作量較大:要設(shè)計(jì)驅(qū)動(dòng)模塊和樁模塊可以較早發(fā)現(xiàn)模塊中與不匹配接口、不正確假設(shè)等編程錯(cuò)誤。到了測(cè)試過(guò)程的最后階段,模塊之間才能“互相看到”容易進(jìn)行調(diào)試,新出現(xiàn)的錯(cuò)誤往往與最近添加的模塊有關(guān)直到整個(gè)程序組裝之后,模塊之間接口相關(guān)的錯(cuò)誤才會(huì)浮現(xiàn),難以定位測(cè)試可以進(jìn)行地更徹底,每個(gè)模塊經(jīng)受了更多的檢驗(yàn)使用驅(qū)動(dòng)模塊和樁模塊而非實(shí)際模塊,對(duì)被測(cè)試模塊的測(cè)試只影響自身在測(cè)試上花費(fèi)的時(shí)間多,設(shè)計(jì)
5、驅(qū)動(dòng)模塊和樁模塊所用時(shí)間少測(cè)試時(shí)間少,但設(shè)計(jì)驅(qū)動(dòng)模塊和樁模塊需要大量時(shí)間并行性差可以同時(shí)并行測(cè)試很多模塊第6頁(yè)/共18頁(yè)5.3 自頂向下測(cè)試與自底向上測(cè)試 自頂向下測(cè)試 從程序的頂部或初始模塊開(kāi)始測(cè)試。選擇后續(xù)模塊進(jìn)行增量測(cè)試的原則是:至少一個(gè)調(diào)用該模塊的模塊事先經(jīng)過(guò)了測(cè)試。有多種可能的測(cè)試序列時(shí),應(yīng)該考慮先測(cè)試關(guān)鍵模塊和I/O模塊 為了測(cè)試上層模塊,需要設(shè)計(jì)樁模塊,樁模塊通常要向被測(cè)模塊提供測(cè)試數(shù)據(jù),如讀取外部數(shù)據(jù)文件 自底向上測(cè)試 從不調(diào)用其他模塊的終端模塊開(kāi)始測(cè)試,選擇下一個(gè)模塊進(jìn)行增量測(cè)試的原則是:該模塊調(diào)用的所有的模塊都已經(jīng)事先經(jīng)過(guò)了測(cè)試。 為了測(cè)試低層模塊,需要為它們?cè)O(shè)計(jì)驅(qū)動(dòng)模塊:
6、即包含著有效的測(cè)試輸入、調(diào)用被測(cè)模塊且顯示輸出的模塊。第7頁(yè)/共18頁(yè)例子 圖中共有12個(gè)模塊A到L 模塊I包含IO的寫(xiě)操作 模塊J包含IO的讀操作ACDBJIHGFLKE第8頁(yè)/共18頁(yè)自頂向下的增量測(cè)試 首先測(cè)試模塊A,需要設(shè)計(jì)代表模塊B,C,D的樁模塊;如圖 接著用實(shí)際模塊代替樁模塊,如B,并添加B的樁模塊;如圖 增量的序列有多種可能,例如:ABFJDICGEKHL,加入I后如圖AstubCstubDstubBstubFstubEBJFDstubHI第9頁(yè)/共18頁(yè)自頂向下的增量測(cè)試中的樁模塊顯示跟蹤信息顯示傳遞信息返回一個(gè)值根據(jù)輸入返回一個(gè)值A(chǔ)BCD第10頁(yè)/共18頁(yè)自底向上的增量測(cè)試
7、 第一步是測(cè)試E,J,G, K,L和I中的部分或全部模塊,既可以串行也可以并行進(jìn)行;需要設(shè)計(jì)驅(qū)動(dòng)模塊,有的驅(qū)動(dòng)模塊可以供幾個(gè)測(cè)試模塊使用 接著測(cè)試的模塊序列有多種可能,如果接下來(lái)是測(cè)試較關(guān)鍵的模塊F,H,則用它們代替相應(yīng)的驅(qū)動(dòng)模塊,并加入它們的驅(qū)動(dòng)模塊,如圖JDriverDriverLKIDriverFDriverDDriverH第11頁(yè)/共18頁(yè)自底向上的增量測(cè)試中的驅(qū)動(dòng)模塊調(diào)用從屬模塊調(diào)用從屬模塊,并傳遞參數(shù)調(diào)用從屬模塊,并要求得到參數(shù)兼有B,C的功能ABCD第12頁(yè)/共18頁(yè)自頂向下測(cè)試和自底向上測(cè)試的比較自頂向下自頂向下優(yōu)點(diǎn)如果主要缺陷發(fā)生在程序頂層將非常有利早期程序框架可以進(jìn)行演示,
8、即提早發(fā)現(xiàn)主要的控制問(wèn)題缺點(diǎn)必須開(kāi)發(fā)樁模塊樁模塊可能要比最初表現(xiàn)的更復(fù)雜創(chuàng)建測(cè)試環(huán)境可能很難,甚至無(wú)法實(shí)現(xiàn)觀測(cè)測(cè)試輸出比較困難自底向上自底向上優(yōu)點(diǎn)如果主要的缺陷發(fā)生在程序的底層將非常有利提早發(fā)現(xiàn)程序當(dāng)中的主要算法問(wèn)題測(cè)試環(huán)境比較容易建立觀測(cè)測(cè)試輸出比較容易缺點(diǎn)必須開(kāi)發(fā)驅(qū)動(dòng)模塊直到最后一個(gè)模塊添加進(jìn)去,程序才形成一個(gè)整體第13頁(yè)/共18頁(yè)5.4 執(zhí)行測(cè)試 審核測(cè)試用例 當(dāng)測(cè)試用例造成模塊輸出的實(shí)際結(jié)果與預(yù)期結(jié)果不匹配的情況時(shí),存在兩種可能:該模塊存在錯(cuò)誤,或者測(cè)試用例不正確。因此,執(zhí)行測(cè)試前應(yīng)審核測(cè)試用例集。 使用自動(dòng)化測(cè)試工具可以減少測(cè)試過(guò)程中的勞動(dòng),如流程分析工具等。 執(zhí)行測(cè)試時(shí),應(yīng)該查找程
9、序的副作用,即模塊是否執(zhí)行了不該執(zhí)行的操作。 程序員不應(yīng)測(cè)試自己編寫(xiě)的模塊,最好交換測(cè)試;編寫(xiě)調(diào)用模塊的程序員是測(cè)試被調(diào)模塊的最佳人選。 模塊測(cè)試的目的不是證明模塊能夠正確地運(yùn)行,而是證明模塊中存在著錯(cuò)誤。第14頁(yè)/共18頁(yè)單元測(cè)試的通過(guò)準(zhǔn)則p命名符合規(guī)則p控制流程正確;p變量存取無(wú)誤差;p所有軟件單元達(dá)到質(zhì)量度量指標(biāo);p功能與設(shè)計(jì)說(shuō)明一致;p性能達(dá)到軟件設(shè)計(jì)指標(biāo);p覆蓋測(cè)試達(dá)到規(guī)定的覆蓋率;p對(duì)發(fā)現(xiàn)的問(wèn)題已進(jìn)行修改并通過(guò)回歸測(cè)試。第15頁(yè)/共18頁(yè)單元測(cè)試與集成測(cè)試 每個(gè)模塊完成單元測(cè)試后,需要按照結(jié)構(gòu)圖把它們連接起來(lái),進(jìn)行集成測(cè)試。 集成測(cè)試往往不作為一個(gè)獨(dú)立的測(cè)試步驟,尤其對(duì)增量式模塊測(cè)試而言,它是其中的隱含部分。 集成測(cè)試人員應(yīng)包括具有兩種背景的人員:熟知模塊的內(nèi)部細(xì)節(jié),并能從足夠高的層次上觀察整個(gè)系統(tǒng) 集成測(cè)試的內(nèi)容 單元間的接口測(cè)試 全局?jǐn)?shù)據(jù)結(jié)構(gòu)測(cè)試 邊界和人為條件下的性能 軟件功能模塊的功能測(cè)試
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南京農(nóng)業(yè)大學(xué)《醫(yī)藥信息檢索》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北交通職業(yè)技術(shù)學(xué)院《投資經(jīng)濟(jì)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧波工程學(xué)院《工程管理前沿與創(chuàng)業(yè)研究》2023-2024學(xué)年第二學(xué)期期末試卷
- Module9 (教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)英語(yǔ)五年級(jí)上冊(cè)
- 廣西交通職業(yè)技術(shù)學(xué)院《媒體策略》2023-2024學(xué)年第二學(xué)期期末試卷
- 長(zhǎng)治幼兒師范高等??茖W(xué)?!峨娏鲃?dòng)控制系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧波大學(xué)科學(xué)技術(shù)學(xué)院《俄羅斯概況》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江警官職業(yè)學(xué)院《電機(jī)與電力拖動(dòng)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶醫(yī)藥高等??茖W(xué)?!禩C稅收遵從》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東電子職業(yè)技術(shù)學(xué)院《學(xué)前游戲論》2023-2024學(xué)年第二學(xué)期期末試卷
- 名詞 名詞的定義分類(lèi)(70張)
- 2023北師大版小學(xué)數(shù)學(xué)六年級(jí)下冊(cè)教材分析
- 項(xiàng)目經(jīng)理個(gè)人先進(jìn)事跡材料(4篇)
- 雪佛蘭邁銳寶保養(yǎng)手冊(cè)
- 墨點(diǎn)美術(shù):芥子園畫(huà)譜
- 停車(chē)場(chǎng)道路施工方案
- (21)-9.1《藝術(shù)學(xué)概論》第九章第一節(jié) 藝術(shù)批評(píng)的含義與性質(zhì)、原
- 北師大版五年級(jí)數(shù)學(xué)上冊(cè)《分?jǐn)?shù)的再認(rèn)識(shí)》評(píng)課稿
- 微生物檢驗(yàn)-真菌教學(xué)課件
- 液態(tài)熔渣BGL爐的技術(shù)工藝
- 樓梯臺(tái)階抹灰施工技術(shù)交底
評(píng)論
0/150
提交評(píng)論