VOOZH about

URL: https://read01.com/4K0OoL.html

⇱ 使用複雜度度量去改進軟體質量 - 壹讀


Sunday, Apr 12, 2026

使用複雜度度量去改進軟體質量

2014/10/27 來源:InfoQ中文站

複雜度度量可以用來評估開發和測試活動,決定應該對哪裡進行重構以提升質量和預防問題。在QA&Test 2014 conference大會上,來自於英特爾的Shashi Katiyar就有效利用針對軟體質量改進的複雜度度量提出了自己的見解。

複雜度是一種不同的軟體元素間交互的度量。按照Shashi的說法,軟體複雜度直接反映了軟體的質量和成本:如果代碼複雜度比較高,那麼這段代碼的質量就會比較低,而且它的維護成本也會比較高。

Shashi提出,如果軟體產品中有複雜的代碼,那麼組織會面臨以下的問題:

  • 較高的缺陷風險
  • 難以增加新的功能
  • 難以理解或維護這段代碼
  • 難以驗證

你可以使用McCabe圈複雜度來度量複雜度。這種度量規定了代碼中線性獨立的路徑條數,它反映了測試難度和軟體的可靠性。它可以用來評估開發和維護工作量。

基於複雜度數據,你掌握要覆蓋所有路徑最少需要多少測試用例。複雜度數據可以幫助你去:

  • 集中力量搞好複雜的模塊
  • 找到最有效的測試技術
  • 了解停止測試的時機
  • 增加軟體的可測試性

Shashi解釋說,你在軟體系統的管理中做到更具可預測性:

在任何軟體產品開始工作之前,如果有人知道它是一個複雜的模塊,那麼就有可能在評估期為它賦予一些額外的時間。了解了複雜度能夠預先幫助項目團隊去進行評估,這種做法要勝過在開發和測試期去關注它,從而確保不會讓產品的質量做出妥協。

英特爾收集了複雜度度量和模塊變更數量的數據。這些複雜度數據結合了客戶記錄的缺陷。如果一個模塊是複雜的,並且由於缺陷進行了大量的變更,那麼就決定去重構它。在重構之前他們確保有覆蓋這些代碼的測試用例。這種工作方式增加了重構的投資收益率。

Shashi探討了他所看到的軟體開發複雜度與質量相關的挑戰:

在競爭激烈瞬息萬變的環境中,公司通過為它的用戶提供更多的特性來努力使它的服務有所不同。這就導致了大量的代碼行和複雜度,這是個大挑戰。如果未採用適當的預防措施去管理產品的複雜度,那麼很快這些產品就將成為難以維護的產品。隨著時間的推移,很多公司都不在使用老代碼和老技術了,他們知道自己的系統太複雜了,把它們進行新技術的移植是一項極其複雜的任務。

「在高複雜度的環境中,創新和開發高質量軟體是極其重要的」Shashi說。「組織可以設定去減少所有高複雜度程序的複雜度,更加頻繁地變更以改進他們軟體的質量」。

查看英文原文:Using Complexity Measurements to Improve Software Quality

您好,朋友!您需要註冊一個InfoQ帳號或者登錄才能進行評論。在您完成註冊後還需要進行一些設置。

獲得來自InfoQ的更多體驗。

告訴我們您的想法

您可能感興趣
免責聲明:本文內容來源于InfoQ中文站,文章觀點不代表壹讀立場,如若侵犯到您的權益,或涉不實謠言,敬請向我們提出檢舉
最新文章 / 服務條款 / 私隱保護 / DMCA / 聯絡我們

壹讀/READ01.COM