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

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

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

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

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

  1、業(yè)務(wù)模型在軟件測(cè)試中的應(yīng)用

  1.1 基本概念

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

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

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

  1.1.2 場(chǎng)景

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

  1.1.3 業(yè)務(wù)流程

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

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

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

  1.3 測(cè)試用例的生成

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

  ①根據(jù)業(yè)務(wù)流程標(biāo)識(shí)確定測(cè)試用例標(biāo)識(shí)符。

 、诟鶕(jù)業(yè)務(wù)流程步驟確定測(cè)試用例步驟。

  ③根據(jù)業(yè)務(wù)流程關(guān)系場(chǎng)景的前提條件確定測(cè)試用例前提條件。