標籤:mbt

GUI Testing

GUI Testing

GUI Testing 因為常常需要做重複的動作,所以適合拿來自動化。裡頭提到 Model Based Testing,就是類似我們畫出流程圖來的意思,藉由模型來設計測試案例,讓每一個狀態都有走到,並且可以知道預期的結果來檢驗程式是否正確。

基於模型的測試 (Mode base testing)

參考網址:关于基于模型的测试的那些事

文中提到如何來建模型,要先將大的系統拆解成小的部分,就像軟體測試之道裡面提到的,『太小,才是一個好的模型適當的大小』,從小模型開始瞭解系統的功能,在慢慢的組成整個系統的架構。文中也舉例如何進行數據模型與狀態機模型,在狀態機模型中,我們可以看出其實可以測試的路徑有很多,所以我們必須先想說我們的覆蓋目標是什麼?然後透過狀態機模型來建立我們的測試。所以我們之前畫的FSM 也要繼續維護,也許有一天我們可以利用它來建立我們測試。

Continue reading “基於模型的測試 (Mode base testing)"

MBT 結合 Event-B 模型的自動化測試

此文介紹 MBT 結合 Event-B 模型的自動化測試
其中帶到 MBT 限制,他說對於正確的塑模的能力和正確的設計驗證機制,以及使用的工具會影響 MBT 的成效。
如果我們想要應用 MBT 在測試上,還需要培養更豐富的測試領域的能力,才能做出邏輯正確、表達清楚的模型。

利用 MBT 自動生成 Test Cases 和驗證結果

此篇文章說明 MBT 可用於自動生成測試用例,並且也是個預言(Oracle),用來檢查測試結果是否通過。

在應用測試時有分兩種動作:
(1) Controllable Action:可依照需求來執行的動作。例:方法調用
(2) Observable Action:只能觀測的動作。例:事件通知

利用動作的可控性和確定性又可劃分系統:
(1) Closed System:完全可控且確定的
(2) Reactive System:有可控的和可觀測的動作

最後介紹可建立 Sandbox 利用測試套件讓 observable action 變得 controllable。例:生成需要的消息或事件