有一個清單,顯示後端傳回的資料,不知道什麼時候出了問題,這個功能測試能不能做自動化測試呢,避免後面再次出了問題能夠被發現
我想了想,發現這個功能雖然非常簡單,但是出問題的原因真是防不勝防,真不好做自動化
例如:
預設清單正确應該是顯示如下資料
前端應該請求
/get_event_list?source=user
後端查詢:
select msg,event_id from event where source=user
目前出現的現象是,資料傳回是如下,多出了很多的資料顯示,感覺後端沒有帶上條件查詢一樣
select msg,event_id from event
産品找上了開發,測試,看看這個問題。
經過排查發現,後端沒有問題,那為什麼傳回的資料比較多呢,不符合的資料也傳回了回來。
原因是:
通過Chrome開發者工具網絡控制台發現前端顯示發送了2個查詢
第一個查詢
/get_event_list?source=user
接着又發送了一個查詢
/get_event_list
後請求的傳回資料,直接覆寫了前面的,顯示出現在了清單中。
前端開發也很快修複了此問題,并且馬上就上線了。
那麼現在複盤下:
這個功能能不能自動化測試實作驗證呢?
不能。你不知道這個頁面應該發什麼請求,這個是前端控制的,不知道那些請求會影響到資料正确性,有人說,可以驗證清單資料的正确性,我想了想沒法驗證,原因是
- 如果傳回的資料,有多頁,第一頁資料是正确的,但是後面的是錯誤的,我總不能通過點選翻頁來做測試驗證吧,如果頁數很多呢,明顯不好驗證
- 通過接口驗證,可以驗證多頁的資料比較友善,但是,接口都是正确的,隻是前端多發了一次不應該發的請求,覆寫了前面的結果
大家有好的辦法嗎?