APP測試和Web測試的區別
單純從功能測試的層面上來講的話,APP 測試、web 測試 在流程和功能測試上是沒有區別的
根據兩者載體不一樣,則區別如下:
一、系統結構方面
web項目,b/s架構,基於瀏覽器的;web測試只要更新了服務器端,客戶端就會同步會更新
app項目,c/s結構的,必須要有客戶端;app 修改了服務端,則客戶端用戶所有核心版本都需要進行回歸測試一遍
二、性能方面
web項目 需監測 響應時間、CPU、Memory
app項目 除了監測 響應時間、CPU、Memory外,還需監測流量、電量等
三、兼容方面
web項目:
1. 瀏覽器(火狐、谷歌、IE等)
2. 操作系統(Windows7、Windows10、OSX、Linux等)
app項目:
1. 設備系統: iOS(ipad、iphone)、Android(三星、華為、聯想等) 、Windows(Win7、Win8)、OSX(Mac)
2. 手機設備可根據 手機型號、分辨率不同
四、相對於 Wed 項目,APP有專項測試
1. 干擾測試:中斷,來電,短信,關機,重啟等
2. 弱網絡測試(模擬2g、3g、4g,wifi網絡狀態以及丟包情況);網絡切換測試(網絡斷開后重連、3g切換到4g/wifi 等)
3. 安裝、更新、卸載
安裝:需考慮安裝時的中斷、弱網、安裝后刪除安裝文件等情況
卸載:需考慮 卸載后是否刪除app相關的文件
更新:分強制更新、非強制更新、增量包更新、斷點續傳、弱網狀態下更新
五、測試工具方面
自動化工具:APP 一般使用 Appium; Web 一般使用 Selenium
性能測試工具:APP 一般使用 JMeter; Web 一般使用 LR、JMeter
6. 界面操作:關於手機端測試,需注意手勢,橫豎屏切換,多點觸控,前后台切換
7. 安全測試:安裝包是否可反編譯代碼、安裝包是否簽名、權限設置,例如訪問通訊錄等
8. 邊界測試:可用存儲空間少、沒有SD卡/雙SD卡、飛行模式、系統時間有誤、第三方依賴(QQ、微信登錄)等
9. 權限測試:設置某個App是否可以獲取該權限,例如是否可訪問通訊錄、相冊、照相機等
10.web測試用一台電腦就可以,而app測試需要測試多台的手機
六,穩定性測試
10,web項目的穩定性測試更多的是:長時間測試后端服務的接口和前端頁面的顯示,方法就是長時間跑自動化腳本。
11,app項目的穩定性測試更多的是:長時間測試app頁面的顯示,方法就是用monkey,monkeyrunner長時間在屏幕上面跑,看是否卡死,閃退,報錯或其他異常。
七,業務功能,和用戶量方面
12,不同的項目web和app的業務功能有所不同,比如web頁面更多的偏向系統管理和運營方面的功能,而移動app更多的偏向瀏覽,支付下單
13,不同的項目web和app的用戶量有所不同,現在很多用戶量都偏向了移動app端
隨着手機應用的不斷狀態,同一款產品的移動端應用市場占相較PC端也越來越大,那么app與PC端針對這些產品的測試有什么相同與不同之處呢?筆者總結如下:
首先談一談相同之處
一,針對同一個系統功能的測試,三端所測的業務流程是一樣的
二,一般情況下手機端和PC端都對應一套后台服務,比如說筆者公司所開發的互聯網金融平台,整個平台做了分布式服務架構,后台服務包括用戶服務、交易服務、產品服務等。PC和手機端測試以上三個流程時,調用的都是同一個后台服務。(注:也有一些功能,比如PC與手機端展示不一致,或者有什么特殊處理,這樣情況下后台會寫兩套不同的接口來處理對應的業務需求)
不同之處
PC、APP、H5三端測試的相同與不同
一,測試平台(容器)不同:
pc項目都是在電腦上進行測試的:常見的PC項目架構有BS架構和CS架構的,BS架構就是通過瀏覽器(browser)請求后台服務(server),后台返回到響應內容顯示在瀏覽器上,常見BS架構的項目有天貓、京東等瀏覽器輸入地址就可以訪問。CS架構的項目比如QQ、微信等,需要在電腦下載客戶端(client),客戶端與后台服務器(server)進行數據傳輸交互。基於以上信息,PC端測試都是在電腦上,要么是在瀏覽器上測試要么安裝對應客戶端。平台都是電腦。
app測試平台分為安卓和IOS端:安卓測試需要在安卓手機上安裝開發提供的apk測試包;
IOS測試需要將手機UUID提供給開發安裝ipa測試包進行測試;
H5測試就是測試HTML5頁面:在PC或者手機瀏覽器都可以直接訪問H5頁面
二,兼容性測試不同:
基於以上測試平台的不同,三端的兼容性也不一樣。
PC的兼容性主要包括各瀏覽器和不同操作系統,目前筆者所經歷的公司主要測試了不同主流版本瀏覽器的兼容性,還未涉及操作系統層面
APP的兼容性包含安卓和IOS不同機型,不同版本,不同屏幕都要適配
H5的兼容性主要測試手機端的不同瀏覽器的兼容性
三,系統架構不一樣
PC和H5端項目尤其是WEB項目對應一個后台服務,所有客戶訪問的都是同一個后台。上線測試時,直接訪問線上地址測試即可
APP測試雖然對應了一個后台,但是不同的用戶可能下載了不同版本的客戶端,上線測試時,需要兼容每個版本的測試。
四,發布流程不同:
PC端每次更新發布,需要將測試通過的包替換線上包,重啟服務后立刻生效,訪問的就是最新的環境
H5由於是一些html5網站發布上線后無需重啟即可訪問
APP端需要向應用市場發布,安卓發布的市場有很多,應用寶、豌豆莢、應用商店等每個應用都需要單獨審核;IOS端應用比較單一就是appstore。從提交、審核到發布會有幾天的時間間隔,開發的應用包不會立刻發布,此時測試人員就可能會使用生成環境體驗包(需要開發人員提前將你的賬號開白名單)
五,專項測試
除以上不同外,app端還有一些專項測試:
性能方面:響應時間、流量測試和耗電量測試
安裝測試(PC端web項目不用測試,CS架構的也需要考慮)
交叉測試:就是在操作某個軟件的時候,來電話、來短信,電量不足提示等外部事件
操作類型:手勢測試、橫屏豎屏
網絡測試:包含弱網和網絡切換測試,重點要考慮回退和刷新是否會造成二次提交。弱網絡的模擬,據說可以用360wifi實現設置。
升級測試:升級測試的提醒機制,升級取消是否會影響原有功能的使用,升級后用戶數據是否被清除了