原創|使用教程|編輯:鄭恭琳|2021-01-11 15:35:44.177|閱讀 204 次
概述:了解如何將單元測試工作減少至少50%。通過這些節省,軟件團隊可以在不犧牲質量的情況下提高生產力,并顯著減少交付時間。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
了解如何將單元測試工作減少至少50%。通過這些節省,軟件團隊可以在不犧牲質量的情況下提高生產力,并顯著減少交付時間。
Capers Jones的工作對任何行業的軟件開發人員來說都是一筆寶貴的財富。他一生都在研究軟件項目的成功與失敗,其中大部分是在2011年出版的《軟件質量經濟學》中達到頂峰。盡管企業Java開發人員可能會認為此收集的信息對他們沒有吸引力,但我認為他們缺少一些有價值的見解。
這里有一些令人震驚的統計數據,它們適用于使用Scrum和最新軟件工具的開發人員,與其他任何類型的軟件開發一樣。總體而言,軟件業在開發上花費的每一美元,其中的50美分用于維護以及查找和修復錯誤。但是,盡管團隊盡了最大的努力,但大多數測試形式只能刪除大約35%的錯誤,從而在軟件中留下了大多數錯誤。
Jones在很大程度上是“左移測試”的早期支持者,盡管他可能從未使用過該術語。在軟件生命周期中盡早發現并修復缺陷(尤其是需求,分析和設計中的缺陷)是提高軟件質量的關鍵。有趣的是,Jones通過與許多供應商用來計算工具ROI的每次缺陷成本度量標準進行比較而脫穎而出-如果有的話,每次缺陷成本會低于自動化工具的ROI和左移測試工作。
我們已經知道,軟件開發人員將其開發預算的一半用于查找和修復錯誤,并且當前的測試方法仍將三分之二的錯誤留在了軟件中。這是一些更有趣的統計數據:
正如我們過去多次說過的那樣,單元測試是必要的,但又是乏味的要求。測試自動化可以消除開發人員的許多繁瑣過程,但是測試開發和維護仍然是Java開發人員在進行代碼的單元測試時面臨的關鍵問題之一。在上一篇文章中,我概述了如何使用Parasoft Jtest進行自動單元測試創建,以及如何在提高單元測試效率和結果的同時,還降低了模擬復雜性和測試用例維護。繼續本主題,讓我們考慮通過自動創建單元測試實現的經濟利益及其對測試工作的影響。
在Parasoft最近進行的一項調查中,我們了解到,大多數開發人員在單元測試上花費了大約40%的時間。考慮到由十天組成的為期兩周的開發迭代周期,因此四天專門用于測試。顯而易見,為什么測試會成為拖累迭代和敏捷軟件開發速度的障礙。另外,當前的測試成功率意味著該時間量還不夠,甚至更重要的是,需要一種減少時間并改善結果的方法。
我們也一直在忙著使用Parasoft Jtest從Java進行客戶數據檢索,這非常令人鼓舞。Java開發團隊發現單元測試工作量至少減少了50%。換句話說,他們可以使用Jtest和單元測試助手在兩天內完成四天的單元測試。這種基于單次迭代的節省是令人印象深刻的,但是當在典型項目中將其與許多迭代相加時,這種節省變得更加明顯。例如,如果一個典型的項目每三個月發布一次,并有6個開發迭代,那么Jtest可以節省相當于1.2個迭代或12天的開發工作量。通過這些節省,軟件團隊可以在不犧牲質量的情況下提高生產力,并顯著減少交付時間。更好的質量和準時(甚至更早)交付?這些都是巨大的經濟利益。
提高質量的投資回報比修復缺陷的成本要多。在生命周期的早期修復錯誤的成本較低,這樣做可以節省您的錢。盡管這是一項指標,甚至僅此一項就足以證明投資質量更好,但實際上卻低估了ROI。
導致項目延遲的主要原因之一是缺少缺陷和安全漏洞,這些缺陷和安全漏洞已進入產品開發周期的后期。當然,較早發現并修復這些問題的成本較低,因為開發團隊仍在腦海中重新思考代碼,并且沒有進行下一個迭代(或相關項目)。
僅使用每次缺陷成本指標和方法來計算ROI,請考慮上面的示例,該團隊由20人組成的團隊從事一個項目,每小時的負荷率為100美元。該團隊使用具有所有優點的新測試自動化工具(左移缺陷識別),比以前的迭代發現了20多個缺陷。盡早發現并修復這些錯誤可能需要每個缺陷三個小時,總計6000美元。稍后在集成或系統測試中發現并修復這些錯誤可能會使工作量增加三倍,而費用為18000美元。簡而言之,對于此迭代,ROI為12000美元。聽起來不錯吧?但是,這并未將sprint節省2天的開發時間,也沒有節省32000美元并提高了生產率。
縱觀全局,可以看到減少整個發行版的開發時間才是真正的省錢之道,而不是每次缺陷成本。左移的真正收益是達到或超過項目進度和目標。再次考慮上面的示例,但是這次以整個開發團隊提前12天完成發布的角度來看投資回報率。對于這個團隊來說,這是12天的20人工作,總計192000美元!盡管這個簡單的例子很明顯,但它確實指出,在不犧牲質量的前提下,將產品更快地投放市場時,工具的投資回報率是在團隊級別實現的。
傳統的單元測試方法會消耗大量的軟件開發時間,并且這些方法的結果需要改進。Parasoft Jtest可以幫助減少50%的單元測試工作量,這在質量和減少迭代進度方面都具有可觀的回報。
當您考慮單元測試對團隊和整個項目的影響時,這些工具的投資回報率就非常重要。與簡單的按缺陷成本分析不同,按時完成項目并滿足目標要求是巨大的回報,并且在這樣做的同時節省了時間和金錢,這使它變得更好。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn