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