qileilove

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

          軟件測試中的測試用例復用技術

            摘要:軟件測試是確保軟件質量的可靠手段,是軟件開發過程中必不可少的重要環節。本文提出了面向復用的測試用例設計過程,為測試用例復用提供了實現策略。測試用例的復用對于縮短軟件開發周期和降低軟件開發成本具有極其重要的意義。

            關鍵詞:軟件測試;測試用例

            1、引言

            隨著軟件工程領域的拓展,在軟件產業飛速發展的今天,軟件測試成為保證軟件質量的重要手段。測試用例的選擇對于軟件測試的成敗起著決定性作用,因此如何設計最少的測試用例實現最大的測試覆蓋成為自動化測試領域中的主要研究對象。測試用例是確定一組最有可能發現錯誤的測試數據和流程,實現系統對某個功能的測試。而測試用例的設計與測試人員的個人經驗息息相關,不同測試人員的個人經驗和書寫格式的差異導致了測試的盲目性,以至于產生較高的后期維護費用。測試用例的復用技術一方面是為了解決由測試人員經驗不足帶來的問題,同時還避免了在設計測試用例中的重復勞動,有效地提高了測試效率。

            2、軟件測試

            2.1 軟件測試的定義

            軟件測試(Software Testing)是根據軟件開發各階段的規格說明和程序的內部結構而精心設計一批測試用例(包含輸入數據及其預期的輸出結果),并用這些測試用例去運行程序,以發現程序錯誤的過程。

            2.2 軟件測試的目的

            Glenford J.Myers就軟件測試的目的提出了以下觀點:

            2.2.1 測試是程序的執行過程,目的在于發現錯誤;

            2.2.2 一個好的測試用例在于能發現至今為止尚未發現的錯誤的用例;

            2.2.3 一個成功的測試是指揭示了至今為止尚未發現的錯誤的測試。

            測試的目的花費最小的代價找出軟件中潛在的各種錯誤和缺陷,通過修正各種錯誤和缺陷來提高軟件質量,回避因軟件潛在錯誤和隱患帶來的商業風險。

            3、軟件測試用例的復用

            3.1 軟件測試用例的復用

            軟件測試復用可以理解為在兩次或多次不同的軟件測試過程中重復使用相同或相近的測試資源來組織測試的過程。軟件測試的復用主要包括測試流程的復用、測試方法的復用和測試用例的復用。其中測試用例的復用是測試復用中的關鍵技術。所謂測試用例復用是指對一個軟件已執行的測試用例,將其不同程度地應用于該軟件新階段的測試中或其他軟件的測試中。可復用的測試用例具有通用性、獨立性、有效性、標準化和完整性的特點。

            3.2 可復用測試用例的設計

            測試用例能否成功被復用很大程度上取決于測試用例的獨立性,即能否獨立地應用于不同的應用場合和應用環境。在實際應用當中,很多測試用例之間存在著相互的關聯。有的測試用例的運行環境要取決于另外測試用例的執行狀態,當它所依賴的環境變化或失效時,而與之相關聯的其他測試用例的復用屬性也可能隨之消失。那么如何設計不依靠軟件運行環境具有較高獨立性、與其他測試用例減少關聯且具有統一輸入輸出接口的可復用的測試用例就成為問題的關鍵所在。

            測試用例是面向不同應用對象的,與被測試軟件具有很高的耦合性。為了使得設計的測試用例能夠實現成功復用,在測試用例的設計上采取如下步驟。

            3.2.1 共性分析

            首先應該對被測軟件進行共性分析,同一應用領域的軟件有相似的需求,分析其諸如工作流程或功能相同等共同特點,并根據他們的共性挖掘可復用因素。

            3.2.2 測試用例統一建模

            根據可復用因素,設計合適的測試策略,對測試用例的設計做出統一的建模組織,設計統一的結構和輸入輸出接口。

            3.2.3 設計可復用的測試用例

            為了盡可能地降低測試用例與被側軟件的相關性,在設計測試用例時應該盡量對其進行通用化處理,同時應保持測試用例的功能單一性。測試用例和被測軟件的高耦合性決定了測試用例的復用大多只在同一軟件的回歸測試或版本升級測試中成功實現,而很難在不同應用領域的軟件測試中使用。

            3.2.4 測試用例的測評

            設計好測試用例之后,組織測試人員和評審專家根據功能需求將測試用例應用于被測軟件的測試中,確保測試用例的正確性。改變軟件運行環境或測試數據后是否能得出合理的測試結果,分析異常和邊界情況的測試結果。

            3.2.5 完善測試用例

            根據測試結果分析測試用例是否覆蓋并測試了全部的共性需求,進一步完善或糾正測試用例。

            3.2.6 測試用例入庫

            將通過測評和完善后的可復用測試用例根據其屬性和功能分門別類并按照一定的組織結構放入測試用例數據庫中。

            3.3 可復用測試用例的管理

            測試人員要對用例數據庫進行統一有效管理,提供測試用例的功能屬性、運行環境、測試方法和項目來源以供測試人員以后的查詢和使用。管理人員要及時刪除冗余,避免重復用例出現。隨著軟件技術的發展和測試用例數目的不斷增加,對那些不再具備復用價值的測試用例移入其他數據庫,以便提高搜索和使用效率。

            4、結語

            軟件測試的復用是目前測試領域研究的熱點問題,而設計可復用的測試用例又是實現測試復用技術的關鍵。本文介紹軟件測試用例復用的同時,在理論上給出了可復用測試用例設計的思想和具體方法。在實踐中,實際存在的問題往往比我們可以預想到的更多、更復雜,在不同領域和不同功能的軟件中實現測試復用的難度更大,需要我們在不??偨Y經驗的基礎上還要靈活運用,合理有效管理,才能使測試復用技術進一步發展,提高測試效率,更好地服務于軟件產業。

            原文地址:http://www.xzbu.com/9/view-962311.htm




          posted on 2012-10-23 13:06 順其自然EVO 閱讀(448) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2012年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 浮梁县| 铅山县| 定远县| 仙桃市| 安塞县| 姚安县| 吉首市| 桐乡市| 汉寿县| 精河县| 东港市| 祁门县| 长乐市| 凭祥市| 金川县| 元谋县| 景泰县| 林口县| 璧山县| 灵宝市| 偃师市| 翼城县| 衡水市| 大荔县| 金沙县| 登封市| 喀什市| 石阡县| 萍乡市| 阿合奇县| 明溪县| 应用必备| 云阳县| 玉田县| 宿州市| 都江堰市| 邯郸市| 富阳市| 四会市| 凌云县| 正定县|