1. 程式人生 > >時序擴充套件的UML狀態圖的測試用例生成研究

時序擴充套件的UML狀態圖的測試用例生成研究

一、基本資訊

標題:時序擴充套件的UML狀態圖的測試用例生成研究
時間:2014
出版源:西南大學
領域分類:時序擴充套件;UML狀態圖;測試用例;需求規格說明;模型

二、研究背景

問題定義:時序擴充套件的UML狀態圖的測試用例生成研究
難點:瞭解透徹相關的理論基礎;知曉充分性準則、UML狀態圖的時序擴充套件;
相關工作:學習軟體測試基礎理論,瞭解UML及其建模技術;看懂UML狀態圖;

三、創新方法

1.理論基礎和建模技術相結合,發揮了充分性準則的作用;

四、實驗

實驗1:相關理論基礎

要探究的問題:軟體測試基礎理論;基於模型的測試用例生成簡介;UML狀態圖。
結論:作為檢測和控制軟體質量的重要手段,軟體測試伴隨著軟體從設計到完成開發的整個生命週期。一個科學的合理的軟體開發過程,軟體測試與軟體的設計和幵發是同步進行的。
模型可以理解為對要處理的系統或者問題,在某些角度或者某些特定層次上進行 的抽象化的描述,使其更加簡單,方便人們理解其本質。採用合理的手段對軟體進行建模 ,可以使軟體的開發者更好地把握 軟體的開發需求。將模型的思想應用與測試用例生成過程中, 就是將軟體測試的活動進行模型的抽象化。
狀態圖是一種可以對系統動態行為建模的圖形,用於描述系統類物件的生命週期中所有的狀態 ,以及當特定事件發生時所引起的類物件狀態的轉移,可反映系統根據不同事件的發生導致類實體發生狀態轉移的狀況 。UML狀態圖是由類的例項物件的狀態和關聯這些狀態的轉移組成。UML狀態圖中的每個物件可以被看做獨立的,物件可以通過探測事件對事件做出的迴應來與其他物件進行通訊。物件探測到的變動可以用事件來表達,導致物件狀態變化的事物都可以稱為事件 。一旦物件探測到事件,物件就可以根據當前狀態對事件做出響應,這響應可能是物件由一個狀態轉向另一個狀態,也可能是去執行某種操作。

實驗2:充分性準則

要探究的問題:軟體測試的充分性問題;基於UML狀態圖的測試充分性準則;
結論:軟體測試的目標不是為了驗證軟體是無錯誤的,而是為了發現軟體的缺陷和錯誤 。實際測試過程中無法發現軟體的所有錯誤,但是可以儘量多地發現軟體中相對重要的缺陷。測試的充分性的提出為軟體 測試過程提供了一定的理論依據 。
在實際的軟體測試過程中,僅用以上幾種測試準則進行了測試用例的設計,所產生的測試用例往往不能充分的發現軟體中的缺陷,究其原因是因為所生成的測試用例集不夠完善。經過實踐,測試人員發現軟體狀態之間的複雜的轉移關係也可以導致軟體發生錯誤,而在設計測試用例集時設計者並沒有考慮到狀態轉移資訊,這必然造成測試的不充分。
在基於規格說明的測試中,往往要考慮謂詞是否被準確地描述,謂詞在基於規格說明的軟體中發揮著重要的作用,在軟體測試中對謂詞的測試也是尤為重要的。

實驗3:UML狀態圖的時序擴充套件

要探究的問題:時序擴充套件方案;系統例項介紹;
結論:為使狀態圖適應實時系統的時序特性,本文提出了一個UML狀態圖時序擴充套件方案,該方案主要遵循以下原則:(對狀態圖的時序擴充套件應簡單 、實用,不能對模型中的元模型進行修改 。(擴充套件後的狀態 圖應便於對系統分析。
我們可以通過一個實時系統的示例進行建模和分析。本文以一個銀行客戶端系統的查詢賬戶和轉賬功能為例,說明怎樣用時序擴充套件的狀態圖描述實時系統的問題 。對於一個銀行客戶端系統,往往是有時 間限制的,使用者在登入系統的狀態下,如果系統一直處於等待狀態 ,無任何操作或者在規定時間內未完成操作,為了客戶的賬戶安全,系統中的使用者會自動退出。

實驗4:時序擴充套件的UML狀態圖生成測試用例演算法研究

要探究的問題:UML狀態圖生成測試用例的基本演算法;時序擴充套件的狀態圖生成測試用例的基本演算法;充分性覆蓋準則處理;測試序列生成的處理;測試路徑優化的處理;
結論:完全判定準則是一種基於謂 詞覆蓋的準則,謂詞覆蓋準則中明確要求在對狀態之間的遷移測試時,需要對遷移的布林表示式進行真假測試 在實時系統中,對時間約束的處理就是對布林表示式的處理,因 此處理實時系統中完全判定準則就是要求對時間約 束確定的時間域進行的充分性測試。
遺傳演算法是一種簡單通用的演算法,在計算機智慧 、模式識別以及神經網路中都得到了廣泛的應用。遺傳演算法具有較強的全域性搜尋能力,因 此十分適合處理測試路徑優化問題。

五、結論

作者的總結:軟體測試在軟體開發週期中的作用越來越突出,軟體測試技術的研究可以有效的提高測試效率。在軟體測試中,關鍵的工作是測試用例的設計和選 擇,研究軟體測試用例的生成是非常有意的 。在軟體測試中面向需求規格說明的軟體測試的研究相對比較滯後,本文主要完成面向需求規格說明的實時系統的測試用例生成的研究,採用了時序擴充套件的狀態圖生成測試用例的方法。
自己的評價:軟體測試在軟體開發週期中發揮著越來越重要的作用,人們對軟體測試技術的研究隨之更加深入。面向結構的軟體測試技術已經比較成熟,然而對於面向需求規格說明的軟體測試的研究相對滯後。而在軟體測試中測試用例的選擇是尤為重要的,好的測試用例可以達到事半功倍的效果,而差的測試用例可能會浪費更多的資源和時間。這篇文獻就在對UML狀態圖生成測試用例的方法進行研究的基礎上,提出了時序擴充套件的UML狀態圖生成測試用例的完整方法。

參考文獻:
【1】李小亮,丁曉明,尹然,梅瑩.基於RDF圖的測試用例生成【J】西南大學學報(自然科學版),2014,36(1):146-152.
【2】尹然,丁曉明,李小亮等.基於SA-BP神經網路的軟體缺陷預測模型的研究【J】.西南師範大學學報(自然科學版),2013,38(8):147-152