單純從功能測試的層面上來講的話,APP 測試东羹、web?測試和H5測試在流程和功能測試上是沒有區(qū)別的剂桥。
?????? Web項目或pc項目都是在電腦上進行測試的。常見的PC項目架構有BS架構和CS架構的属提,BS架構就是通過瀏覽器(browser)請求后臺服務(server)权逗,后臺返回到響應內容顯示在瀏覽器上,常見BS架構的項目有天貓冤议、京東等瀏覽器輸入地址就可以訪問斟薇。CS架構的項目比如QQ、微信等恕酸,需要在電腦下載客戶端(client)堪滨,客戶端與后臺服務器(server)進行數據傳輸交互∪镂拢基于以上信息袱箱,PC端測試都是在電腦上遏乔,要么是在瀏覽器上測試要么安裝對應客戶端。而app測試平臺分為安卓和IOS端:安卓測試需要在安卓手機上安裝開發(fā)提供的apk測試包发笔;IOS測試需要將手機UUID提供給開發(fā)安裝ipa測試包進行測試盟萨。H5測試就是測試移動端web/wap頁面,在PC或者手機瀏覽器都可以直接訪問H5頁面了讨。
它們的不同點有
系統(tǒng)架構不一樣捻激,PC和H5端項目尤其是WEB項目對應一個后臺服務,所有客戶訪問的都是同一個后臺前计。web測試只要更新了服務器端胞谭,客戶端就會同步會更新。上線測試時男杈,直接訪問線上地址測試即可丈屹。APP測試雖然對應了一個后臺,但是不同的用戶可能下載了不同版本的客戶端势就,上線測試時,需要兼容每個版本的測試脉漏。app 修改了服務端苞冯,則客戶端用戶所有核心版本都需要進行回歸測試一遍。
發(fā)布流程不同侧巨,PC端每次更新發(fā)布舅锄,需要將測試通過的包替換線上包,重啟服務后立刻生效司忱,訪問的就是最新的環(huán)境皇忿;H5由于是一些html5網站發(fā)布上線后無需重啟即可訪問;APP端需要向應用市場發(fā)布坦仍,安卓發(fā)布的市場有很多鳍烁,應用寶、豌豆莢繁扎、應用商店等幔荒,每個應用都需要單獨審核;IOS端應用比較單一就是appstore梳玫,從提交爹梁、審核到發(fā)布會有幾天的時間間隔,開發(fā)的應用包不會立刻發(fā)布提澎。
專項測試姚垃,app端需要一些專項測試。
兼容性方面盼忌,因為測試平臺的不同积糯,著重點不一樣掂墓。
下面具體展開來說。
App測試
?????? APP的測試類型有
? 安裝卸載測試:確認系統(tǒng)能正常安裝應用及使用絮宁,不需要時卸載及數據清除梆暮,
? 安全測試:防范隱私泄露、密碼加密及傳輸安全绍昂、權限的合理開放啦粹、數據庫安全、通信安全以及安裝包反編譯窘游;
? 接口測試:前后端數據一致校驗唠椭、接口異常狀態(tài)及前端展示、數據的加密傳輸忍饰、業(yè)務功能覆蓋贪嫂;
? 交互與異常測試:同級/上下級頁面的頁面交互及數據加載、網絡異常艾蓝、數據異常前后端展示及狀態(tài)力崇;
? 性能測試、耗電量&流量測試:內存赢织、CPU亮靴、流量消耗、耗電量于置、冷熱啟動速度茧吊、圖片資源大小八毯;
? 界面易用性測試:符合用戶習慣搓侄;
? UI測試:頁面顏色搭配、控件擺放位置及兼容性话速;
? 功能測試:需求文檔已有及隱含的需求功能可正常使用讶踪;
? 兼容性測試:網絡、機型泊交、系統(tǒng)俊柔、分辨率、硬件活合、同類軟件雏婶、新舊數據;
此外還有白指,Web和移動端的同步情況留晚,用戶在Web端的操作,在移動端是否可以正常的進行同步、顯示错维;在移動端的操作奖地,用戶登錄web賬號,信息是否同步等赋焕。
與web測試的異同
?????? 界面測試方面参歹,移動端測試需注意手勢,橫豎屏切換隆判,多點觸控犬庇,事件觸發(fā)區(qū)域等。
兼容性測試方面侨嘀,web是基于瀏覽器的臭挽,所以更傾向于瀏覽器和電腦硬件,電腦系統(tǒng)的方向的兼容咬腕,不過一般還是以瀏覽器的為主欢峰。而瀏覽器的兼容則是一般是選擇不同的瀏覽器內核進行測試(IE、chrome涨共、Firefox)纽帖。app的測試則必須依賴phone或者是pad,不僅要看分辨率举反,屏幕尺寸懊直,還要看設備系統(tǒng)-系統(tǒng)總的來說也就分為Android和iOS。web端的測試一般都是主要使用一種瀏覽器照筑,待系統(tǒng)基本穩(wěn)定的時候吹截,再去專門測試瀏覽器的兼容性瘦陈。移動端主要分為安卓和IOS凝危,而這兩端出現(xiàn)的問題一般是不一致的,一致的問題主要是數據問題晨逝,這時候是需要后臺處理的蛾默,所以我們測試的時候需要兩端都重點測試,而不會出現(xiàn)先著重測試某一端的問題捉貌。
性能方面支鸡,web項目需監(jiān)測響應時間、CPU趁窃、Memory牧挣,app項目除了監(jiān)測響應時間、CPU醒陆、Memory外瀑构,還需監(jiān)測流量、電量等刨摩。
安全測試方面寺晌,安裝包是否可反編譯代碼世吨、安裝包是否簽名、權限設置呻征,例如訪問通訊錄耘婚、相冊、照相機等等陆赋,登錄后長時間無操作情況
專項測試方面沐祷,相對于 Wed 項目,APP有如下專項測試項
1. 干擾測試:中斷奏甫,來電戈轿,短信,關機阵子,重啟等
2. 弱網絡測試(模擬2g思杯、3g、4g挠进,wifi網絡狀態(tài)以及丟包情況)色乾;網絡切換測試(網絡斷開后重連、3g切換到4g/5g/wifi 等)
3. 安裝领突、更新暖璧、卸載。安裝需考慮安裝時的中斷君旦、弱網澎办、安裝后刪除安裝文件等情況;卸載需考慮 卸載后是否刪除app相關的文件金砍;更新局蚀,分強制更新、非強制更新恕稠、增量包更新琅绅、斷點續(xù)傳、弱網狀態(tài)下更新
4鹅巍、接口測試
5千扶、邊界測試:可用存儲空間少、沒有SD卡/雙SD卡骆捧、飛行模式澎羞、系統(tǒng)時間有誤、第三方依賴(QQ敛苇、微信登錄)等
6妆绞、不同app版本的業(yè)務功能測試
測試工具方面,自動化測試工具:APP 一般使用 Appium;Web 一般使用?Selenium摆碉,性能測試工具:APP 一般使用 JMeter塘匣; Web 一般使用loadrunner、JMeter巷帝。
H5測試
我們很容易將H5與HTML5混淆忌卤,H5是一個產品名詞,作為一種解決方案楞泼,而HTML5則是一個技術名詞驰徊,是下一代文本標記語言標準。
H5頁面堕阔,入口的位置可以在瀏覽器打開或是APP的某個入口棍厂,可以理解成是適用于移動設備上展示網頁的一種新形式。APP中主要是通過Webview控件來加載URL來展示H5的超陆。這種方式打開的H5頁面一般沒有刷新按鈕牺弹,頁面頂端也看不到URL。
H5的測試點
在接入客戶端測試之前时呀,我們可以先使用chrome自帶的開發(fā)者工具(視圖-開發(fā)者-開發(fā)者工具)來進行測試张漂,效果是一樣的,將H5鏈接放到瀏覽器中谨娜,打開開發(fā)者工具航攒,我們就能看到所有接口和頁面的顯示。這個工具還可以用來做兼容性的測試趴梢,在頁面左上角可調出漠畜,可以選擇手機、分辨率等坞靶,內置的設備還有很多可以編輯憔狞,這一點上降低了我們手工去測試兼容性關于機型的測試。
H5頁面的測試點一般有
基本業(yè)務功能測試滩愁,包括登錄躯喇、刷新辫封、回退硝枉、前進、翻頁和業(yè)務邏輯倦微。其中妻味,登錄方面,客戶端已登錄欣福,那么進入H5后仍是登錄狀態(tài)责球;若客戶端未登錄,進入H5,點擊對應鏈接雏逾,如果需要登錄則需要拉起native登錄嘉裤。下拉刷新是否仍然處于當前頁面?;用戶主動點擊刷新按鈕是否仍然處于當前頁面?栖博;點擊返回與back鍵屑宠,回退頁面是否是期望頁面?;翻頁加載情況仇让;進入后臺后典奉,重新調出
性能方面,和操作體驗相關的測試丧叽,包括流量卫玖、頁面加載時間、弱網絡環(huán)境和服務端的壓測踊淳。流量測試方面假瞬,對于某些資源是否要做緩存或壓縮;弱網絡下迂尝,數據加載較慢笨触,是否有對應的loading提示;刷新頁面或者加載新內容時頁面是否有抖動
安全方面雹舀,包括惡意攻擊芦劣、權限認證、脫敏處理和直接url打開等
接口測試方面说榆,包括功能虚吟、安全、性能
兼容性方面签财,包括瀏覽器兼容串慰、系統(tǒng)版本兼容、分辨率兼容等方面
Hybrid app測試
【部分內容來自《給產品經理講技術》】
現(xiàn)在唱蒸,移動端上的很多應用都采用了Hybrid? APP的架構邦鲫。所謂HybridAPP,就是指使用原生和H5兩種UI呈現(xiàn)內容神汹。如何確認一個頁面哪些部分采用了原生UI庆捺,哪些部分采用了H5?
在Android系統(tǒng)的“開發(fā)者選項”界面里屁魏,有一個名為“顯示布局邊界”的功能滔以,通過使用這個功能,讀者可以很快地分辨出哪些是原生UI氓拼,哪些是 H5你画。
當“顯示布局邊界”的功能開啟后抵碟,所有的原生控件都會被一個框框住。而其中的H5頁面會被WebView 這個原生控件框住坏匪。它與其他原生控件的區(qū)別是WebView展示的內容比單一的原生控件復雜得多拟逮。例如,原生的TextView用來顯示文本內容适滓、ImageView 用來顯示圖片等唱歧;而WebView? 可以顯示一個網頁的內容,我們可以把它看作精簡版的瀏覽器粒竖。
原生頁面為了展示豐富的內容颅崩,一般需要利用大量控件進行組合,所以當讀者看到某個頁面布滿了框時蕊苗,就可以判斷出這部分肯定是基于原生UI呈現(xiàn)的沿后,如果一個頁面顯示的內容很豐富,頁面中卻只有一個大大的框朽砰,那么這個框內的內容很可能就是由WebView顯示的尖滚。如當當APP中的云閱讀頁面
一個APP中既使用原生UI,又使用H5瞧柔,是為了滿足不同的需求及用戶體驗漆弄。使用原生UI可以應對流暢性體驗要求較高的場景和UI樣式相對固定,不會頻繁變化的頁面造锅。使用H5頁面可以滿足較強的動態(tài)運營需求撼唾,UI樣式頻繁變化,滿足多平臺復用哥蔚。
測試點有
1倒谷、App與HTML5對接部分需要加密傳輸;
2糙箍、App頭部的點擊后返回的是前一個頁面還是退回app主界面渤愁,需要注意;
3深夯、從App各個入口進入HTML5界面都是免登錄抖格,各入口登錄、登出正常咕晋;
4雹拄、在各個機型中,屏幕較小和較大的機器會出現(xiàn)不能全部顯示或者部分空白的情況捡需。
5办桨、長時間不操作HTML5或者App筹淫,需要重新登錄站辉,或者需要重新輸入密碼呢撞;
6、屏幕較小手機提交參數的確認頁面饰剥,由于字數較多會出現(xiàn)換行的情況殊霞,需要做適配。
小程序測試
微信小程序汰蓉,簡稱小程序绷蹲,英文名Mini Program,是一種不需要下載安裝即可使用的應用顾孽。
它的測試點有
功能測試方面祝钢,要覆蓋各功能模塊;在業(yè)務和數據流程上若厚,把各個功能點串聯(lián)起來形成完整的業(yè)務流程來檢查拦英;功能模塊間的交互性檢查。同一個業(yè)務测秸,可能有不能的操作路徑來實現(xiàn)疤估,每個路徑都需要覆蓋檢查;同一功能的不同入口檢查霎冯;
易用性測試铃拇,包括,導航沈撞、功能入口慷荔,上下層級進入&返回、其他人機交互體驗等
兼容性方面缠俺,主要指操作系統(tǒng)和屏幕分辨率方面拧廊,操作系統(tǒng)主要是指android系統(tǒng)和iOS系統(tǒng)。小程序運行在微信中晋修,看起來是跟操作系統(tǒng)沒關系吧碾,實際上還是有關系的,因為底層調用依賴于具體的操作系統(tǒng)墓卦。按照官方文檔在微信小程序在ios上是運行在JavaScriptCore中但在Android上是通過X5JSCore來解析的倦春。如果有條件,不僅要覆蓋android和iOS落剪,包括主流的Android品牌也要覆蓋睁本;分辨率方面,普通的手機APP會有屏幕兼容性的問題忠怖,小程序同樣有這樣的問題呢堰,只不過相對少了些。微信小程序定義了一個新的尺寸單位rpx(responsive pixel)可以適配不同尺寸的屏幕凡泣,在頁面上定義對象的單位是rpx就可以在不同的屏幕上適配枉疼。
安全方面皮假,小程序是內嵌到微信的,因此客戶端的安全性毋庸置疑骂维。只需關注小程序本身與后端接口傳遞數據的安全性即可惹资。此外,還要注意權限方面的要求航闺。
接口測試褪测,對接口進行測試,和平時的接口測試是一樣的潦刃,沒有特別之處侮措。但是我們需要了解的就是,微信小程序SDK提供的接口是websocket乖杠。WebSocket是 HTML 5的一個主要特性萝毛,它是建立在TCP上的一種全雙工協(xié)議,也就是說客戶端可以向服務器發(fā)信息滑黔,服務器也可以向客戶端推送消息笆包。WebSocket 在首次建立連接時,使用普通?HTTP和服務器通信略荡,同時告訴服務器后面的交互用WebSocket的方式庵佣。在WebSocket連接建立后,往來的消息都可以通過這條管道發(fā)送汛兜,同時客戶端與服務器也會不斷地用ping-pong的方式保持心跳巴粪,防止連接異常斷開。
性能測試粥谬,小程序的性能不是測試小程序的重點肛根,優(yōu)先級也比較低。小程序的性能和WEB的性能測試非常類似漏策,性能的常用指標也大致相同派哲。包括頁面的白屏時間,首屏時間掺喻,資源占用芭届,頁面渲染時間,幀率等等感耙。