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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 穆棱市| 寿光市| 措美县| 佛山市| 介休市| 基隆市| 和硕县| 临江市| 哈巴河县| 新竹市| 铁岭县| 望都县| 滦南县| 营山县| 奉新县| 东方市| 囊谦县| 浙江省| 扶风县| 稷山县| 潞城市| 东莞市| 汉沽区| 马鞍山市| 扬中市| 鹤岗市| 茌平县| 通江县| 乌拉特后旗| 德兴市| 金寨县| 名山县| 临安市| 岳普湖县| 商都县| 泌阳县| 泗洪县| 桂阳县| 沾益县| 登封市| 鄂托克前旗|