程序員修煉之道系列 | 无情的测试
原創-
發表時間 2021-08-09
-
閱讀數 4793
-
最后编辑:琦琦 于 2025-05-19 10:38:24
測試是怎麽來的?
時間退回到很久之前,大多數程序員都不寫測試。直到程序員葛麗絲·霍波發現了那只被夾扁在電腦主機內的飛蛾,開始了程序的調試工作,這就是軟件測試的前身。
硬件工程中的Bug很難查,一旦出現,修複成本也很高,稍不留神就需要重新做一套模具。所以硬件工程往往有層層測試,來極早發現問題,盡量保證簡單且質量高。
同樣,軟件開發也不甘示弱。畢竟Bug被發現得越早,維護的成本就越低。SmallTalk世界裏不是有句話這樣說:“編一點,測一點”。
怎樣測試?
軟件開發中,需要測試的工作很多,主要有以下分類:
- 按測試階段分類:單元測試、集成測試、系統測試、驗收測試
- 按測試手段分類:黑盒測試、白盒測試、手工測試、自動化測試
- 按測試類型分類:功能測試、性能測試、兼容性測試
所有的軟件功能最終都會被測試,這是一場測試人員和終端用戶的賽跑。
測試人員沒有檢查出的Bug,最終都會由用戶測試出來,不良體驗會增加我們的用戶維護成本。爲了避免這種情況,可以通過各種測試來抓住漏網的Bug:
1. 回歸測試——確認今天的Bug修正有沒有影響到昨天可以工作的代碼
2. 測試數據——測試的數據不能局限于理想數據,要給出正常、異常狀態下的各種數據
3. 對測試進行測試——故意引入Bug,證實這個Bug確實是個Bug
4. 徹底測試——測試所有場景,但窮盡測試是不可能的,應設定及時終止的條件
5. 對測試進行設計——編碼的同時,加入測試思維,使最終的代碼不僅僅能工作,還有利于後期的代碼維護
6. 自動化測試——易出錯、需多次重複的測試,可以用自動化測試代替人力
測試中的二八原則
二八原则始于Pareto(帕雷托)原则,就是这个人(意大利经济学家Villefredo Pareto)发明的,其实他就想告诉我们,做事要抓重点。二八原则用在软件中,具体可以表达三个含义。
1、80%的錯誤是由20%的模塊引起的
系統中20%擁有複雜邏輯的關鍵模塊,往往會引起80%的錯誤,只有關鍵模塊穩定了,整個系統才能穩定。
2、80%的測試成本花在20%的軟件模塊中
測試工作中,用低效且量多的用例來測試核心模塊,在測試執行過程中必將導致一部分關鍵Bug找不到。
3、80%的測試時間花在20%的軟件模塊中
複雜的模塊或全新系統,需要投入充足的時間來設計思考測試用例,用時越短,風險越大。
好项目的测试代码可能比産品代码还要多。而事实证明,编写这些测试所花的时间是值得的。因为只有通过了全部测试,编码才算完成,这份高度自信,就是测试给的。
-
禅道産品
禅道開源版 禅道企業版 禅道旗艦版 禅道IPD版 -
核心功能
産品管理 項目管理 質量管理 效能管理 -
使用文檔
基本版手冊 企業版手冊 旗艦版手冊 IPD版手冊 開發中心手冊 -
幫助中心
积分問答 常見問題 論壇交流 使用視頻 Gitee GitHub -
關于我們
關于我們 禅道軟件 最新動態 禅道活動 -
禅道社區
禅道博客 積分排行 積分商城 禅道書院 -
聯系方式
聯系人:劉斌 電話:17685869372 微信:17685869372 Q Q:526288068北京、上海、深圳分部