天天看點

大型軟體回歸測試方法研究

  關鍵詞:回歸測試風險管理修改影響分析

  1、引言

  回歸測試是一種代價較高,比較耗時的測試方法,然而又是必不可少的。大型軟體通正常模大,系統結構複雜,構成要 素多、層次多,在漸進和快速疊代開發中,新版本的連續釋出使回歸測試的實施更加頻繁。是以,通過選擇正确的回歸測試政策來改進回歸測試的效率和效果,減小 回歸測試代價是非常有意義的。

  2、大型軟體回歸測試面臨的問題

  随着軟體生命周期的推進,軟體的開發與回歸測試反複疊代,規則的表達逐漸完善,測試用例庫越來越豐富,回歸測試的實施效率将越來越高。

  3、大型軟體回歸測試方法

  通過建構回歸測試決策支援平台可以為大型軟體的回歸測試提供可行的解決方案。

  3.1 業務規則

   業務規則是定義和限制業務結構與業務行為的規定或規範,是業務運作和管理決策所依賴的重要資源。建立大型軟體業務規則模型正是要繼承資深測試專家所積累 的業務知識,使事實上得到使用的規則有一種顯式的表達。在此基礎上,結合測試理論和規則的整合以及用例優化算法,建立自動化用例生成系統。

  業務規則的來源一般包括:

  1)業務需求導出的規則;

  2)測試理論原則導出的規則;

  3)軟體業傳統導出的規則;

  4)業内常識導出的規則。

  所謂規則的加載,是将某條規則加入規則庫中,重點是适用條件的表達和優化算法的指定。

 3.2 修改影響分析

  對于軟體回歸測試來說,确定修改影響的範圍是至關重要的,修改的影響範圍也是回歸測試的目标範圍。如果無法确定修改的範圍,則理論上說就得把整個系統重測一遍,對于大型軟體,這種代價也是巨大的。

  3.3 成本風險評估

  如何在有限的時間和資源預算下,更合理的規劃和安排測試工作。回歸測試在實踐中往往受到測試時間、測試成本、人工投入和測試對象業務關鍵性等限制,是以需要制定一個科學的測試計劃,以保證在滿足各種條件限制的前提下能夠確定測試品質。

  Boehm 用公式RE=P(UO)*L(UO)對風險進行定義,其中RE表示風險或者風險所造成的影響,P(UO)表示令人不滿意的結果所發生的可能性,L(UO)表示糟糕的結果會産生的破壞性程度。

  是以,被測試對象f中存在的風險值 Re(f)的大小可以用出錯的機率與出錯的代價的乘積來表達:

  Re(f) = p(f)*l(f)

  确定待測試對象風險因素發生的可能性及其造成的損失的過程是風險估計階段。将風險發生的機率與風險發生造成的損失相乘,可以得到每個測試對象的風險值。

  為了友善對風險進行定量的估計,采用等級評定的方法對出錯代價和出錯機率進行表達。其中風險機率由子產品成熟度和開發人員的出錯預期共同計算。确 定開發方的出錯預期的依據是過往的缺陷率記錄,在沒有缺陷記錄時,所有的開發人員度成熟度都預設為高,此後,個人成熟度分值随着個人缺陷率對平均缺陷率的 相對值和個人缺陷率趨勢而變化。

  根據風險值的估算,可以确定待測試對象的最低測試深度。在測試深度的要求下,首先選擇适當強度的測試用例簡約算法進行試算,可以得出完成該對象測試需要的用例數。

  由于回歸測試中大量用例可以複用,計算實施成本是需要對自動生成的測試用例和手工完成的測試用例區分對待,以不同的權重進行計算,最終得出整個 測試過程的實施成本。實施成本可以表示為測試投入的人時數。根據實施成本與項目預期成本投入和時間進行比較,判斷待測試對象的成本是否在可以接受的範圍 裡,如果可以接受,就可以根據相應簡約算法生成最終需要的測試用例庫。如果實施成本無法接受,可以重新調整用例簡約算法,降低或者提高測試強度,重新計算 實施成本,直到滿足預算要求。

  4、結論

  回歸測試研究有着廣闊的空間,尤其對于系統結構複雜,構成要素多的大型系統軟體回歸測試,本文提出的自動化回歸測試方法,對于降低回歸測試代價,提高回歸測試品質和效率具有及其重要的作用。

====================================分割線================================

最新内容請見作者的GitHub頁:http://qaseven.github.io/

繼續閱讀