Ⅰ 手機app如何全方位測試
安全性測試,是app專項測試中必須要做的一環,簡單列舉下目前常做的測試類別:
1. 用戶隱私
檢查是否在本地保存用戶密碼,無論加密與否
檢查敏感的隱私信息,如聊天記錄、關系鏈、銀行賬號等是否進行加密
檢查是否將系統文件、配置文件明文保存在外部設備上
部分需要存儲到外部設備的信息,需要每次使用前都判斷信息是否被篡改
2. 文件許可權
檢查App所在的目錄,其許可權必須為不允許其他組成員讀寫
3. 網路通訊
檢查敏感信息在網路傳輸中是否做了加密處理,重要數據要採用TLS或者SSL
4. 運行時解釋保護
對於嵌有解釋器的軟體,檢查是否存在XSS、SQL注入漏洞
使用webiew的App,檢查是否存在URL欺騙漏洞
5. Android組件許可權保護
禁止App內部組件被任意第三方程序調用。
若需要供外部調用的組件,應檢查對調用者是否做了簽名限制
6. 升級
檢查是否對升級包的完整性、合法性進行了校驗,避免升級包被劫持
7. 3rd庫
如果使用了第三方庫,需要跟進第三方庫的更新
Ⅱ 如何測試app軟體測試在手機中的使用情況
手機app測試主要有以下:
1.安全測試
1)軟體許可權
-扣費風險:包括發送簡訊、撥打電話、連接網路等 -隱私泄露風險:包括訪問手機信息、訪問聯系人信息等 -新增風險項
2)開發者官方許可權列表信息比對分析 2.安裝、運行、卸載測試
驗證App是否能正確安裝、運行、卸載,以及操作過程和操作前後對系統資源的使用情況,主要包括:
1)檢測軟體是否能正確安裝、運行、卸載; 2)安裝、卸載、更新錯誤報告; 3)其他輔助信息: -位置和文件夾是否合理; -組件是否正確注冊或刪除;
-評估操作前後,CPU、Memory(內存佔用)、Storage(磁碟佔用)等系統資源的使用情況。 3.UI測試
測試用戶界面(如菜單、對話框、窗口和其它可視控制項)布局、風格是否滿足客戶要求,文字是否正確,頁面是否美觀,文字,圖片組合是否完美,操作是否友好等。
UI測試的目標是確保用戶界面會通過測試對象的功能來為用戶提供相應的訪問或瀏覽功能。確保用戶界面符合公司或行業的標准。包括用戶友好性、人性化、易操作性測試。 4.功能測試
根據軟體說明或用戶需求驗證App的各個功能實現,採用如下方法實現並評估功能測試過程:
1)採用時間、地點、對象、行為和背景五元素或業務分析等方法分析、提煉App的用戶使用場景,對比說明或需求,整理出內在、外在及非功能直接相關的需求,構建測試點,並明確測試標准(若用戶需求中無明確標准遵循,則需要參考行業或相關國際標准或規則)。 2)根據被測功能點的特性列舉出相應類型的測試用例對其進行覆蓋,如:涉及輸入的地方需要考慮等價、邊界、負面、異常或非法、場景回滾、關聯測試等測試類型對其進行覆蓋。 3)在測試實現的各個階段跟蹤測試實現與需求輸入的覆蓋情況,及時修正業務或需求理解錯誤。 5.性能測試
評估App的時間和空間特性
1)極限測試:在各種邊界壓力情況下(如電池、存儲、網速等),驗證App是否能正確響應。
2)響應能力測試:測試App中的各類操作是否滿足用戶響應時間要求 3)壓力測試:反復/長期操作下,系統資源是否佔用異常; 4)性能評估:評估典型用戶應用場景下,系統資源的使用情況。
5)Benchmark測試(基線測試):與競爭產品的Benchmarking,產品演變對比測試等。 6.中斷測試
針對智能終端應用的服務等級劃分方式及實時特性所提出的測試方法,如:App在前/後台運行狀態時與來電、文件下載、音樂收聽等關鍵運用的交互情況測試等。 7.兼容測試
主要測試內部和外部兼容性,包括:
與本地及主流App是否兼容; 檢驗在各種網路連接下(WiFi、GSM、GPRS、EDGE、WCDMA、CDMA1x、CDMA2000、HSPDA等),App的數據和運用是否正確;
與各種設備是否兼容(若有跨系統支持則需要檢驗是否在各系統下,各種行為是否一致)。
8.安全測試
安全測試顯得尤為重要,粗心、不謹慎的數據存儲或傳輸方式使得非法、惡意目的有可乘之機。
智能終端安全涉及各信息交互、存儲接點,借鑒於網路傳輸和相關安全測試經驗,App安全測試大概劃分為以下幾類:
1)從數據的本地存儲到數據的傳輸、處理以及遠程訪問等各個環節,基於相應的安全標准/行業標准評估App的安全特性;
2)借鑒在Web App和網路安全測試的一些成功經驗在智能終端App測試中進行裁減或適配;
3)檢測App的用戶授權級別,數據泄漏,非法授權訪問等;
4)對App的輸入有效性校驗、認證、授權、敏感數據存儲、數據加密等方面進行檢測,以期發現潛在的安全問題;
5)基於各種通信協議或相應的行業安全標准檢視App是否滿足相應的要求
Ⅲ 軟體測試必學基本理論知識-APP測試
業務功能測試
APP專項測試(兼容性測試、安裝、卸載、升級、交叉事件、Push消息推送、性能測試、用戶體驗、極限、邊界、許可權
手機型號、操作系統、解析度(Android:1080x1920,720x1280;IOS:2208x1242,1334x750)尺寸(4.7,5.5)、網路環境(Wi-Fi、2G、3G、4G、5G)
撥打接聽電話
接收/發送簡訊
插拔耳機
網路切換
1.一定數量的真機上進行
2.藉助testin等雲平台
3.模擬器:Xcode、Genymotion(http://www.genymotion.net/)
第三方在線統計排名(騰訊移動分析、網路研究院)
官方數據(Android、IOS官網)
埋點技術(技術手段)
push消息應該按設定規則發送特定用戶
APP在後台運行時,應能正常收到其push消息
設備鎖屏狀態下,應能正常收到APP的push消息
設置網路段斷開後再一次建立連接是,改局備應能收到push消息
系統設置不接收APP通知消息時,用戶應該不再接收push消息
安裝渠道:Android-應用商城、IOS-APP Store
正常情況 :
正常安裝測試、檢查是否安裝成功
APP本本覆蓋測試
回退版本測試
在不同型號、系統、屏幕大小、解析度上的手機進行安裝
安裝完成後能否正常啟動應用程序
異常情況
安裝時內存不足
安裝過程中的意外情況(強行斷電、斷網、來電話、查看信息)等
能否取消安裝
正常情況:
用自己的卸載程序進行卸載,檢查是否卸載干凈
用第三方工具,檢查是否卸載干凈
不同系統、硬體環境、網路環境下進行卸載
卸載後再次安裝、是否正常使用
異常情況:
卸載中出現異常情況能否恢復(比如手機關機、內存、沒電等),程序是否還能運行
卸載後是否有殘留,是否能夠再次進行安裝
是否可以取消卸載,軟體恢復使用
更新版本需要提示用戶
考慮是否進行強制升級(軟體存在嚴重缺陷、軟體不能夠向前兼容)
是否能夠跨版本升級
性能測試指標:內存、CPU、流量、電量、啟動速度、界面切換速度
內存溢出與內存泄漏
1.內存溢出out of memory,是指程序在申請內存時,沒有足夠的內存空間供其使用,出現溢出
2.內存泄漏out of leak,是指程序在申請內存後,無法釋放已申請的內存空間,一次內存泄漏危害可以忽略,但內存泄漏堆積後果很嚴重,無論多少內存,遲早會被佔光
3.二者的關系:內存泄漏會導致內存溢出
冷啟動與熱啟動
1.指app被後台殺死後,在這個狀態打開app,這種啟動方核毀式叫做冷啟動
2.熱啟動:指app沒有被後台殺死,仍然在後台運行,通常我們再次打開這個app,這種啟動方式叫做熱啟動
用戶體驗
邊界(極限測試)
許可權測試
App的兼容性測試尤為重要:由於手機廠商生產的手機型號及相關軟硬體存在千千萬萬的差異性,進而APP端需要著重考慮解析度,系統版本,尺寸,主流機型等
App性能測試指標不一樣,除了需要和web一樣考慮APP客戶端的性能外,我們還需要考慮電量、流量的消耗、GPU渲染等
APP網路測試場景的復雜性:如2G、3G、4G、5G、Wi-Fi、弱網環境等
APP基於手機載體存在的交叉事件測試、前後台切換,安裝/卸載/升級測試
APP基於手機載體特有的一些用戶操作習慣類測試,如橫豎屏切換,多點觸控,事件觸發區域等
內測發布平台
工作流程:1.開發將打好的程序包上傳到內測發布平台上2.內測分發平台基於上傳的安裝包生成唯一的二維碼3.測試掃描二維碼即可進行下載,安裝並測試
蒲公英: https://www.pgyer.com/
fir.im(https://fir.im/
線上發臘信布平台:
應用商店、APP Store
前置基礎:瀑布模型(不適用快速變化的需求)、快速原型
互聯網特點:請求創新、要求的高度不確定性
移動互聯網的解決方案:快速的反饋機制、快速試錯
基本可以和快速原型劃等號。
scrum:提供了一套基於團隊的敏捷方法。
角色:產品負責人(整理需求)、項目經理、開發團隊
輸出物:產品待辦列表、迭代待辦列表、產品增量(可工作的軟體)
5個活動:迭代、迭代計劃、每日站會、評審會、迭代回顧
1.需求分析與評審
2.編寫測試計劃(測試方案)
3.設計測試用例與評審
4.執行測試用例與缺陷跟蹤
5.編寫測試報告
兼容測試
交叉事件
弱網測試
極限邊界
許可權測試
刪除請求:remove all
設置過濾
查看請求和響應數據
修改響應數據
輔助定位bug
構建模擬測試場景
APP弱網模擬測試
前端性能分析及優化
重定向、API介面測試
為什麼抓包?
通過抓包工具截取觀察網站的請求信息,幫助我們更深入了解系統
通過用抓包工具截取,觀察網站的請求與返回信息,幫助我們進行bug的定位與描述
步驟
1.打開Fiddler,設置代理(tools-option-connection-勾選Allow remote computers to connect,並允許遠程連接
2.手機連接電腦的熱點網路或者在同一個區域網內
3.手機網路連接中,設置網路代理,IP是電腦的同網段IP地址,埠是8888
4.手機訪問APP或者用手機瀏覽器訪問網路,電腦Fiddler觀察抓包情況
1.概念
在當今移動互聯網盛行的時代,網路的形態除了有線連接,還有2G/3G/Edge/4G/Wi-Fi
等多種手機網路連接方式,不同的協議、不同的制式、不同的速率使移動應用運行的場景更加豐富。
2.原理
通過Fiddler來模擬限速,提供客戶端請求前和伺服器響應前的回調介面,Fiddler的模擬限速是在客戶端請求前自定義限速,通過延遲發送數據或接收數據的時間來限制網路的下載和上傳速度,從而達到限速的效果
打開網速模擬模式開關(Rules-Performances-simulate Modem speeds)
自定義網路:rules-customize rules
(知識就是力量,我將會持續更新軟體測試相關知識喲 )