国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

深入理解Python單元測試unittest的使用示例

2020-02-16 10:45:55
字體:
供稿:網(wǎng)友

軟件測試

大型軟件系統(tǒng)的開發(fā)是一個很復(fù)雜的過程,其中因為人的因素而所產(chǎn)生的錯誤非常多,因此軟件在開發(fā)過程必須要有相應(yīng)的質(zhì)量保證活動,而軟件測試則是保證質(zhì)量的關(guān)鍵措施。正像軟件熵(software entropy)所描述的那樣:一個程序從設(shè)計很好的狀態(tài)開始,隨著新的功能不斷地加入,程序逐漸地失去了原有的結(jié)構(gòu),最終變成了一團(tuán)亂麻(其實最初的"很好的狀態(tài)"得加個問號)。測試的目的說起來其實很簡單也極具吸引力,那就是寫出高質(zhì)量的軟件并解決軟件熵這一問題。

可惜的是,軟件開發(fā)人員很少能在編碼的過程中就進(jìn)行軟件測試,大部分軟件項目都只在最終驗收時才進(jìn)行測試,有些項目甚至根本沒有測試計劃!隨著軟件質(zhì)量意識的增強,許多軟件開發(fā)組織開始轉(zhuǎn)向UML、CMM、RUP、XP等軟件工程方法,以期提高軟件質(zhì)量,并使軟件開發(fā)過程更加可控,好在這些方法對測試都提出了很嚴(yán)格的要求,從而使得測試在軟件開發(fā)過程的作用開始真正體現(xiàn)出來。

軟件測試作為一種系統(tǒng)工程,涉及到整個軟件開發(fā)過程的各個方面,需要管理人員、設(shè)計人員、開發(fā)人員和測試人員的共同努力。作為軟件開發(fā)過程中的主要力量,現(xiàn)今的程序員除了要編寫實現(xiàn)代碼外,還承擔(dān)著單元測試這一艱巨任務(wù),因此必須采用新的工作模式:

    編寫和維護(hù)一套詳盡的單元測試用例; 先構(gòu)造單元測試和驗收測試用例,然后再編寫代碼; 根據(jù)構(gòu)造的測試用例來編寫代碼。

單元測試負(fù)責(zé)對最小的軟件設(shè)計單元(模塊)進(jìn)行驗證,它使用軟件設(shè)計文檔中對模塊的描述作為指南,對重要的程序分支進(jìn)行測試以發(fā)現(xiàn)模塊中的錯誤。由于軟件模塊并不是一個單獨的程序,為了進(jìn)行單元測試還必須編寫大量額外的代碼,從而無形中增加了開發(fā)人員的工作量,目前解決這一問題比較好的方法是使用測試框架。測試框架是在用XP方法進(jìn)行單元測試時的關(guān)鍵,尤其是在需要構(gòu)造大量測試用例時更是如此,因為如果完全依靠手工的方式來構(gòu)造和執(zhí)行這些測試,肯定會變成一個花費大量時間并且單調(diào)無味的工作,而測試框架則可以很好地解決這些問題。

單元測試的重要性就不多說了,可惡的是python中有太多的單元測試框架和工具,什么unittest, testtools, subunit, coverage, testrepository, nose, mox, mock, fixtures, discover,再加上setuptools, distutils等等這些,先不說如何寫單元測試,光是怎么運行單元測試就有N多種方法,再因為它是測試而非功能,是很多人沒興趣觸及的東西。但是作為一個優(yōu)秀的程序員,不僅要寫好功能代碼,寫好測試代碼一樣的彰顯你的實力。如此多的框架和工具,很容易讓人困惑,困惑的原因是因為并沒有理解它的基本原理,如果一些基本的概念都不清楚,怎么能夠?qū)懗鏊悸非逦臏y試代碼?

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 三穗县| 剑川县| 西峡县| 彰化县| 株洲市| 东阳市| 闻喜县| 聂拉木县| 铅山县| 广丰县| 乐业县| 田阳县| 融水| 铜梁县| 三台县| 沐川县| 鄂托克旗| 化德县| 九龙坡区| 化德县| 西宁市| 伊吾县| 夏邑县| 巨鹿县| 博野县| 温州市| 武宁县| 营山县| 台中县| 镇宁| 沁源县| 东乡县| 赣州市| 雅安市| 保亭| 福清市| 龙江县| 龙里县| 宽城| 莱芜市| 兴义市|