qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          使用復雜度度量去改進軟件質量

          復雜度度量可以用來評估開發和測試活動,決定應該對哪里進行重構以提升質量和預防問題。在QA&Test 2014 conference 大會上,來自于英特爾的Shashi Katiyar就有效利用針對軟件質量改進的復雜度度量提出了自己的見解。
            復雜度是一種不同的軟件元素間交互的度量。按照Shashi的說法,軟件復雜度直接反映了軟件的質量和成本:如果代碼復雜度比較高,那么這段代碼的質量就會比較低,而且它的維護成本也會比較高。
            Shashi提出,如果軟件產品中有復雜的代碼,那么組織會面臨以下的問題:
            較高的缺陷風險
            難以增加新的功能
            難以理解或維護這段代碼
            難以驗證
            你可以使用McCabe圈復雜度來度量復雜度。這種度量規定了代碼中線性獨立的路徑條數,它反映了測試難度和軟件的可靠性。它可以用來評估開發和維護工作量。
            基于復雜度數據,你掌握要覆蓋所有路徑最少需要多少測試用例。復雜度數據可以幫助你去:
            集中力量搞好復雜的模塊
            找到最有效的測試技術
            了解停止測試的時機
            增加軟件的可測試性
            Shashi解釋說,你在軟件系統的管理中做到更具可預測性:
            在任何軟件產品開始工作之前,如果有人知道它是一個復雜的模塊,那么就有可能在評估期為它賦予一些額外的時間。了解了復雜度能夠預先幫助項目團隊去進行評估,這種做法要勝過在開發和測試期去關注它,從而確保不會讓產品的質量做出妥協。
            英特爾收集了復雜度度量和模塊變更數量的數據。這些復雜度數據結合了客戶記錄的缺陷。如果一個模塊是復雜的,并且由于缺陷進行了大量的變更,那么就決定去重構它。在重構之前他們確保有覆蓋這些代碼的測試用例。這種工作方式增加了重構的投資收益率。
            Shashi探討了他所看到的軟件開發復雜度與質量相關的挑戰:
            在競爭激烈瞬息萬變的環境中,公司通過為它的用戶提供更多的特性來努力使它的服務有所不同。這就導致了大量的代碼行和復雜度,這是個大挑戰。如果未采用適當的預防措施去管理產品的復雜度,那么很快這些產品就將成為難以維護的產品。隨著時間的推移,很多公司都不在使用老代碼和老技術了,他們知道自己的系統太復雜了,把它們進行新技術的移植是一項極其復雜的任務。
            “在高復雜度的環境中,創新和開發高質量軟件是極其重要的”Shashi說。“組織可以設定去減少所有高復雜度程序的復雜度,更加頻繁地變更以改進他們軟件的質量”。

          posted on 2014-12-03 13:41 順其自然EVO 閱讀(207) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安徽省| 军事| 云安县| 永福县| 信阳市| 平潭县| 凉山| 克什克腾旗| 安平县| 涟水县| 新余市| 蓝山县| 永川市| 华宁县| 石棉县| 淮滨县| 图们市| 裕民县| 垫江县| 五大连池市| 新泰市| 闸北区| 黔西县| 乌兰浩特市| 宜兰县| 深圳市| 靖州| 沂源县| 安宁市| 吉安市| 贡嘎县| 安溪县| 北流市| 临夏县| 当涂县| 建阳市| 电白县| 淅川县| 桃江县| 新丰县| 荥阳市|