程序員修煉之道系列 | 無情的測試

視頻地址:https://www.zentao.net/programmer/programmer-test-80388.html

測試是怎麼來的?

時間退回到很久之前,大多數程序員都不寫測試。直到程序員葛麗絲·霍波發現了那隻被夾扁在電腦主機內的飛蛾,開始了程序的調試工作,這就是軟件測試的前身。

硬件工程中的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%的軟件模塊中 複雜的模塊或全新系統,需要投入充足的時間來設計思考測試用例,用時越短,風險越大。

好項目的測試代碼可能比產品代碼還要多。而事實證明,編寫這些測試所花的時間是值得的。因爲只有通過了全部測試,編碼纔算完成,這份高度自信,就是測試給的。

更多精彩視頻分享:https://www.zentao.net/page/college.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章