從0到1的專案測試實踐(三)測試場景那些事
阿新 • • 發佈:2018-11-26
目錄
引言:大致歸納總結了一個立項近半年的一個新業務線測試的場景,及主要產生的一些bug型別,問題大致分為:
- 直接面向用戶的web頁面。指從頁面上可以比較直觀的測試場景,屬於通用的測試場景,和具體涉及什麼業務,關係不太大。
- 前端頁面快取。這塊測試一般在APP端上的測試比較側重,小程式次之,純H5頁面再次之了, 和前端開發人員具體如何應用快取,以及快取有效性有關。
- 使用者體驗。這部分內容更多依賴於測試人員的產品敏感度,和使用者體驗積累,一個能力超強的後端服務測試人員,不一定能很好測好這塊了。
- 前後端互動。這部分內容屬於有些隱藏的問題了,或許不影響功能層面的正常使用,但卻影響了技術實現的規範性。
- i版。 這部分內容屬於H5頁面測試範疇了,除了H5本身的測試場景外,還需要特別關注頁面的具體入口了。
- 小程式。指微信小程式、百度小程式等中的頁面測試,除了小程式本身技術實現功能測試外,需要關注小程式本身的特性了。
- 後端服務。指核心實現邏輯的測試,包括:API介面、底層服務、服務間互動等功能測試、效能測試、異常測試等
- 資料檢查。這部分需要配合頁面測試、後端服務測試、甚至效能測試一起進行。
一、直接面向用戶的web頁面
- 前端控制元件的檢查。例如:下拉框,多個下拉框之間的交替選擇:正常使用者路徑、非正常使用路徑
- 相容性。 通常包括:機型、作業系統、瀏覽器、APP版本、第三方APP版本、網速、網路型別等,可以從第三方/官方資料做覆蓋
- 功能-登入。包括:快取的使用/禁用、重複登入、不可登入、登入資訊的時效性、與退出互動、快取清除後互動等場景
- 多端-一致性。包括:不同應用間、不同頁面、不同模組間相同資料、有關聯資料的相互印證、前端顯示與介面返回一致
- 互動-頁面定位。包括:後退、點選確定、頁面跳轉時定位到的頁面、標籤
- 打點。包括:不同頁面、不同模組的前端打點;後端介面的打點
1)重複埋點
2)缺少欄位、沒有傳參
3)傳值不正確
4)第一次正常,重複操作時不正常了
- 樣式。包括:遮擋、錯亂、顯示不全、居中問題
- 資料重新整理。包括:分頁傳參、不同頁面下滑、上滑資料重新整理
- 安全性。包括:敏感資訊加密顯示,例如:沒有隱藏手機號,提交引數,cookie,log,資料庫中資訊沒有加密
- 功能互動。 包括:條件各種組合變換時,與目標不一致
- 異常場景。包括:
1)點選搜尋輸入框 頁面“抖動”;
2)搜尋頁面-多次切換篩選條件時出現報錯
3)下滑頁面時,會請求後端介面多次(次數和下滑後鬆開的時長成正比)
二、前端頁面快取
- 新頁面載入不出
- 快取失效時資料更新不正常
- 快取更新異常,導致頁面一直loading
- 快取失效後,與登入功能的影響
- 首個使用者進來,產生異常(例如:頁面載入不出來)
- 非首個使用者進來,產生異常
三、使用者體驗
- 互動的流暢度
- 是否存在多餘/不必要的操作
- 操作不符合使用者習慣
- 操作/互動容易產生歧義性
四、前後端互動
- 前後端對預設引數處理不一致
- 前端多次重複呼叫介面
- 前端呼叫了無用的介面
- 前端對分頁呼叫不正常
- 後端提示報錯,與前端提示不一致
五、i版
- 位址列資訊顯示
- 上滑下滑
- cookie禁用/iOS無痕瀏覽
- 手動清理資料後,頁面互動
- 相容性(機型、主流瀏覽器)。容易產生問題:頁面錯亂、互動彈框錯亂、元素遮擋、提交引數不正常
- 所有能與使用者互動資訊的元素的異常輸入
六、小程式
- 下拉頁面沒有辦法重新整理
- 拉起的鍵盤遮擋
- 頁面快取檢查
- 版本更新檢查
- 從不同端 分享進來後的,頁面互動
- 相容性檢查
- 網路差時,頁面的提示
- 登入、非登入場景
- token失效時的互動
- 重複操作檢查
- 分頁:limit 值與介面實際返回數量不一致(實際返回數量大於limit值)
七、後端服務
- 介面返回資料時有時無
- 服務多執行緒同步實現導致返回超時
- 服務間由於超時,頁面提示與實際處理結果不一致
- 偶爾出現超時(訪問10次,2次出現超時)
- 消費過慢時處理機制
- 收到兩條重複的push訊息
八、資料檢查
- 資料量級檢查。
- 資料正確性檢查。例如:多執行緒操作時,資料入庫、查詢正常
- 資料一致性檢測。 例如:多個頁面、模組、端 對應資料可以相互印證
- 異常場景下,無髒資料。例如:提示報錯時,無髒資料入庫
- 重複操作時,無重複資料。例如:多次重複操作時,無重複資料入庫
總結
總結了近半年時間負責的專案和產生的bug後,不禁想起了一首詩“不識廬山真面目,只緣身在此山中”。初創業務,產生的bug中60%~70%屬於較為淺顯的問題,30%~40屬於需要技巧才能發現的問題。但在考慮和設計測試場景時,面對時間緊、任務重的情況,需要多種測試手段同時進行,才能儘可能多的暴露問題了。既需要深入具體的業務、實現技術中涉及測試場景,又需要從中徹底跳出來,以使用者的視角看到整個產品的實現了。