不過這些東西真的能幫助我們重用測試用例么?我想未必。測試用例的重用,應該是測試用例里面的設計思想的重用,而不是具體某個測試用例的,因為對于功能測試的測試用例來說,大多數的測試用例都跟某個具體的被測應用有想到大的關聯性,例如要測試一個博客編輯器,對于MySpace的博客編輯器和 facebook的博客編輯器來說,它們的主要功能是相似的,都有發表博客,編輯博客,修改博客等……但是由于這是兩個不同公司的產品,他們的具體功能或者UI是完全不一樣的,所以拿到的兩套測試用例,也應該是不一樣的。如果分別提取出測試用例的核心思想(就是那些可以重用的部分),應該能看到很多的共同點,或許會有這么一條共同的用例思想。
1. 打開博客編輯器
2. 點擊插入視頻的按鈕
3. 粘貼視頻代碼
4. 點擊保存,發布
期望結果是該視頻能正確顯示在博客上。
這條用例可以提取為“驗證博客編輯器能夠插入視頻”,至于實現的細節,可能兩家的處理不一樣,可能前者用<object>標簽,后者用<embed>標簽;氐綄嶋H的測試用例,前者可能要求將博客編輯器切換到HTML編輯模式下,要看到<object>….</object>的代碼,另外一個就是要檢查有<embed>….< /embed>的代碼。其實測試用例是測試工程師之間的很好的溝通交流工具。通常在一些研討會上,有人拋出一個問題“對于日期輸入框大家會怎么進行測試”,大家接著七嘴八舌地進行討論,這樣的討論結果就是大家都知道了一些,又好像不知道一些。如果這時候有人拿出自己的測試用例,那么會不會更加一目了然,更加有系統性?
舉個例子
CRUD模式(創建,獲取,更新,刪除)
1. 選擇并確定出一條記錄或者一個字段
2. 產生一個隨機的等價類item
3. 檢查這個新產生的item是沒有存在的
4. 添加一個新的item
5. 讀取并且驗證這個item的正確性
6. 修改該item并且驗證item確是已經被修改
7. 刪除該item并且驗證item缺少已經刪除
以上測試用例可以應用于不同的場景,例如MySpace中的一個帳號,也可以是一條歌單,還可以是一篇博客。這種類型的用例才是可重用的,而不是發布一篇博客,修改博客,刪除博客……測試用例的重用,也就是測試用例的精華部分,其設計思想,而不是一些存在QC,TD中的 01010100101001。
文章來源于領測軟件測試網 http://www.kjueaiud.com/