軟件測試是保證軟件質量的重要手段,在整個軟件生存期中占有重要位置。目前軟件測試已不再僅僅作為軟件產品開發(fā)之后的附加活動,而被看作軟件開發(fā)的重要組成部分。但是,現(xiàn)有的測試方法仍存在著一些限制和不足,體現(xiàn)在以下幾個方面:

  ①溝通問題。在沒有形式化的軟件說明文檔情況下,如何無障礙溝通軟件測試需求,盡可能早的開展測試活動。

 、诜峙鋯栴}。在軟件產品不斷迭代情況下,如何分配有限的測試資源,選擇有效的測試策略,使測試工作效能達到大。

 、劬S護問題。在軟件模塊頻繁改動情況下,如何精確、高效地維護測試用例,避免測試用例嚴重滯后于業(yè)務規(guī)則是軟件實現(xiàn)的基礎,是軟件系統(tǒng)解決用戶業(yè)務問題時所必須遵守的準則,如何利用業(yè)務規(guī)則建立模型驅動測試活動是當前工業(yè)界研究和實踐的熱點之一。使用規(guī)范的、易理解的場景描述業(yè)務規(guī)則,共同建立業(yè)務模型,并在軟件測試過程中應用該模型。首先,可以根據此模型溝通軟件測試需求,以此為依據確認、驗證軟件系統(tǒng);其次,軟件開發(fā)設計與測試設計可以根據模型同時進行,縮短響應變化的周期;后,由于業(yè)務規(guī)則不易變化,所以根據業(yè)務模型設計的測試用例具有更好的穩(wěn)定性,而且業(yè)務模型與測試用例之間存在聯(lián)系,可以提高測試用例維護工作的準確性與效率。

  本研究將業(yè)務規(guī)則與場景技術相結合,提出了基于業(yè)務模型的軟件測試過程,并對其中的關鍵技術進行研究。后,通過某信息采集系統(tǒng)的測試實踐表明,本研究可以有效的幫助測試人員在軟件測試項目中進行準確溝通、合理分配測試資源與高效維護測試用例。

  1、業(yè)務模型在軟件測試中的應用

  1.1 基本概念

  本研究提出的業(yè)務模型可以表示為BusinessMod.el=(RG,SG,F(xiàn)G,RMF,SMF)。其中,RG表示業(yè)務模型中所有業(yè)務規(guī)則的集合;SG表示所有場景的集合;FG表示所有業(yè)務流程的集合;RMF表示業(yè)務規(guī)則與業(yè)務流程間的關系,集合,即對于∈RG,∈FG,當業(yè)務規(guī)則屬于業(yè)務流程z時,fr()=Z;SMF是場景到業(yè)務流程的關系集合,即對于Y∈SG,∈FG,當場景Y屬于業(yè)務流程時(Y)=。

  1.1.1 業(yè)務規(guī)則

  依據業(yè)務規(guī)則組織(BRG,BusinessRulesGroup)定義:“業(yè)務規(guī)則是支持企業(yè)決策,影響或控制企業(yè)業(yè)務行為的指示”。業(yè)務規(guī)則是對業(yè)務結構和影響業(yè)務行為的一種約束,它說明在指定情況下必須做什么和不做什么。業(yè)務規(guī)則具有完整性與一致性等特性。完整性是指單個規(guī)則作為一個整體發(fā)揮作用,而一致性是指在業(yè)務活動中規(guī)則自身不發(fā)生變化時,相同輸入條件導致相同輸出結果。業(yè)務規(guī)則的這些特性為基于業(yè)務模型生成測試用例提供必要條件。

  1.1.2 場景

  場景是由一系列相關狀態(tài)組成。它描述軟件系統(tǒng)的運行狀態(tài),反映軟件功能的任務剖面。場景小單位是原子場景。這些原子場景的輸入與輸出能從系統(tǒng)外部環(huán)境直接施加和截取。原子場景是不可再分且獨立可測的。多個具有緊密關系的原子場景能組合成子場景。子場景又可以組合成為代表了被測系統(tǒng)功能包的復合場景,它反映了系統(tǒng)更高層面功能集合。場景可以抽象表示為一個五元組:S=(IV,OV,PC,P,F(xiàn)),其中,IV、OV、PC、P、F分別代表了場景的輸入集、輸出集、前提條件、優(yōu)先級與場景功能描述。

  1.1.3 業(yè)務流程

  業(yè)務流程是業(yè)務模型中業(yè)務規(guī)則與場景的結合點。業(yè)務流程是一組將輸入依據業(yè)務規(guī)則轉化為輸出的相互關聯(lián)或相互作用的活動。業(yè)務模型使用場景描述業(yè)務流程,說明軟件系統(tǒng)如何解決用戶業(yè)務問題。業(yè)務流程是從用戶角度對系統(tǒng)的動態(tài)描述。場景是從開發(fā)人員角度對系統(tǒng)靜態(tài)分析,使用靜態(tài)場景描述動態(tài)業(yè)務流程,必須補充場景轉移關系。場景轉移關系包括“順序”、“循環(huán)”、“判斷”與“并發(fā)”。

  1.2 基于業(yè)務模型的軟件測試過程

  軟件測試過程一般有計劃、設計與開發(fā)、實施、評估4個階段,業(yè)務模型可以完全融合到軟件測試過程中,并貫穿整個軟件測試過程。

  1.3 測試用例的生成

  在業(yè)務模型的業(yè)務流程與測試用例集的測試用例之間建立聯(lián)系,根據業(yè)務流程要素確定測試用例要素:

 、俑鶕䴓I(yè)務流程標識確定測試用例標識符。

  ②根據業(yè)務流程步驟確定測試用例步驟。

 、鄹鶕䴓I(yè)務流程關系場景的前提條件確定測試用例前提條件。