軟件測試-app測試

一:APP概述
- APP架構(gòu):C/S
-
APP類型:
-
web app
-
介紹:
-
web app就是給web站編譯打包加了個(gè)app殼,看起來像是一個(gè)app,可以上傳到應(yīng)用商店,也可以從應(yīng)用商店下載到移動(dòng)設(shè)備安裝,但是我們在手機(jī)上打開之后看到的實(shí)際上還是網(wǎng)頁,只不過寫成的是自適應(yīng)的網(wǎng)頁能夠在手機(jī)上顯示,做到跟原生app那樣。 而且web app也可以獲取到手機(jī)里面的底層功能,比如說打開攝像頭、打開相冊、獲取我們的地理位置信息...等等都可以做到的,那如果你想開發(fā)一款app需要用到原生底層能力的話,web app是可以滿足到你。
-
- 語言:HTML5
-
優(yōu)勢-
- 1. 開發(fā)速度快、成本低。相對于原生APP,使用H5開發(fā)更節(jié)省人力,不需要單獨(dú)的兩個(gè)團(tuán)隊(duì)開發(fā)。
- 2. 版本控制及BUG修復(fù)更優(yōu)秀。由于頁面由服務(wù)器直接返回,有問題直接后臺修改,不需要用戶單獨(dú)更新APP。
- 3. 跨平臺性優(yōu)秀。HTML5 采用網(wǎng)絡(luò)通用語言,不用考慮終端設(shè)備或者操作系統(tǒng)的不同。
-
劣勢-
- 1. 用戶體驗(yàn)差。由于不同的手機(jī)設(shè)備性能不同,造成用戶圖形界面和數(shù)據(jù)展示體驗(yàn)不同,對手機(jī)要求較高。
- 2. 不能離線訪問。由于界面都是由服務(wù)器返回,離線將無法訪問APP頁面。
-
介紹:
-
native app
- 介紹:Native App是一種基于智能手機(jī)本地操作系統(tǒng)如iOS、Android、并使用原生程式編寫運(yùn)行的第三方應(yīng)用程序,也叫本地app,有很強(qiáng)的的交互是一個(gè)完整的app可拓展性強(qiáng)。
- 下載安裝:需要
- 語言:ios-object c,Android-java
- 1原生APP獲取新功能需要升級APP應(yīng)用
- 2原生APP應(yīng)用安裝相對包較大(包含UI元素,數(shù)據(jù)內(nèi)容,邏輯框架)
- 3原生APP可以調(diào)用手機(jī)終端的硬件設(shè)備(語音,攝像頭,GPS,)
-
優(yōu)勢-
- 1、提供最佳的用戶體驗(yàn),最優(yōu)質(zhì)的用戶界面,最華麗的交互
- 2, 數(shù)據(jù)存放在本地,可節(jié)省寬帶成本
- 3,盈利模式模式明朗
- 4,打開速度快
-
劣勢-
- 1:移植到不同平臺比較麻煩
- 2:維持多個(gè)版本的成本較高
- 3:需要通過store或market確認(rèn)
- 4:盈利需要與第三方分成
- 5,開發(fā)的成本也比較高
-
hybrid app
-
介紹:半原生半web;兼具native app良好的用戶體驗(yàn)和web APP跨品臺開發(fā)的優(yōu)勢,外觀上市一個(gè)native app,實(shí)則是一個(gè)UIwebview,里面訪問的是一個(gè)web app(native框架上加的web內(nèi)容)
下載安裝:需要
注:如新聞?lì)惖膽?yīng)用普遍采取這種開發(fā)策略
-
-
web app
-
移動(dòng)端概述
- 廣義:手機(jī),筆記本,平板(能拿著走的)
- 大部分情況指 手機(jī)
-
智能手機(jī)
- 概述:有較強(qiáng)的PDA(personal digital assistant),商務(wù)多媒體功能,具有很強(qiáng)擴(kuò)展性,集移動(dòng)通信,移動(dòng)辦公,移動(dòng)多媒體于一身;
-
組成:
- 硬件:焊接在pcb(印刷電路板)上的有(CPU,GPU,ram,rom),通訊卡,sim卡槽,sd卡槽,各種接口
- 操作系統(tǒng)
- 軟件
-
主流系統(tǒng)
- iOS:
-
Android:
- 以Linux為基礎(chǔ)
- java編寫
-
功能:
- 無線接入互聯(lián)網(wǎng)功能
- 具有PDA(個(gè)人數(shù)字辦公)功能
- 人性化
- 功能強(qiáng)大(擴(kuò)展性強(qiáng))
-
架構(gòu):
- 一層:applications(應(yīng)用程序):日歷,聯(lián)系人,郵件,等(用java編寫)
- 二層:應(yīng)用程序框架
- 三層:系統(tǒng)運(yùn)行層為開發(fā)者提供服務(wù)
- 四層:linux內(nèi)核
-
了解近期手機(jī)品牌和主流系統(tǒng)(重點(diǎn))
- 1:智能手機(jī)廠商排名
- 2:操作系統(tǒng)市場占有率
- 3:Android和iOS
- 注:來源于網(wǎng)絡(luò) 如百度
-
PC端和移動(dòng)端測試區(qū)別:
-
PC端:
- 頁面承載量:屏幕大存在量大
- 交互方式:單擊。雙擊
- 使用場景:比較固定——>方案固定
- 網(wǎng)絡(luò)接入方式:wife,寬帶
-
移動(dòng)端:
- 頁面岑仔量:頁面小,承載量小
- 交互方式:單指,多指
- 使用場景:可移動(dòng),場景切換——>主要場景為主
- 網(wǎng)絡(luò)接入方式:2g 3g 4g wifi
-
PC端:
二:APP測試選機(jī)
-
1:了解APP用途
- 1:如APP有針對高級功能設(shè)計(jì)(如:指紋識別,nfc紅外線感應(yīng),指紋識別)等,就選則支持該技術(shù)的手機(jī)。
- 2:不支持某個(gè)系統(tǒng)平臺測試時(shí)就可以忽略。
-
2:主測試手機(jī):
- 1:APP未投入市場‘預(yù)測’真實(shí)用戶使用的設(shè)備和平臺
- 2:app如針對普通用戶就考慮市場占有有率高手機(jī)和系統(tǒng)版本
- 1:選市場占有率高的手機(jī)(Android,ios 各一臺)
-
3:選擇設(shè)備原則
- 1:不同的分變率
- 2:不同的屏幕尺寸
- 3:選擇不同的操作系統(tǒng)
- 4:根據(jù)app用途,Android版本市場占有率,手機(jī)品牌市場占有率
三:測試類型
-
1:功能性測試
-
1:根據(jù)軟件說明或用戶需求驗(yàn)證APP各個(gè)功能的實(shí)現(xiàn)
- 1:根據(jù)需求,提煉用戶使用場景,驗(yàn)證功能
- 2:根據(jù)相關(guān)測試標(biāo)準(zhǔn)(公司和行業(yè)),驗(yàn)證功能
- 3:根據(jù)被測功能點(diǎn)特性采取特定方法測試
- 4:測試中,及時(shí)修正業(yè)務(wù)或需求理解錯(cuò)誤。
- 5:使用思維導(dǎo)圖進(jìn)行測試點(diǎn)的設(shè)計(jì)與分析
-
2:功能缺陷:
- a:功能不起作用(菜單,按鈕,鏈接,控件失效)
- b:功能錯(cuò)誤(與預(yù)期的功能不一致)
- c:功能缺失(缺少具備的菜單,按鈕,選項(xiàng)等)
- e:執(zhí)行功能之后當(dāng)前功能無法繼續(xù)操作
-
3:具體功能:
-
安裝
-
正常
- 下載到手機(jī)安裝
- 應(yīng)用商店下載安裝
- 掃碼下載安裝
- 電腦手機(jī)助手安裝
- adb命令安裝
- 覆蓋升級安裝
- 在線跨版本安裝
-
異常
- 安裝中來電話,信息
- 安裝中關(guān)機(jī)重啟
- 安裝中網(wǎng)咯斷開
- 安裝中取消
- 安裝中手機(jī)內(nèi)存滿了
- 安裝中使用其他多個(gè)軟件
- 安裝中恢復(fù)出廠設(shè)置
- 安裝中刪除安裝包
- 安裝中死機(jī)
- 還未完全卸結(jié)束改軟件后再次安裝
- 安裝中鎖屏
- 安裝中電聯(lián)過低
- 安裝中切換到后臺
- 安裝中升級手機(jī)系統(tǒng)
-
正常
- 卸載
-
更新
- 1軟件有版本更新是要否有更新提示
- 2軟件更新后確定更新的后的版本,且安裝運(yùn)行正常
- 3用戶取消更新是老版本課以正常使用,下次啟動(dòng)應(yīng)用時(shí)依舊出現(xiàn)更新提示
- 4在不刪除客戶端的情況下,進(jìn)行版本更新且運(yùn)行正常。(功能是否更新,檢查項(xiàng)目文件是否更新)
-
登錄
- 1登錄密碼錯(cuò)誤時(shí)是否有提示
- 2用戶主動(dòng)退出登錄是下次啟動(dòng),應(yīng)進(jìn)入登錄界面
- 3對于支持自動(dòng)登錄的APP退出登錄是否能自動(dòng)登錄成功
- 4密碼修改后,登錄時(shí)是否做到了有效數(shù)據(jù)的效驗(yàn)
- 5切換賬號登錄,效驗(yàn)登錄的信息是否做到了有效數(shù)據(jù)的效驗(yàn)
- 6對于多個(gè)端登錄都進(jìn)行炒作時(shí),確保數(shù)據(jù)庫操作無誤,且每個(gè)端可以及時(shí)看到數(shù)據(jù)的更新
-
+ - 運(yùn)行(包括運(yùn)行后的所有功能點(diǎn))
- 1:APP安裝完成是否可以正常打開軟件
- 2:APP運(yùn)行時(shí)是否可以加載圖示,是否有引導(dǎo)程序
- 3:APP的速度是否可以讓人接受,切換是否流暢
- 字符輸入測試
- tooltip測試
- 鏈接測試操作按鈕測試
- 程序運(yùn)行權(quán)限測試
- 運(yùn)行日志查看
-
+ - 離線
- 概述:離線是應(yīng)用程序在本地的客戶端會緩存一部分?jǐn)?shù)據(jù)以程序下次調(diào)用
- 1對于一個(gè)程序,需要在登錄過后,這時(shí)沒有網(wǎng)絡(luò)的情況下可以瀏覽本地?cái)?shù)據(jù)
- 2無網(wǎng)絡(luò)時(shí),刷新獲取新數(shù)據(jù)時(shí),不能獲取數(shù)據(jù)且給出友好提示
- 3切換到后臺,再次切換到前臺時(shí),可以正常查看
- 離線后介入網(wǎng)絡(luò)再次有更新時(shí),需要從服務(wù)器獲取新數(shù)據(jù)來更新客戶端數(shù)據(jù),且更新本地緩存信息
-
消息推送
- 1查看默認(rèn)開關(guān)狀態(tài)(嚴(yán)格根據(jù)需求定義開關(guān))
- 2設(shè)置開關(guān)課自由 打開 或 關(guān)閉
- 3設(shè)置開關(guān)關(guān)閉時(shí)客戶端接受不到消息推送
- 4設(shè)置開關(guān)打開狀態(tài)下,手機(jī)消息可以接受到推送提醒,且可點(diǎn)擊查看,點(diǎn)擊后在消息欄消失
- 5與手機(jī)系統(tǒng)的權(quán)限中的消息推送組合測試
-
網(wǎng)絡(luò)環(huán)境
- 1各種網(wǎng)絡(luò)下軟件的響應(yīng)速度
- 2一般的測試環(huán)境是在公司的內(nèi)網(wǎng)進(jìn)行測試,到外網(wǎng)測試是否有異常
- 3網(wǎng)絡(luò)不好活很差時(shí)提交數(shù)據(jù)是否失?。ㄓ押锰崾?anr)
- 4有網(wǎng)到無網(wǎng)在到有網(wǎng) 數(shù)據(jù)是否可以自動(dòng)恢復(fù),正常加載
-
UI 測試
- 測試范圍:所有感觀可以接觸到的
- 1:目標(biāo)是確保用戶通過界面能夠正確,快速,有效的使用軟件的各項(xiàng)功能
- 2:確保用戶界面符合公司或者行業(yè)標(biāo)準(zhǔn)(包括用戶友好性,人性化,易操作性測試)
-
測試點(diǎn):
- 1:頁面是否美觀
- 2:文字是否正確
- 3:圖片組合是否完美
- 4:菜單,對話框,窗口,控件布局
- 5:風(fēng)格是否滿足客戶需求
- 兼容性測試
- 安全測試(功能上的)
-
異常測試
- 1:多個(gè)APP應(yīng)用切換
- 2:app清空數(shù)據(jù)后強(qiáng)制退出是否可以正常運(yùn)行
- 3:長時(shí)開機(jī)開啟app,是否會有異常情況(如果是自動(dòng)登錄,是否會過期)
- 4:網(wǎng)絡(luò)切換(wife—>數(shù)據(jù)流量的提示)
-
安裝
-
1:根據(jù)軟件說明或用戶需求驗(yàn)證APP各個(gè)功能的實(shí)現(xiàn)
-
2:兼容性測試
- 1:主要測試機(jī)多測功能點(diǎn),次要測試機(jī)測基本功能覆蓋主要測試用列即可 2:主要考慮;
-
- 兼容性分類:硬件兼容,軟件兼容,不同瀏覽器的兼容(數(shù)據(jù)庫的兼容,軟硬件配合兼容),數(shù)據(jù)兼容
- 1:不同的操作系統(tǒng)兼容
- 2:軟件版本本身能否向前先后兼容
- 3:軟件能否與其他軟件兼容
- 4:數(shù)據(jù)兼容 (數(shù)據(jù)能否共享,版本更新,第三方獲取信息等)
- 5:網(wǎng)絡(luò)兼容
- 5:不同同品牌,不同分辨率,不同屏幕尺寸
-
3:測試方法
-
云測
- 1:同樣花錢
- 2:需要的手機(jī)可能沒有。有的可能不需要
- 3:有問題無法及時(shí)溝通
- 4:隨時(shí)傳,隨時(shí)測
-
手工
- 1:測試機(jī)一般租賃-手機(jī)采購周期長,使用率低
- 2:手機(jī)采購周期長,使用率低
- 3:不同設(shè)備上bug記錄,截圖,記載日志,太耗時(shí)
-
云測
-
4:兼容性作用:
- 1:進(jìn)一步提高產(chǎn)品的質(zhì)量
- 2:能使軟件與盡可能多的其他軟件‘和平共處’
- 3:盡可能的保證軟件存在的價(jià)值(兼容性越高能用到的人群也就越多)
-
3:弱網(wǎng)測試(專項(xiàng))
-
1:為什么要執(zhí)行弱網(wǎng)測試
- 1:網(wǎng)絡(luò)環(huán)境多樣復(fù)雜
- 2:很多bug都是在不穩(wěn)定的網(wǎng)絡(luò)環(huán)境下出現(xiàn)的
- 3:移動(dòng)特性:網(wǎng)絡(luò)連接協(xié)議的不同,導(dǎo)致通信信號和速度也不同,影響應(yīng)用的加載時(shí)間可用性和穩(wěn)定性
-
2:什么樣的網(wǎng)絡(luò)屬于弱網(wǎng)
- 1:低于2G;也可將3G華為弱網(wǎng)
-
3:如何進(jìn)行弱網(wǎng)測試
- 1:手機(jī)設(shè)置——移動(dòng)網(wǎng)絡(luò)設(shè)置——網(wǎng)絡(luò)類型選擇
- 2:使用虛擬機(jī)模擬網(wǎng)絡(luò)設(shè)置
- 3:使用fidderl來進(jìn)行網(wǎng)絡(luò)代理(側(cè)重于3G一下的的網(wǎng)絡(luò))
-
4:弱網(wǎng)測試的目的
- 1:圖片加載是否完整
- 2:加載時(shí)間過長是否報(bào)錯(cuò)(無響應(yīng))是否有提示
- 3:網(wǎng)絡(luò)加載時(shí)間過長是否會崩潰
-
fidder 簡介(重在實(shí)操):
- 1:流行且使用的HTTP抓包工具
- 2:以web代理的形式工作的
- 3:使用的的代理地址為 127.0.0.1 端口8888
-
4:具體使用:
-
APP:
-
如何連接手機(jī):
- 保證手機(jī)和電腦都處于同一個(gè)網(wǎng)絡(luò)
- 設(shè)置手機(jī)連接的wifi代理端口為fiddler的端口
- WIFI服務(wù)器配置成當(dāng)前主機(jī)的ip地址
fiddler主要用來做app抓包使用,做弱網(wǎng)測試?,F(xiàn)在fiddler客戶端做好各項(xiàng)配置,端口設(shè)置為8888,然后在手機(jī)上設(shè)置代理,就可以抓包了。抓包可以看到服務(wù)器返回的值(弱網(wǎng)),還能夠修改傳入?yún)?shù),傳出的參數(shù)(接口),模擬網(wǎng)絡(luò)延時(shí),去構(gòu)造不同場景。
設(shè)置網(wǎng)絡(luò)上下行延遲時(shí)間:rules——》customize rules 里設(shè)置(2G 上行500 下行400)
-
-
PC端:
- 1.打開fiddler,默認(rèn)配置,按F12直接開始抓包,或者在頂部file-> capture Traffic開始抓包(注意,在抓包之前需要確認(rèn)右下角的狀態(tài)是all processes)
- 2:file-> capture Traffic開始抓包(注意,在抓包之前需要確認(rèn)右下角的狀態(tài)是all processes)
- 3:運(yùn)行程序
- 3:返回fiddler,按F12或file-> capture Traffic結(jié)束抓包
- 4:在右邊框點(diǎn)擊filters進(jìn)行過濾,輸入網(wǎng)址后點(diǎn)擊actions運(yùn)行 抓包結(jié)束
-
APP:
-
1:為什么要執(zhí)行弱網(wǎng)測試
-
4:穩(wěn)定性測試(monkey)Android端專項(xiàng)
-
1:dos命令
- 1.MD——建立子目錄
- 2.CD——改變當(dāng)前目錄
- 3. RD——刪除子目錄命令
- 4.DIR——顯示磁盤目錄
- 5. mkdir 創(chuàng)建目錄
-
2:adb
-
1:如何連接手機(jī)
- 1、使用 abd shell 首先要配置環(huán)境變量將 sdk 的 platform-tools 目錄配置進(jìn)去(配置jdk/sdk)
-
第一種 使用USB線連接
-
1. 在手機(jī)上啟用USB調(diào)試(電腦安裝驅(qū)動(dòng))
- USB調(diào)試
- 允許位置
- 2. CMD窗口輸入adb devices,此時(shí)可以看到自己的設(shè)備。
- PS:無法看到自己設(shè)備時(shí),查看手機(jī)USB調(diào)試是否打開;
-
1. 在手機(jī)上啟用USB調(diào)試(電腦安裝驅(qū)動(dòng))
-
第二種 使用無線WiFi連接
- 修改代理端口
- 修改IP地址
-
2:adb命令簡介:
- Android debug birdige 是andriod 下面的一個(gè)調(diào)試工具
-
3:adb常用命令
- 1:adb version 查看版本信息
- 2:adb devices 獲取設(shè)備
- 3: adb shell 進(jìn)入手機(jī)環(huán)境
- 4:adb install 某某.jdk 安裝某jdk
- 5: adb uninstall 包名 卸載軟件
-
6: pm list packages 列出所有安裝的包名
- -s 系統(tǒng)自帶包
- -3 認(rèn)為安裝包
- 7:adb pull 設(shè)備路徑/本地路徑 (把手機(jī)里的東西拿出來)
- 8:adb push 本地路徑/設(shè)備路徑 (從本地復(fù)制文件到設(shè)備)
- 9:adb shell top -m 5 (查看占用手機(jī)前五的應(yīng)用)
- 10:adb shell top -n 1 刷星一次內(nèi)存信息,原后返回
- 11:adb shell chmod設(shè)置文件權(quán)限
- 12:adb shell mkdir 新建文件目錄
- 13:adb shell cat 查看文件內(nèi)容
- 14:/proc/cpuinto 此文件存放硬件信息
- 15: /proc/meminto 此文件存放內(nèi)存相關(guān)信息
-
1:如何連接手機(jī)
-
2:monkey
- 1原理:是Android中附帶的一個(gè)工具??梢赃\(yùn)行在模擬器或?qū)嶓w機(jī)設(shè)備(向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流)
- 2目的:1進(jìn)行壓力測試 2:開發(fā)人員可以結(jié)合monkey打印的日志和系統(tǒng)答應(yīng)大日志發(fā)現(xiàn)出現(xiàn)的問題
-
+ - 3:menkey選線主要分為四大類
- 1:設(shè)置設(shè)備嘗試的時(shí)間數(shù)量
- 2:約束選項(xiàng)如約束的只對單獨(dú)的一個(gè)包進(jìn)行測試
- 3:事件類型和頻率
- 4:調(diào)試選線(一些參數(shù))
-
常用參數(shù):
- -p 指定包名
- -v 日志的詳細(xì)程度(-v-v-v)
- -s send值
- - -throttle 毫秒 間隔時(shí)間
- - -ignore-security-exception 忽略安全異常
- - -ignore-timeouts 忽略超時(shí)
- - -ignore-crashes 忽略崩潰
- - -monitor-native-crashes 監(jiān)視崩潰時(shí)的本地代碼
-
打印系統(tǒng)日志:logcat
- adb logcat -v time >D:loncat.txt (這里的-V指的是打印形式)
-
關(guān)鍵字:
- 1:如果是ANR(超時(shí))問題 , 則搜索“ANR ”關(guān)鍵詞(ANR后加個(gè)空格,屏蔽掉anr.log文件的無效信息) 。 快速定位到關(guān)鍵事件信息 。
- 2:如果是ForceClosed(強(qiáng)制退出) 和其它異常退出信息,則搜索"Fatal"(致命的) 關(guān)鍵詞, 快速定位到關(guān)鍵事件信息 。
- 注:anr 無響應(yīng) / fateal 前置關(guān)閉或程序異常輸出 /
- 注:monkey開始的同時(shí)(兩個(gè)cmd窗口)開啟logcat(logcat主要記錄程序的log信息,主要產(chǎn)生的影響)
-
Android日志:traces
- 如何拿出:adb pull /data/anr/traces.txt D/log.txt(保存路徑)
- 注:traces日志記錄androi本身的日志(但發(fā)現(xiàn)logcat日志中出現(xiàn)anr或crash(閃退/強(qiáng)制退出)時(shí)提供traces日志)
-
1:dos命令
-
5:性能測試
-
+ - 關(guān)注的指標(biāo)
- 1、內(nèi)存
- 2、CPU
- 3、流量(專項(xiàng))
- 4、耗電量(專項(xiàng))
- 5、啟動(dòng)速度
- 6、滑動(dòng)速度、界面切換速度
- 7、與服務(wù)器交互的網(wǎng)絡(luò)速度
-
1:DDMS檢查性能
-
DDMS是什么:
-
全稱是Dalvik Debug Monitor Service,是 Android 開發(fā)環(huán)境中的Dalvik虛擬機(jī)調(diào)試監(jiān)控服務(wù)。通過DDMS可以看到目標(biāo)機(jī)器運(yùn)行的進(jìn)程,線路情況幫助開發(fā)和測試人員調(diào)試Andorra程序
-
-
DDMS工作原理:
-
DDMS將搭建起IDE與測試終端(Emulator或者connected device)的鏈接,他們應(yīng)用各自獨(dú)立的端口監(jiān)聽調(diào)試信息,DDMS可以實(shí)時(shí)監(jiān)測到測試終端的連接情況.當(dāng)有新的測試終端連接后,DDMS將捕捉到終端的ID,并通過adb建立調(diào)試器,從而實(shí)現(xiàn)發(fā)送指令到測試終端的目的;
-
- 1:啟動(dòng)方法:SDK目錄下took是目錄 DDMS
-
2:查看內(nèi)存信息:
- 第一步:選中要監(jiān)測的進(jìn)程
- 第二步:點(diǎn)擊左上角的show heap updates
- 第三步:右邊的VM Heap界面中點(diǎn)擊Cause GC,我理解就是手動(dòng)執(zhí)行一次GC操作
- 第四步:查看data object那一行的Total Size值,這個(gè)值代表的意思就是當(dāng)前進(jìn)程中Java對象所占用的內(nèi)存總量,通過這個(gè)值來判斷是否內(nèi)存泄露
-
判斷依據(jù):
- 1.不斷在手機(jī)上執(zhí)行一個(gè)可能存在內(nèi)存泄露的功能,如果執(zhí)行每一次Total Size的數(shù)值都在不斷的增加,則可以判斷該功能模塊可能存在內(nèi)存泄露
- 2.但是如果反復(fù)的執(zhí)行被測試的功能,該數(shù)值在一個(gè)范圍內(nèi)來回的變動(dòng)(而不是一直的變大),則可以判斷該功能正常,不存在內(nèi)存泄露的問題
-
3:log日志產(chǎn)生的異常情況(存放于data/log)
- 1,程序異常退出,uncausedexception (Fatal)
- 2,程序強(qiáng)制關(guān)閉,F(xiàn)orceClosed (簡稱FC) (Fatal
- 3,程序無響應(yīng),ApplicationNo Response(簡稱ANR)
-
anr出現(xiàn)的情況
- A 界面操作按鈕的點(diǎn)擊等待響應(yīng)時(shí)間超過5秒
- B HandleMessage回調(diào)函數(shù)執(zhí)行超過10秒,BroadcasterReciver里的onRecive()方法處理超過10秒
- C 手動(dòng)生成。
-
4:log每條信息都包含五個(gè)部分
- 1:time: 表示執(zhí)行的時(shí)間,這個(gè)信息對于學(xué)習(xí)生命周期,分析程序運(yùn)行的先后順序特別有用
- 2:標(biāo)題空白的列: 表示的log種類(信息種類)
- 3:pid 表示程序運(yùn)行時(shí)的進(jìn)程號
- 4:tag 標(biāo)簽,通常表示系統(tǒng)中的一些進(jìn)程名,比如我們運(yùn)行helloworld程序的話,就會看到activitymanager在運(yùn)行。
- 5:Message 表示進(jìn)程運(yùn)行時(shí)的一些具體信息,比如我們運(yùn)行helloworld程序的話,就會看到starting activity...helloWorld的字樣
5:log的種類形式
-
-
android.util.Log常用的方法有以下六個(gè):Log.v() Log.d() Log.i() Log.w() , Log.e()以及Log.a() (android 4.0新增加的)。根據(jù)首字母對應(yīng) VERBOSE,DEBUG,INFO,WARN,ERROR,Assert。
1、Log.v 的調(diào)試顏色為黑色的,任何消息都會輸出,這里的v代表verbose啰嗦的意思,平時(shí)使用就是Log.v("","");
2、Log.d的輸出顏色是藍(lán)色的,僅輸出debug調(diào)試的意思,但他會輸出上層的信息,過濾起來可以通過DDMS的Logcat標(biāo)簽來選擇.
3、Log.i的輸出為綠色,一般提示性的消息information,它不會輸出Log.v和Log.d的信息,但會顯示i、w和e的信息
4、Log.w的意思為橙色,可以看作為warning警告,一般需要我們注意優(yōu)化Android代碼,同時(shí)選擇它后還會輸出Log.e的信息。
5、Log.e為紅色,可以想到error錯(cuò)誤,這里僅顯示紅色的錯(cuò)誤信息,這些錯(cuò)誤就需要我們認(rèn)真的分析,查看棧的信息了。
6 Log.a為4.0新增加的。 啟動(dòng)Eclipse,打開DDMS大家可以在LogCat里看見(前提是android 4.0的ADT)5
-
-
DDMS是什么:
-
2:GT 監(jiān)測性能
-
GT隨身調(diào):
- 是APP的隨身調(diào)試平臺,他是直接安裝運(yùn)行在手機(jī)上的'集成測試環(huán)境'
-
GT功能
- 1:基礎(chǔ)性能調(diào)試
- 2:logcat日志查看與保存
- 3:網(wǎng)絡(luò)數(shù)據(jù)包抓包支持Android和android5
- 4:手機(jī)電量測試電流測試,應(yīng)用耗電評估
- 5:wakedock控制
- 6:快捷的網(wǎng)絡(luò)切換
- 7:流暢度調(diào)試插件
- 8:支持廣播的方式獲取被測性能指標(biāo),主要用來支持自動(dòng)化
-
GT內(nèi)存指標(biāo):
- PSS:實(shí)際使用的物理內(nèi)存的物理內(nèi)存;app應(yīng)用本身占用的內(nèi)存
- CPU:處理器
- NET:APP的流量指標(biāo)
- FPS:每秒傳輸?shù)膸瑪?shù)
-
使用介紹:
- 1:安裝GT.apk到手機(jī)
- 2:啟動(dòng)gt,進(jìn)入主界面
-
GT隨身調(diào):
-
+ - 關(guān)注的指標(biāo)
-
6:接口測試
-
接口測試概念:
- 接口:實(shí)體把自己提供誒外界的一種抽象化物,用以內(nèi)部系統(tǒng)操作分離出外部溝通方法,使其能夠被內(nèi)部修改而不影響外界其他實(shí)體交互的方式。
- 接口測試是測試系統(tǒng)組件間接口的一種測試。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測試的重點(diǎn)是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
-
測試的價(jià)值:
- 1:只需前后端定義好接口就可更早的介入測試,可降低成本,提高效率。
- 2:前后端架構(gòu)是分離的,前段進(jìn)行限制已經(jīng)不能滿足安全要求,需要后端同樣進(jìn)行限制在,這種情況下就需要從接口層面進(jìn)行驗(yàn)證
- 3:接口測試能夠提供系統(tǒng)復(fù)雜度上升情況下的低成本高效率的解決方案。
-
測試的分類:
- 1:系統(tǒng)與系統(tǒng)之間的調(diào)用
- 2:一個(gè)系統(tǒng)的上層對下層的調(diào)用
- 3:服務(wù)之間 的調(diào)用如添加一條數(shù)據(jù),會先調(diào)用數(shù)據(jù)查詢的服務(wù),查詢該數(shù)據(jù)是否已經(jīng)存在。
-
接口文檔:
- 1:接口名稱
- 2;:接口地址
- 3:支持格式(xml/ison)
- 4:請求方式(get/post)
- 5:請求參數(shù)(必填/選填)
- 6:返回參數(shù)(返回碼/返回信息)
-
測試流程:
- 需求評審(需求來源于接口文檔)
- 需求分析
- 幾口用例設(shè)計(jì)
- 執(zhí)行測試用例
- bug的定位于追蹤
- 注:實(shí)際工作中不走流程
-
接口用例設(shè)計(jì):
-
正常場景
- 功能是否按照接口文檔實(shí)現(xiàn)
-
異常場景(能懂得只有參數(shù))
- 參數(shù)為空
- 參數(shù)多填
- 參數(shù)少填
- 參數(shù)類型錯(cuò)誤
- 注:異常場景下是否有正確的處理邏輯和響應(yīng)提示
-
具體用例設(shè)計(jì)
-
必填參數(shù)不傳參數(shù)
- 1:必填參數(shù)全部為空
- 2:必填參數(shù)部分為空
-
必填參數(shù)傳參數(shù)
- 1:必填參數(shù)都正確
- 2:必填參數(shù)類型錯(cuò)誤
-
正向
- 1:(正向用例)覆蓋所有參數(shù)
- 2:(正向用例)覆蓋所有必填參數(shù)
- 3:任意組合可選參數(shù)
-
反向
- 1:必填參數(shù)范圍錯(cuò)誤(超過邊界)
- 2:必填基礎(chǔ)上少傳一個(gè)參數(shù)
- 3:多傳一個(gè)參數(shù)(討論)
- 4:必填參數(shù)數(shù)據(jù)類型錯(cuò)誤,數(shù)值錯(cuò)誤
- 5:與業(yè)務(wù)邏輯相關(guān)的,用戶身份為空或者錯(cuò)誤
- 6:字段的唯一性效驗(yàn)(如重復(fù)注冊),入數(shù)據(jù)字段不能重復(fù),發(fā)送一次請求查看第二次返回結(jié)果
-
必填參數(shù)不傳參數(shù)
-
正常場景
-
接口測試概念:
- 7:安全性測試 好吧!我也不懂- -
- 8:H5測試(嵌入的網(wǎng)頁)

