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

首頁 > 編程 > Python > 正文

在Python中進行自動化單元測試的教程

2020-02-23 00:44:19
字體:
來源:轉載
供稿:網友

一、軟件測試

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

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

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

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

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

使用Python語言的開發人員可以使用Steve Purcell編寫的PyUnit作為單元測試框架,通過將單元測試融合到PyUnit這一測試框架里,Python程序員可以更容易地增加、管理、執行測試用例,并對測試結果進行分析。此外,使用PyUnit還可以實現自動單元測試(回歸測試)。

二、規范Python單元測試

測試是一個貫穿于整個開發過程的連續過程,從某個意義上說,軟件開發的過程實際上就是測試過程。正如Martin Fowler所說的"在你不知道如何測試代碼之前,就不該編寫程序。而一旦你完成了程序,測試代碼也應該完成。除非測試成功,你不能認為你編寫出了可以工作的程序。"

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文成县| 定兴县| 景德镇市| 景洪市| 舒兰市| 治多县| 九江县| 新沂市| 内江市| 清涧县| 吐鲁番市| 林口县| 伊川县| 南漳县| 开平市| 太康县| 绍兴市| 从江县| 河西区| 墨竹工卡县| 梧州市| 新沂市| 伊川县| 岳池县| 马公市| 阜南县| 湘乡市| 桑日县| 西安市| 天全县| 栖霞市| 长泰县| 彭山县| 抚远县| 剑河县| 昆山市| 仁化县| 石河子市| 邵阳市| 沐川县| 常宁市|