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