郭清軒
摘 要 軟件在其分析階段就會(huì)有測(cè)試介入方面的需求,這種做法不僅能幫助軟件開發(fā)人員對(duì)軟件需求進(jìn)行了解并完善,也可以讓測(cè)試人員設(shè)計(jì)出更貼近軟件需求的測(cè)試方法。在這樣的基礎(chǔ)上,當(dāng)開發(fā)人員將軟件進(jìn)行更改后,其需求發(fā)生變化時(shí),測(cè)試人員也能及時(shí)了解到需求的變動(dòng)方向,繼而對(duì)測(cè)試方法進(jìn)行改良。本文根據(jù)模型驅(qū)動(dòng)的思想,對(duì)軟件測(cè)試需求的概念進(jìn)行了闡述,并對(duì)一種測(cè)試需求的模型和其測(cè)試需求的建模方法進(jìn)行了定義。
關(guān)鍵詞 軟件測(cè)試 需求建模 測(cè)試用例 生成方法
中圖分類號(hào):TP31 文獻(xiàn)標(biāo)識(shí)碼:A
0前言
長(zhǎng)時(shí)間以來(lái),在軟件設(shè)計(jì)的過(guò)程中,其需求與測(cè)試之間都具有很微妙的內(nèi)在聯(lián)系,兩者之間的的內(nèi)在聯(lián)系被認(rèn)為是一種先后出現(xiàn)的順序關(guān)系。在之前的軟件開發(fā)過(guò)程中,當(dāng)其軟件需求分析階段進(jìn)行開展時(shí),測(cè)試被認(rèn)定為還沒(méi)有開始。但隨著軟件開發(fā)的不斷發(fā)展以及其開發(fā)規(guī)模的不斷擴(kuò)大,這一觀點(diǎn)也得到了相應(yīng)的改變。Dorothy Graham中就曾指出,如果測(cè)試在軟件的需求分析階段進(jìn)行介入的話,就可以幫助軟件需求分析的更為詳細(xì)。
1一種軟件測(cè)試需求建模——模型驅(qū)動(dòng)測(cè)試
隨著軟件系統(tǒng)形勢(shì)越來(lái)復(fù)雜,如何對(duì)軟件系統(tǒng)進(jìn)行有效的測(cè)試成為了軟件開發(fā)過(guò)程中的重點(diǎn)關(guān)注問(wèn)題,而模型驅(qū)動(dòng)測(cè)試作為一種新穎的具有良好發(fā)展前景的自動(dòng)化測(cè)試方式,已經(jīng)逐漸被廣泛應(yīng)用到軟件系統(tǒng)需求的測(cè)試中。
模型驅(qū)動(dòng)測(cè)試指的是通過(guò)測(cè)試模型對(duì)測(cè)試的架構(gòu)及行為進(jìn)行表示,并通過(guò)圖形化的方式對(duì)測(cè)試模型進(jìn)行展示。這里需要提到的是,將測(cè)試模型用圖形化的方式進(jìn)行展示,是因?yàn)樵摲N方式更有利于測(cè)試人員對(duì)其進(jìn)行理解與修改。測(cè)試模型的圖形化將傳統(tǒng)的基于特定語(yǔ)言環(huán)境下并且難以理解的測(cè)試腳本維護(hù)轉(zhuǎn)化成了更加直觀的測(cè)試用例模型維護(hù),這種做法在極大程度上減少了軟件測(cè)試人員的工作量,并且提高了軟件測(cè)試時(shí)的工作效率。模型驅(qū)動(dòng)測(cè)試可以實(shí)現(xiàn)將模型自動(dòng)轉(zhuǎn)化成測(cè)試腳本的職能轉(zhuǎn)化,從而確保模型與測(cè)試腳本的同步性。與此同時(shí),當(dāng)軟件的應(yīng)用程序發(fā)生改變時(shí),測(cè)試人員便不需要和過(guò)去一樣,對(duì)測(cè)試項(xiàng)目進(jìn)行重新設(shè)計(jì),而只需要將測(cè)試模型進(jìn)行修改,修改后的測(cè)試模型便會(huì)自動(dòng)生成測(cè)試腳本。
在對(duì)軟件需求測(cè)試的過(guò)程中采用模型驅(qū)動(dòng)測(cè)試的方式,可以有效減少對(duì)軟件進(jìn)行測(cè)試設(shè)計(jì)過(guò)程中的初級(jí)階段工作量,并有效提高測(cè)試的覆蓋率。目前,在我國(guó)的軟件開發(fā)工程中,測(cè)試占據(jù)了其五分之三的時(shí)間、能源和資金。而模型驅(qū)動(dòng)測(cè)試中的新型方法以及相關(guān)工具的應(yīng)用,可以有效提高軟件開發(fā)者和測(cè)試人員的工作效率,在保證軟件質(zhì)量的同時(shí),減少產(chǎn)品的開發(fā)時(shí)間。
2 基于測(cè)試需求的測(cè)試用例生成方法
測(cè)試需求模型可以對(duì)軟件的測(cè)試需求進(jìn)行直觀且準(zhǔn)確的概括,其作為整個(gè)測(cè)試活動(dòng)的基礎(chǔ),可以對(duì)之后的軟件測(cè)試進(jìn)行有效的指導(dǎo)。測(cè)試用例可以通過(guò)軟件需求測(cè)試模型和被測(cè)軟件系統(tǒng)模型來(lái)生成,而測(cè)試用例可以與軟件需求測(cè)試模型中的相應(yīng)測(cè)試目標(biāo)相對(duì)應(yīng),繼而通過(guò)測(cè)試目標(biāo)對(duì)測(cè)試目標(biāo)設(shè)計(jì)提供依據(jù)的被測(cè)軟件系統(tǒng)需求進(jìn)行追溯。整個(gè)軟件需求測(cè)試模型工作流程實(shí)現(xiàn)了軟件系統(tǒng)需求對(duì)測(cè)試用例的自上向下追蹤以及測(cè)試用例對(duì)軟件系統(tǒng)需求的自下向上回溯。
2.1標(biāo)記遷移系統(tǒng)
測(cè)試用例是通過(guò)軟件需求測(cè)試模型與被測(cè)軟件系統(tǒng)模型中的測(cè)試目標(biāo)描述模型來(lái)得以實(shí)現(xiàn)和生成。其過(guò)程首先需要將被測(cè)軟件系統(tǒng)在經(jīng)過(guò)軟件需求分析階段并與用戶進(jìn)行多次討論繼而借助相關(guān)建模工具做出的狀態(tài)圖模型轉(zhuǎn)換成標(biāo)記遷移系統(tǒng)模型。而標(biāo)記遷移系統(tǒng)模型是一種被廣泛使用的通過(guò)計(jì)算機(jī)進(jìn)行輔助設(shè)計(jì)和驗(yàn)證的形式模型,其通過(guò)節(jié)點(diǎn)的方式來(lái)表示軟件系統(tǒng)的狀態(tài)和配置,通過(guò)邊來(lái)表示軟件測(cè)試過(guò)程中的行為發(fā)生狀態(tài)和系統(tǒng)配置之間的轉(zhuǎn)移。
2.2測(cè)試用例生成
測(cè)試用例需要通過(guò)將被測(cè)軟件系統(tǒng)模型系統(tǒng)的狀態(tài)圖模型轉(zhuǎn)化成標(biāo)記遷移系統(tǒng)模型(即形式模型)。根據(jù)軟件需求測(cè)試系統(tǒng)狀態(tài)圖的顯示,并采用標(biāo)記遷移系統(tǒng)模型的生成算法,便可以得到與之相對(duì)應(yīng)標(biāo)記遷移系統(tǒng)模型。而在標(biāo)記遷移系統(tǒng)模型的生成算法中,首先,需要通過(guò)Construct From(Specification Node)方法以被測(cè)軟件系統(tǒng)模型狀態(tài)圖的初始狀態(tài)為起點(diǎn)對(duì)其狀態(tài)圖進(jìn)行分析,并將其狀態(tài)圖的結(jié)構(gòu)信息在標(biāo)記遷移系統(tǒng)模型中進(jìn)行保存;其次,將標(biāo)記遷移系統(tǒng)模型中同時(shí)擁有的輸入輸出信息的轉(zhuǎn)移進(jìn)行分裂,并在其中插入新生成的中間狀態(tài)節(jié)點(diǎn)。而在將測(cè)試用例轉(zhuǎn)化為標(biāo)記遷移系統(tǒng)模型的過(guò)程中,軟件需求測(cè)試模型中的測(cè)試目標(biāo)模型也同樣需要進(jìn)行相應(yīng)的標(biāo)記遷移系統(tǒng)模型轉(zhuǎn)化。
3結(jié)論
軟件系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的基礎(chǔ)就是軟件系統(tǒng)的需求,軟件設(shè)計(jì)師對(duì)軟件架構(gòu)的設(shè)計(jì)、程序員對(duì)軟件進(jìn)行代碼的編寫都是根據(jù)軟件的需求來(lái)進(jìn)行并且完成,并且其需求還會(huì)影響到測(cè)試人員的測(cè)試方向。在軟件的開發(fā)生命周期中,對(duì)軟件的需求進(jìn)行分析是最重要的步驟。而模型驅(qū)動(dòng)的軟件需求分析方法是將軟件的需求模型作為軟件需求標(biāo)準(zhǔn)的補(bǔ)充說(shuō)明,繼而對(duì)非形式化的軟件需求信息從一個(gè)或多個(gè)角度進(jìn)行正確度驗(yàn)證。該做法是為了發(fā)現(xiàn)軟件需求標(biāo)準(zhǔn)中的差異性和缺陷性。
參考文獻(xiàn)
[1] 楊波,吳際,劉超.一種軟件測(cè)試需求建模及測(cè)試用例生成方法[J].計(jì)算機(jī)學(xué)報(bào),2014,01(03):522-538.
[2] 張麗穎,徐珞,蔣祖華.基于本體和規(guī)則推理的GUI軟件測(cè)試用例生成[J].計(jì)算機(jī)應(yīng)用研究,2010,01(19):120-123.
[3] 殷永峰,劉斌,姜同敏.基于場(chǎng)景技術(shù)的嵌入式軟件測(cè)試用例生成方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,11(16):4111-4114.