一: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ā)策略

  •  
  • 移動(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  

 

 

二: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ù)流量的提示)
  • 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é)束
  • 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)試是否打開;
        • 第二種  使用無線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)信息
    • 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日志)
  • 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

    • 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)入主界面
  • 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é)果
  • 7:安全性測試   好吧!我也不懂-  -
  • 8:H5測試(嵌入的網(wǎng)頁)