
從兩個實例,根據狀態圖,我們可以看到我們需要關注的內容:
狀態:狀態圖中的每一個狀態,都必須進行測試,校驗該狀態下,向其他狀態的轉換是否如狀態圖中展示的一致。
狀態之間允許的轉換:可能是如下情況,相同數據,不同操作引起不同轉換;不同數據(前置條件不一樣),相同操作引起的不同轉換;不同數據,不同操作引起的不同轉換。對每一個允許的狀態轉換進行驗證,設置狀態轉換的前置條件,操作使狀態發生轉換的功能,驗證操作是否正常、狀態是否如預期變化。對使用頻率特別高、或者特別容易出錯的轉換、以及最不常使用的轉換,需要構造更多的測試數據,做盡可能多的覆蓋。
狀態之間不允許的轉換:狀態之間不允許的轉換測試,關注系統返回的錯誤信息和狀態值是否變更,不需要對所有的不可能進行驗證,應該挑選那些特別容易發生的轉換進行測試。
狀態轉換的角色權限:狀態之間的轉換操作,是有用戶角色要求的,我們不僅要驗證有權限的角色能夠正常操作,還需要驗證沒有權限的角色是否能操作,對于沒有權限的角色驗證,在不可能全部驗證的情況下,也是挑選相對容易出錯的操作進行。
狀態的轉換,在軟件中是非常普遍的,通過狀態圖梳理各個狀態轉換的關系,并在狀態圖的基礎上按照狀態和狀態轉換的覆蓋原則進行測試設計,可以有效的保證軟件狀態轉換的正確性。測試過程中,還可以進行隨機的狀態轉換測試。
文章來源于領測軟件測試網 http://www.kjueaiud.com/