因爲智能手機時代來臨,不少產品都有了APP,做爲一個測試人員掌握APP測試是必要的。html
在展開APP測試以前,首先了解一下幾個點:前端
1.基於軟件測試框架之上。複習下軟件測試框架。java
2.框架的內容貫穿於APP測試(以及其餘的測試)始終。linux
3.軟件測試用例的設計,軟件的熟悉程度軟件測試思惟的鍛鍊,是全部測試的關鍵和基本。android
學習更多測試點擊:更多測試學習web
目錄數據庫
如何學習手機APP測試api
瞭解手機行業瀏覽器
瞭解APP行業安全
熟悉手機
熟悉流行的APP
先從業務入手,熟悉基本測試點,測試技巧與方法。
在深刻到架構
先從功能和思惟入手
再說性能和自動化
移動端測試技術概述
廣義的將包括手機,筆記本,平板電腦,pos機甚至包括車載電話。可是大部分狀況下是指手機或者具備多種應用功能的智能手機以及平板電腦。
APP測試涉及技術:
功能性測試(手動/雲測)
兼容性測試(Fiddler)
穩定性測試 (Monkey)
安全性測試
性能測試(GT)
H5測試
手機操做系統
智能手機組成部分:主要能夠分爲兩部分,硬件和軟件。硬件就是處理器、手機屏幕、電池、相機傳感器等電子元器件。軟件就是系統、框架和各種應用程序了。
智能手機硬件組成:SoC、RAM、ROM、電池、屏幕、傳感器等。
智能手機操做系統:
ISO:Cisco的網際操做系統(iOS)是一個爲網際互連優化的操做系統--相似一個局域操做系統(NOS)。
Android:Android是一種以linux爲基礎的開發源代碼操做系統。
安卓手機的架構:
1.applications:日曆;聯繫人,郵件等,用java編寫。
2.應用程序框架:開發人員能夠訪問框架api。
3.系統運行庫:爲開發者提供服務。
4.linux內核
掌握了手機與APP的結構之後下面來看APP測試的幾種測試方法。
功能測試:
-根據軟件說明或者用戶需求驗證APP的各個功能實現:
1.根據需求,提煉APP的用戶使用場景,驗證功能。
2.根據相關測試標準,驗證功能。
3.根據被測功能點的特性採用特定的方法進行測試。
4.在測試過程當中,及時修正業務或需求理解錯誤。
常見的功能缺陷
1.功能不起做用(菜單,按鈕,鏈接,控件失效)
2.功能錯誤(與預期的功能不一致,計算結果錯誤,顯示結果錯誤)
3.功能缺乏(缺乏應該具有的菜單,按鈕,選項等)
4.執行功能之後系統癱瘓(崩潰,CPU不足)
5.執行功能之後當前功能沒法繼續操做。
APP UI測試:
UI user interface (用戶界面)
確保用戶界面符合公司或行業標準。包括用戶友好性,人性化,易操做性測試。地域性。
-UI測試的目標是確保用戶經過界面可以正確,快速,有效的使用軟件的各項功能。
測試用戶界面包括:
1.頁面是否美觀。
2.文字是否正確:操做手機,幫助文檔等。
3.文字圖片組合是否完美,操做是否友好。
4.菜單,對話框,窗口,控件佈局,風格是否知足客戶需求。
UI測試的目標是確保用戶經過界面可以正確,快速,有效的使用軟件的各項功能。確保用戶界面符合公司或行業的標準。包括用戶友好型,人性化。UI界面對比。圖片對比。
APP兼容性測試:
1.操做系統版本。
2.屏幕分辨率。
APP弱網測試:
1.測試軟件在2g 3g 4g wifiwifi(100m,200m)網絡下應用運行的速度。
2.通常測試環境都是公司的內網進行測試,到外網環境下進行操做是否有異常,(測試環境,正式環境,驗收環境)
3.網絡很差或者不好的時候,進行數據提交,數據是否交換失敗。(曾把網絡速度設置爲0,提交數據,一直在轉圈,友好提示/anr)
4.有網到無網再到有網環境時,數據是否能夠自動恢復,正常加載。
APP穩定性測試:
1.在保證基本功能正確的基礎上,APP的穩定性就顯得特別重要了。若是一個APP應用常常出現閃退或者卡頓,用戶體驗不好,在有競品的狀況下,很容易形成用戶流失。
2.穩定性的問題,能夠經過黑盒測試,灰度內測,以及用戶的反饋得以發現而修改。
灰度內測:指有沒有限制的內測。可是仍是會限制用戶身份,即只有資格的用戶才能夠得到內測軟件。
穩定性測試工具:Monkey
APP安全性測試:
app的安全性不言而喻,安全性涉及到權限設置,敏感信息存儲,日誌中的敏感信息,第三方鍵盤是否惡意劫持信息。密碼顯示,密碼輸入,修改密碼,動態驗證碼。
1.APP軟件由於涉及到用戶隱私,由於安全性測試很重要,好比iOS出現iCloud豔照門這樣的事件,感興趣的百度一下「好萊塢豔照門」,原由是黑客使用了Apple公司的find my iphone 服務的漏洞,進行暴力破解。因此用戶對於APP安全性的要求更高了。
2.權限問題,咱們須要對APP申請某些特定權限的必要性進行檢查,列如訪問圖庫,對於沒有必要的權限,咱們直接建議開發刪除。評估增長的新權限。
3.數據庫中敏感信息問題,如今大部分移動APP都會用到數據庫,一旦手機被他人獲取,就可能形成用戶的隱私泄露,在跑完一個包含數據庫的測試用例後,咱們能夠直接查看數據庫裏的數據,觀察是否有敏感信息存儲在內。通常來講,這些敏感信息須要在用戶進行註銷操做後刪除。
4.八項基本原則:目的明確,最少夠用,公開告知,我的贊成,質量保證,安裝保證,誠信履行,和責任明確。劃分了手機,加工,轉移,刪除四個環節。
5.日誌中包含敏感信息。開發人員在寫程序的過程當中都會加入日誌幫助調試,在日誌中寫入一些敏感信息。一般在應用發佈版本不會使用日誌,但也不排除一些特殊狀況。對於發佈版本中包含日誌的應用,在測試的時候咱們也須要關注日誌是否存在敏感信息
APP性能測試:
APP端的性能也是影響用戶體驗的很是重要的方面,例如cpu和內存的使用狀況,應用的響應時間,頁面渲染時間都是咱們須要考慮的問題。
性能測試:
1.測試APP在不一樣網絡速度下操做的流暢程度。能夠經過測試人員在使用APP時直觀的感覺來驗證APP性能帶給用戶的體驗。
2.測試APP操做數據庫的性能。APP在本地存儲和讀取數據時,若是操做的數據量很大,例如對APP對短信的讀取。就可能引發APP的性能問題。讀寫電子郵件和照片也可能出現相似問題。
3.壓力測試:返回/長期操做,系統資源是否戰友異常(monkey)
4.資源消耗(CPU,內存,流量,功耗)
example:
內存使用太高,以及內存不夠而致使的崩潰。
軟件啓動時要求CPU<20%,實際結果是>20%,那麼就是fail。
H5測試
h5就是超本文編輯語言,h5測試和web端測試很相似,包括功能測試,瀏覽器兼容性測試,前端性能測試等。
example:微信>個人>錢包>騰訊公益。這就是h5頁面,是對這種界面的測試。
以上就是APP測試的幾種方法。掌握這幾個方法後,基本上APP測試所覆蓋的點基本上就比較全面了。下面介紹一下APP測試中的常見問題。
APP測試主要術語
分辨率 :手機>設置>關於手機>個人設備>分辨率
色深
像素
APP測試爲何以安卓爲主?
1.用戶量大
2.Android碎片化嚴重。
3.iOS相對於Android是封閉式系統
4.APP在Android手機上屏幕尺寸,分辨率兼容較高,好比有不少牌子的安卓手機,蘋果只有一個。
android與iOS分別用什麼語言寫的?
iOS:object-c
android:java