- 采問答訪稿 推薦度:
- 軟件維護合同 推薦度:
- 軟件服務合同 推薦度:
- 軟件購銷合同 推薦度:
- 軟件采購合同 推薦度:
- 相關(guān)推薦
軟件單元測試理論知識問答
為什么需要單元測試?
徹底測試:僅依靠系統(tǒng)測試會存在大量未覆蓋的“死角”,單元測試可以實現(xiàn)代碼級徹底測試,從根本上保證代碼質(zhì)量。
成本最低:排錯成本隨時間推移和范圍擴大直線上升,單元測試是最早階段的測試,且目標最小,因此,排錯成本最低。
自動回歸:單元測試將代碼功能“定格”,代碼修改后自動檢查是否引入新的錯誤,避免陷入“系統(tǒng)測試->修改->引入新的錯誤->新一輪系統(tǒng)測試->修改->引入新的錯誤”的怪圈。自動回歸也使開發(fā)過程適應頻繁變更的需求,使開發(fā)過程自動“敏捷”。
促進開發(fā):利用單元測試還可以實現(xiàn)測試驅(qū)動開發(fā)和可視編程?梢暰幊淌归_發(fā)過程中程序行為可視,大幅提升開發(fā)效率、降低勞動強度。
什么是單元測試?
單元測試是針對代碼單元的獨立測試。從實用角度出發(fā),“單元”是指函數(shù),以類為單元則過于復雜。“獨立”是指將代碼從原始項目中隔離出來,針對各個單元單獨進行測試。
單元測試的基本方法是?
根據(jù)程序功能設(shè)定輸入、執(zhí)行測試、自動判斷輸出是否符合預期。測試過程需要以下關(guān)鍵元素:驅(qū)動(用于執(zhí)行測試的代碼)、用例(輸入及預期輸出)、樁(用于隔離耦合代碼、或代替未實現(xiàn)代碼)。
企業(yè)項目的單元測試面臨哪些難點?
測試簡單獨立的代碼是很容易的,測試復雜項目則是另一回事。企業(yè)項目的單元測試面臨以下難點:可測性問題、失真、不可控、靜態(tài)局部變量的外部控制、內(nèi)部輸出的自動判斷、復雜間接輸入難于初始化、白盒覆蓋逾后逾難等等。不解決這些難題。測試將無法進行,后面的`條目將進一步闡述。
單元測試的具體目標是?
單元測試是針對代碼單元的獨立測試,“獨立”狀態(tài)下易于發(fā)現(xiàn)的錯誤,都是單元測試的目標;集成后才易于發(fā)現(xiàn)的問題,則不是單元測試的目標。
代碼單元本身的功能錯誤都是單元測試的目標,而性能問題(時間性能如執(zhí)行速度,空間性能如存儲空間大小、內(nèi)存泄漏)難于在最小單元內(nèi)測試,不是單元測試目標。
編碼規(guī)范檢查與單元測試無關(guān),無論是否實施單元測試,編碼規(guī)范檢查都是必不可少的工作。
靜態(tài)分析屬于全局掃描,嚴格來說也不是單元測試,提高編譯器的警告級別,就是最簡單高效的靜態(tài)分析。
單元測試是意義重大且困難的工作,目標應該具體而明確,將不屬于單元測試的工作牽扯進來,其結(jié)果往往是“揀了芝麻,丟了西瓜”。
選擇工具時不要被“功能多多”所迷惑,要首先檢查工具能否解決企業(yè)項目單元測試的難點,并用實際項目評估。“多”和“精”從來就是一對矛盾,要判斷工具是不是因為無法解決單元測試的難題,故意把其他東西牽扯進來轉(zhuǎn)移視線。
什么是測試用例?
測試用例就是程序功能的實例,對于單元測試來說,把函數(shù)功能明確化、實例化,用什么輸入應該產(chǎn)生什么輸出的形式記錄下來,就是測試用例。
如何設(shè)計用例?
根據(jù)功能點設(shè)定輸入,再根據(jù)設(shè)計功能設(shè)定預期的正確輸出,這樣就構(gòu)成了一個測試用例。
通常,一個功能點對應一個等價類,“等價”是指測試效果上的等價,等價類中可能存在一個、多個或無數(shù)個值,取其中任何一個,如果測試通過,就表示同類中所有值都會測試通過。
所謂“徹底測試”,是指等價類劃分正確且完整,且設(shè)定了正確的預期輸出,做到了這一點,代碼可以保證不存在功能錯誤。
什么是測試驅(qū)動開發(fā)(TDD)?
首先編寫測試代碼,然后編寫產(chǎn)品代碼,使編譯和測試通過。
優(yōu)點:編寫測試代碼是一種設(shè)計行為,將程序功能細化、明確化;編程時目標具體而明確,避免多余動作;強制實施單元測試,避免編碼后忽略測試。
缺點:手工編寫測試代碼,比較費時;過于強調(diào)測試,很多代碼是不需測試的,且往往在編寫實現(xiàn)時才知道是否有必要測試;對編程過程的幫助不足,很多函數(shù),都是在代碼基本完成時,主要用例才能通過,在此過程中,TDD不能提供幫助;改變思維習慣,有些程序員難于接受。
http://m.ardmore-hotel.com/【軟件單元測試理論知識問答】相關(guān)文章:
職場問答02-07
西畫理論知識測試02-07
塑膠理論知識測試02-12
面試經(jīng)典問答(雙語)08-14
英語面試經(jīng)典問答04-03
英語面試的經(jīng)典問答01-25
面試英語經(jīng)典問答02-12
地震的知識問答02-28
管理問答三則07-16