前置解釋:
1.單純從功能測試的層面上來講的話,APP 測試、web 測試和H5測試在流程和功能測試上是沒有區別的
2.Web項目或pc項目都是在電腦上進行測試的。常見的PC項目架構有BS架構和CS架構的,BS架構就是通過瀏覽器(browser)請求后台服務(server),后台返回到響應內容顯示在瀏覽器上
3.app測試平台分為安卓和IOS端:安卓測試需要在安卓手機上安裝開發提供的apk測試包;IOS測試需要將手機UUID提供給開發安裝ipa測試包進行測試。
不同點:
1.系統架構不一樣
a.web端測試只要更新了服務器端,客戶端就會同步會更新
b.APP測試雖然對應了一個后台,但是不同的用戶可能下載了不同版本的客戶端,上線測試時,需要兼容每個版本的測試。app 修改了服務端,則客戶端用戶所有核心版本都需要進行回歸測試一遍
2.發布流程不同
a.web端每次更新發布,需要將測試通過的包替換線上包,重啟服務后立刻生效,訪問的就是最新的環境
b.APP端需要向應用市場發布,安卓發布的市場有很多,應用寶、豌豆莢、應用商店等,每個應用都需要單獨審核;IOS端應用比較單一就是appstore,從提交、審核到發布會有一定的時間間隔,開發的應用包不會立刻發布
3.專項測試不同
a.app端需要一些專項測試--比如安裝卸載測試,耗電量&流量測試等
b.兼容性方面,因為測試平台的不同,着重點不一樣
展開來說:
app測試類型有如下:
1.安裝卸載測試:確認系統能正常安裝應用及使用,不需要時卸載及數據清除
2.安全測試:防范隱私泄露、密碼加密及傳輸安全、權限的合理開放、數據庫安全、通信安全以及安裝包反編譯
3.交互與異常測試:同級/上下級頁面的頁面交互及數據加載、網絡異常、數據異常,前后端展示及狀態
4.性能測試、耗電量&流量測試:內存、CPU、流量消耗、耗電量、冷熱啟動速度、圖片資源大小
5.界面易用性測試:符合用戶習慣
6.UI測試:頁面顏色搭配、控件擺放位置及兼容性
7.功能測試:需求文檔已有及隱含的需求功能可正常使用
8.兼容性測試:網絡、機型、系統、分辨率、硬件、同類軟件、新舊數據
9.此外還有,Web和移動端的同步情況,用戶在Web端的操作,在移動端是否可以正常的進行同步、顯示;在移動端的操作,用戶登錄web賬號,信息是否同步等
與web測試的異同:
1.界面測試方面,移動端測試需注意手勢,橫豎屏切換,多點觸控,事件觸發區域等
2.兼容性測試方面,web是基於瀏覽器的,所以更傾向於瀏覽器和電腦硬件,電腦系統的方向的兼容,不過一般還是以瀏覽器的為主。而瀏覽器的兼容則是一般是選擇不同的瀏覽器內核進行測試(IE、chrome、Firefox)
3.app端不僅要看分辨率,屏幕尺寸,還要看設備系統-系統總的來說也就分為Android和iOS
4.性能方面,web項目需監測響應時間、CPU、Memory,app項目除了監測響應時間、CPU、Memory外,還需監測流量、電量等
5.安全測試方面,安裝包是否可反編譯代碼、安裝包是否簽名、權限設置,例如訪問通訊錄、相冊、照相機等等,登錄后長時間無操作情況
專項測試方面,相對於 Wed 項目,APP有如下專項測試項
1. 干擾測試:中斷,來電,短信,關機,重啟等
2.弱網絡測試(模擬2g、3g、4g,wifi網絡狀態以及丟包情況);網絡切換測試(網絡斷開后重連、3g切換到4g/5g/wifi 等)
3.安裝、更新、卸載。安裝需考慮安裝時的中斷、弱網、安裝后刪除安裝文件等情況;卸載需考慮 卸載后是否刪除app相關的文件;更新,分強制更新、非強制更新、增量包更新、斷點續傳、弱網狀態下更新
4.邊界測試:可用存儲空間少、沒有SD卡/雙SD卡、飛行模式、系統時間有誤、第三方依賴(QQ、微信登錄)等
5.不同app版本的業務功能測試
6.測試工具方面,自動化測試工具:APP 一般使用 Appium,airtest;Web端一般使用 Selenium,性能測試工具:APP 一般使用 JMeter; Web 一般使用loadrunner、JMeter
小程序測試:
小程序是一種不需要下載安裝即可使用的應用
1.功能測試方面,要覆蓋各功能模塊,所有操作路徑
2.易用性測試,包括,導航、功能入口,上下層級進入&返回、其他人機交互體驗等
3.兼容性方面,主要指操作系統和屏幕分辨率方面,操作系統主要是指android系統和iOS系統
4.安全方面,小程序是內嵌到微信的,因此客戶端的安全性毋庸置疑。只需關注小程序本身與后端接口傳遞數據的安全性即可。此外,還要注意權限方面的要求