可能平常工作,接觸到掃碼登錄比較少,不過是目前比較主流的功能,還是需要了解一下,怎么進行測試?
首先,掃碼登錄原理?
詳細原理可看這篇帖子:https://www.cnblogs.com/kechen/p/13259879.html
概要說一下原理,及個人理解:
1. 掃碼,怎么校驗個人信息與服務信息是不是一致的呢?用戶信息怎么獲取?
答:用戶是在登錄狀態進行掃碼登錄(PC端進行掃碼登錄,微信電腦端掃碼登錄),都是在已經登錄的狀態;掃碼可以獲得用戶驗證的信息和uuid;在訪問手機端服務器時,參數中會攜帶一個參數token,手機服務器可以從token中解析出userid,手機端將解析得到的數據和token,向服務器發起登錄驗證登錄請求
2.web服務器端接受到請求,怎么處理?
答:手機服務器拿到用戶id,查詢相關表,得出密碼,內部調用登錄接口,生成用戶token,並將token返回給瀏覽器
測試思路分析:
1. 正常場景:掃碼成功,是否有提示和跳轉
2. 逆向場景:掃碼失敗,網絡異常等;
3. 掃碼入口,使用當前匹配app進行掃碼;嘗試其他app掃碼,如淘寶
4. 二維碼時效性,超時掃碼,重新刷新二維碼后是否正常;
5. 其他方式:截圖保存二維碼掃碼
6. 其他常規:掃碼不完整,掃碼光線、多次掃碼、不同設備掃碼,退出登錄后,重新掃碼;
7. 非登錄狀態,掃碼是否有提示先登錄;
8. 手機權限管理,關閉了攝像頭掃碼,是否有提示獲取攝像頭權限;(是否會出現調不起閃退)
9. 用戶信息校驗:使用賬號與當前賬戶不匹配的情況,是否給出提示
10.兼容性:主流系統進行掃碼,是否可兼容
11.是否有掃碼錯誤次數限制
服務器:
服務端
- 了解請求發送頻率、返回code碼等,校驗二維碼是否已經被掃碼,用戶在移動端是否已經確認登錄;
- 記錄掃碼的用戶信息,如用戶名、昵稱;
- 掃碼的設備、次數、二維碼類型、掃碼結果等。