版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、如何進(jìn)行單元測試如何進(jìn)行單元測試葛志春(轉(zhuǎn)載自51CMM)2003年06月19日摘要摘要:單元測試是軟件測試的基礎(chǔ),本文詳細(xì)的論述了單元測試的兩個步驟人工靜態(tài)檢查法與動態(tài)執(zhí)行跟蹤法,所需執(zhí)行的工作項目及相關(guān)的策略和方法。通過對這兩個步驟的描述作者將多年的單元測試經(jīng)驗及測試?yán)碚撟⑷胗谌摹?概述單元測試是針對軟件設(shè)計的最小單位——程序模塊,進(jìn)行正確性檢驗的測試工作。其目的在于發(fā)現(xiàn)每個程序模塊內(nèi)部可能存在的差錯。單元測試也是程序員的一項基本
2、職責(zé),程序員必須對自己所編寫的代碼保持認(rèn)真負(fù)責(zé)的態(tài)度,這是也程序員的基本職業(yè)素質(zhì)之一。同時單元測試能力也是程序員的一項基本能力,能力的高低直接影響到程序員的工作效率與軟件的質(zhì)量。在編碼的過程中作單元測試,其花費是最小的,而回報卻特別優(yōu)厚的。在編碼的過程中考慮測試問題,得到的將是更優(yōu)質(zhì)的代碼,因為在這時您對代碼應(yīng)該做些什么了解得最清楚。如果不這樣做,而是一直等到某個模塊崩潰了,到那時您可能已經(jīng)忘記了代碼是怎樣工作的。即使是在強(qiáng)大的工作壓力
3、下,您也還必須重新把它弄清楚,這又要花費許多時間。進(jìn)一步說,這樣做出的更正往往不會那么徹底,可能更脆弱,因為您喚回的理解可能不那么完全。通常合格的代碼應(yīng)該具備以下性質(zhì):正確性、清晰性、規(guī)范性、一致性、高效性等(根據(jù)優(yōu)先級別排序)。1.正確性是指代碼邏輯必須正確,能夠?qū)崿F(xiàn)預(yù)期的功能。2.清晰性是指代碼必須簡明、易懂,注釋準(zhǔn)確沒有歧義。3.規(guī)范性是指代碼必須符合企業(yè)或部門所定義的共同規(guī)范包括命名規(guī)則,代碼風(fēng)格等等。4.一致性是指代碼必須在命
4、名上(如:相同功能的變量盡量采用相同的標(biāo)示符)、風(fēng)格上都保持統(tǒng)一。5.高效性是指代碼不但要滿足以上性質(zhì),而且需要盡可能降低代碼的執(zhí)行時間。2單元測試步驟在代碼編寫完成后的單元測試工作主要分為兩個步驟人工靜態(tài)檢查和動態(tài)執(zhí)行跟蹤。人工靜態(tài)檢查是測試的第一步,這個階段工作主要是保證代碼算法的邏輯正確性(盡量通過人工檢查發(fā)現(xiàn)代碼的邏輯錯誤)、清晰性、規(guī)范性、一致性、算法高效性。并盡可能的發(fā)現(xiàn)程序中沒有發(fā)現(xiàn)的錯誤。會兒又采用從上到下的方式(如:f
5、(I=10II0));應(yīng)該盡量采用統(tǒng)一的方式,或則統(tǒng)一從下到上,或則統(tǒng)一從上到下。建議采用f循環(huán)和While循環(huán),不要采用dowhile循環(huán)等。第十、檢查程序中使用到的神秘數(shù)字是否采用了表示符定義。神秘的數(shù)字包括各種常數(shù)、數(shù)組的大小、字符位置、變換因子以及程序中出現(xiàn)的其他以文字形式寫出的數(shù)值。在程序源代碼里,一個具有原本形式的數(shù)對其本身的重要性或作用沒提供任何指示性信息,它們也導(dǎo)致程序難以理解和修改。對于這類神秘數(shù)字必須采用相應(yīng)的標(biāo)量來
6、表示;如果該數(shù)字在整個系統(tǒng)中都可能使用到務(wù)必將它定義為全局常量;如果該神秘數(shù)字在一個類中使用可將其定義為類的屬性(Attribute)如果該神秘數(shù)字只在一個方法中出現(xiàn)務(wù)必將其定義為局部變量或常量。第十一、檢查代碼是否可以優(yōu)化、算法效率是否最高。如:SQL語句是否可以優(yōu)化,是否可以用1條SQL語句代替程序中的多條SQL語句的功能,循環(huán)是否必要,循環(huán)中的語句是否可以抽出到循環(huán)之外等。第十二、檢查您的程序是否清晰簡潔容易理解。注意:冗長的程序
7、并不一定不是清晰的。第十三、檢查方法內(nèi)部注釋是否完整;是否清晰簡潔;是否正確的反映了代碼的功能,錯誤的注釋比沒有注釋更糟;是否做了多余的注釋;對于簡單的一看就懂的代碼沒有必要注釋。第十四、檢查注釋文檔是否完整;對包、類、屬性、方法功能、參數(shù)、返回值的注釋是否正確且容易理解;是否會落了或多了某個參數(shù)的注釋,參數(shù)類型是否正確,參數(shù)的限定值是否正確。特別是對于形式參數(shù)與返回值中關(guān)于神秘數(shù)值的注釋,如:類型參數(shù)應(yīng)該指出1.代表什么,2.代表什么
8、,3.代表什么等。對于返回結(jié)果集(ResultSet)的注釋,應(yīng)該注釋結(jié)果集中包含那些字段及字段類型、字段順序等。4動態(tài)執(zhí)行跟蹤動態(tài)執(zhí)行測試通常分為黑盒測試與白盒測試。黑盒測試指已知產(chǎn)品的功能設(shè)計規(guī)格,可以進(jìn)行測試證明每個實現(xiàn)了的功能是否符合要求。白盒測試指已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計規(guī)格的要求,所有內(nèi)部成分是否已經(jīng)經(jīng)過檢查。對于單元測試來說主要應(yīng)該采用白盒測試法對每個模塊的內(nèi)部作跟蹤檢查測試。對于單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何進(jìn)行廣告效果測試
- 如何進(jìn)行產(chǎn)品概念測試
- 如何進(jìn)行胎教
- 關(guān)鍵崗位員工如何進(jìn)行招聘與測試
- 如何進(jìn)行崗位分析
- 如何進(jìn)行理念識別
- 如何進(jìn)行劃線提問
- 如何進(jìn)行績效面談
- 如何進(jìn)行寫字教學(xué)
- 女性如何進(jìn)行保健
- 如何進(jìn)行批評
- 如何進(jìn)行危險評估
- 如何進(jìn)行招聘面試
- 如何進(jìn)行試卷分析
- 如何進(jìn)行有效激勵
- 如何進(jìn)行薪酬設(shè)計
- 如何進(jìn)行背景調(diào)查
- 如何進(jìn)行新課改論文
- 如何進(jìn)行壓力管理
- 如何進(jìn)行財務(wù)分析
評論
0/150
提交評論