以上三種審議都要耗費(fèi)一定的時(shí)間和資源,但是它卻能更早地發(fā)現(xiàn)和解決不易顯現(xiàn)的錯(cuò)誤。
審議通過后,我們終于可以使用用例來進(jìn)行代碼測試和調(diào)試了。代碼的調(diào)試是用來保證程序能按照系統(tǒng)需求正常運(yùn)行的一種手段。但是我所提到的這種代碼調(diào)試并不是簡單的調(diào)試,它要包括以下兩部分:
* 特征調(diào)試
* 代碼覆蓋調(diào)試
首先我們要先進(jìn)行特征 調(diào)試。它是通過運(yùn)行程序找到代碼中的錯(cuò)誤,這與我們平時(shí)常進(jìn)行的調(diào)試相同。到程序能運(yùn)行后,我們可使用已編好的三種類型的用例并以正常數(shù)據(jù)測試用例進(jìn)行測試,若不能正常運(yùn)行則要用調(diào)試工具調(diào)試。在這階段,我們要用大量正常數(shù)據(jù)去測試。測試后,該程序應(yīng)可在絕大多數(shù)的正常數(shù)據(jù)中運(yùn)行。 其次,我們要進(jìn)行代碼覆蓋測試,一直要達(dá)到以下目標(biāo)為至:
* 測試到每一個(gè)最小語句的代碼
* 測試到所有的輸出結(jié)果
我們應(yīng)該通過一步步的調(diào)試去運(yùn)行每個(gè)程序的所有語句和分支。如果我們想要百分之百地覆蓋就應(yīng)適當(dāng)運(yùn)用邊緣數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)。測試在這個(gè)階段的質(zhì)量是難以掌握的。它基于程序員的責(zé)任心和經(jīng)驗(yàn)。當(dāng)這階段完成后,每個(gè)程序員所測的深度也是不同的。因此,在這個(gè)測試階段之前,項(xiàng)目經(jīng)理(或測試工程師)應(yīng)制定出測試指導(dǎo)和計(jì)劃書。它們至少應(yīng)包括以下內(nèi)容:
* 測試的主要對象
* 主要調(diào)試點(diǎn)
* 怎樣測試
* 什么時(shí)候可以完成
至今為至,我們已完成了代碼的審議和調(diào)試。如果我們是嚴(yán)格按照以上步驟做的,那就可以保證代碼沒有太多的錯(cuò)誤,至少?zèng)]有使程序運(yùn)行中斷的錯(cuò)誤了。如果我們不能很好地執(zhí)行代碼審議和正確的調(diào)試,那我們就不能順利地通過測試,有時(shí)我們還要不得不返回來做這些事。
好了,我們終于完成了單元測試的工作,程序員們可以喘口氣了,但不要忘記還有更加嚴(yán)格的集成測試要我們?nèi)プ觥?/P>
相關(guān)推薦:考試吧策劃:2010年軟件水平考試完全指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |