基於模型的測試,即 Model-Based-Testing,簡稱 MBT。算法
MBT,是自動化測試的一個分支。它是將測試用例的設計依託於被測系統的模型,並基於該模型自動生成測試用例的技術。其中,這個被測系統的模型表示了被測系統行爲的預期,也能夠說是表明了咱們對被測系統的預期。工具
MBT 的基本原理是經過創建被測系統的設計模型,而後結合不一樣的算法和策略來遍歷該模型,以今生成測試用例的設計。測試
開發者首先根據產品需求或者說明來構建模型,而後結合測試對象生成測試用例,測試用例針對測試對象執行完以後,生成測試報告比對測試結果。網站
接下來,我以簡單的登陸系統爲例,和你說明如何建模。ui
當用戶訪問網站時,網站須要識別用戶是否已經登陸:設計
若是已是登陸狀態,則讓用戶進入,結束這一分支;3d
若是用戶尚未登陸,那麼頁面須要返回登陸框給用戶。用戶在登陸框輸入用戶名和密碼後,由後臺服務驗證用戶名和密碼是否正確,若是經過驗證,則用戶登陸成功,結束分支;不然,返回錯誤信息,並再次返回登陸框供用戶登陸。根據這個邏輯,咱們能夠建模以下:對象
經常使用的模型主要有限狀態機、狀態圖,以及 UML 三種。有限狀態機和狀態圖比較適合於用狀態或者事件驅動的系統,而 UML 比較適合於靠業務流程驅動的系統。blog
BPM-X、fMBT、GraphWalker、GSL、JSXM、MaTeLo、MBT Suite事件
來源於 極客時間 茹炳晟 軟件測試52講