




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
APP測試培訓曹向志大開科技&大開測試2024/1/31各種測試類型簡介1安卓測試〔59〕2安卓常用測試命令〔76〕3自動化測試4Contents目2024/1/32錄比較點移動應用PC應用應用類型NativeApp和WebApp以及混合型Client和Web操作方式多點觸摸鼠標和鍵盤界面布局操作界面少,流程簡單操作界面復雜且流程復雜設備尺寸移動設備屏幕小,手機和平板的屏幕尺寸相差巨大,且各自屏幕大小種類繁多PC顯示屏幕大且其軟件應用也不受屏幕限制功能強調主要功能以及用戶常用功能支持全部功能設備網絡連接方式主要是2G/3G/4G/WiFi;有線方式或者WiFi應用設備限制存儲空間小,連接不穩定、帶寬較小、流量費用限制、移動互聯網上的風險等存儲空間大,帶寬相對較寬,連接一般也較穩定,各種安全軟件安裝齊全用戶使用習慣移動用戶隨時隨地就會使用移動軟件應用,強調移動性用戶一般在固定的地點使用PC應用移動應用與傳統PC應用的區別主流操作系統4AndroidAndroid一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成。生產Android手機的廠商:--臺灣:HTC--韓國:三星--中國:華為、小米、中興、酷派、魅族等IOSiOS是由蘋果公司開發的移動操作系統,最初是設計給iPhone使用的,后來陸續套用到iPoditouch、iPad以及AppleTV等產品上。最新版本:iOS_10測試分類5傳統手機測試是指測試手機本身,如抗壓、抗摔、抗疲勞、抗低溫高溫等,也包括手機本身的功能、性能等測試。手機應用軟件測試手機應用軟件是基于手機操作系統之上開發出來的軟件,做這樣的測試,就叫做手機應用軟件測試。測試與傳統測試的區別6網絡多樣化2G網絡、3G網絡、4G網絡、WIFI支持系統多樣化手機操作系統:Android、iOS、windowsPhone等。分辨率類型多樣化720*12801080*1920等軟件測試定義7軟件測試就是符合多種網絡,不同系統不同分辨率下發現軟件缺陷,并保證提高軟件質量的過程。什么是軟件測試?測試流程8接收版本UI測試:核對rp/效果圖功能測試:核對需求文檔兼容性測試、性能壓力測試
盡快申請到正式環境下測試
后臺數據統計測試
用戶行為統計測試進入正式環境,即試用行仍然為測試環境回歸測試發送上線報告主要測試策略9安裝、卸載測試UI測試功能測試性能測試交叉事件測試兼容測試升級、更新測試用戶體驗測試硬件環境測試客戶端數據庫測試安全測試安裝、卸載測試10安裝測試從不同的渠道獲取安裝程序是否正常安裝。軟件在不同操作系統下安裝是否正常。
軟件安裝后的是否能夠正常運行,安裝后的文件夾及文件是否寫到了指定的目錄里。軟件安裝各個選項的組合是否符合概要設計說明軟件安裝過程是否可以取消,點擊取消后,寫入的文件是否如概要設計說明處理軟件安裝過程中意外情況的處理是否符合需求(如死機,重啟,斷電)安裝空間不足)時是否有相應提示安裝后沒有生成多余的目錄結構和文件對于需要通過網絡驗證之類的安裝,在斷網情況下嘗試一下還需要對安裝手冊進行測試,依照安裝手冊是否能順利安裝卸載測試直接刪除安裝文件夾卸載是否有提示信息。測試系統直接卸載程序是否有提示信息。測試卸載后文件是否全部刪除所有的安裝文件夾。卸載過程中出現的意外情況的測試(如死機、斷電、重啟)。卸載是否支持取消功能,單擊取消后軟件卸載的情況系統直接卸載UI測試,是否有卸載狀態進度條提示。UI測試11測試用戶界面(如菜單、對話框、窗口和其它可規控件)布局、風格是否滿足客戶要求、文字是否正確、頁面是否美觀、文字、圖片組合是否完美、操作是否友好等。導航測試按鈕、對話框、列表和窗口等;或在不同的連接頁面之間需要導航是否易于導航,導航是否直觀是否需要搜索引擎導航幫助是否準確直觀導航與頁面結構、菜單、連接頁面的風格是否一致圖形測試橫向比較。各控件操作方式統一自適應界面設計,內容根據窗口大小自適應頁面標簽風格是否統一頁面是否美觀頁面的圖片應有其實際意義而要求整體有序美觀圖片質量要高且圖片尺寸在設計符合要求的情況下應盡量小界面整體使用的顏色不宜過多內容測試輸入框說明文字的內容與系統功能是否一致文字長度是否加以限制文字內容是否表意不明是否有錯別字信息是否為中文顯示是否有敏感性詞匯、關鍵詞是否有敏感性圖片,如:涉及版權、專利、隱私等圖片功能測試12運行APP應用的前后臺切換免登錄數據更新離線瀏覽APP更新定位、照相機服務時間測試PUSH測試App安裝完成后的試運行,可正常翻開軟件。App翻開測試,是否有加載狀態進度提示。App翻開速度測試,速度是否可觀。App頁面間的切換是否流暢,邏輯是否正確注冊登錄注銷APP切換到后臺,再回到app,檢查是否停留在上一次操作界面。APP切換到后臺,再回到app,檢查功能及應用狀態是否正常,app切換到后臺,再回到前臺時,注意程序是否崩潰,功能狀態是否正常。鎖屏解屏后進入app注意是否會崩潰,功能狀態是否正常。
當App使用過程中有進來中斷后再切換到app,功能狀態是否正常當殺掉app進程后,再開啟app,app能否正常啟動。出現必須處理的提示框后,切換到后臺,再切換回來,檢查提示框是否還存在,有時候會出現應用自動跳過提示框的缺陷。對于有數據交換的頁面,每個頁面都必需要進行前后臺切換、鎖屏的測試,這種頁面最容易出現崩潰。很多應用提供免登錄功能,當應用開啟時自動以上一次登錄的用戶身份來使用app。
app有免登錄功能時,需要考慮版本差異。
考慮無網絡情況時能否正常進入免登錄狀態。切換用戶登錄后,要校驗用戶登錄信息及數據內容是否相應更新,確保原用戶退出。根據現有規那么,一個帳戶只允許登錄一臺機器。所以,需要檢查一個帳戶登錄多臺的情況。原里的用戶需要被踢出,給出友好提示。app切換到后臺,再切回前臺的校驗切換到后臺,再切換回前臺的測試
密碼更換后,檢查有數據交換時是否進行了有效身份的校驗
支持自動登錄的應用在進行數據交換時,檢查系統是否能自動登錄成功并且數據操作無誤。檢查用戶主動退出登錄后,下次啟動app,應停留在登錄界面需要確定哪些地方需要提供手動刷新,哪些地方需要自動刷新,哪些地方需要手動+自動刷新。
確定哪些地方從后臺切換回前臺時需要進行數據更新。
根據業務、速度及流量的合理分配,確定哪些內容需要實時更新,哪些需要定時更新。
確定數據展示局部的處理邏輯,是每次從效勞端請求,還是有緩存到本地,這樣才能有針對性的進行相應測試。
檢查有數據交換的地方,均有相應的異常處理很多應用會支持離線瀏覽,即在本地客戶端會緩存一局部數據供用戶查看。
在無網絡情況可以瀏覽本地數據
退出app再開啟app時能正常瀏覽切換到后臺再切回前臺可以正常瀏覽鎖屏后再解屏回到應用前臺可以正常瀏覽在對效勞端的數據有更新時會給予離線的相應提示
當客戶端有新版本時,有更新提示。當版本為非強制升級版時,用戶可以取消更新,老版本能正常使用。用戶在下次啟動app時,仍能出現更新提示。當版本為強制升級版時,當給出強制更新后用戶沒有做更新時,退出客戶端。下次啟動app時,仍出現強制升級提示。當客戶端有新版本時,在本地不刪除客戶端的情況下,直接更新檢查是否能正常更新。當客戶端有新版本時,在本地不刪除客戶端的情況下,檢查更新后的客戶端功能是否是新版本。當客戶端有新版本時,在本地不刪除客戶端的情況下,檢查資源同名文件如圖片是否能正常更新成最新版本。如果以上無法更新成功的,也都屬于缺陷
App有用到相機,定位效勞時,需要注意系統版本差異
有用到定位效勞、照相機效勞的地方,需要進行前后臺的切換測試,檢查應用是否正常。
當定位效勞沒有開啟時,使用定位效勞,會友好性彈出是否允許設置定位提示。當確定允許開啟定位時,能自動跳轉到定位設置中開啟定位效勞。
測試定位、照相機效勞時,需要采用真機進行測試
客戶端可以自行設置的時區、時間,因此需要校驗該設置對app的影響。--中國為東8區,所以當設置的時間非東8區時,查看需要顯示時間的地方,時間是否展示正確,應用功能是否正常。時間一般需要根據效勞器時間再轉換成客戶端對應的時區來展示,這樣的用戶體驗比較好。比方發表一篇微博在效勞端記錄的是10:00,此時,華盛頓時間為22:00,客戶端去瀏覽時,如果設置的是華盛頓時間,那么顯示的發表時間即為22:00,當時間設回東8區時間時,再查看那么顯示為10:00。
檢查push消息是否按照指定的業務規那么發送
檢查不接受推送消息時,檢查用戶不會再接收到push.
如果用戶設置了免打攪的時間段,檢查在免打攪時間段內,用戶接收不到PUSH。在非免打攪時間段,用戶能正常收到push。
當push消息是針對登錄用戶的時候,需要檢查收到的push與用戶身份是否相符,沒有錯誤地將其它人的消息推送過來。一般情況下,只對上最后一個登錄用戶進行消息推送。
測試push時,需要采用真機進行測試。
性能測試13極限測試在各種邊界壓力情況下,如電池、存儲、網速等,驗證App是否能正確響應--內存滿時安裝App
;--運行App時斷電;--運行App時斷掉網絡。
響應能力測試測試App中的各類操作是否滿足用戶響應時間要求--App安裝、卸載的響應時間;--App各類功能性操作的影響時間。壓力測試反復長期操作下、系統資源是否占用異常--APP反復進行安裝、卸載,查看系統資源是否正常;--其他功能反復進行操作,查看系統資源是否正常性能評估:評估典型用戶應用場景下,系統資源的使用情況基線測試與競爭產品的Benchmarking,產品演變比照測試等設定性能基準交叉事件測試14交叉測試又叫事件或沖突測試,是指一個功能正在執行過程中,同時另外一個事件或操作對該過程進行干擾的測試。
如:App在前/后臺運行狀態時與來電、文件下載、音樂收聽等關鍵運用的交互情況測試等。交叉事件測試非常重要,能發現很多應用中潛在的性能問題。
測試要點1、多個App同時運行是否影響正常功能2、App運行時前/后臺切換是否影響正常功能3、App運行時撥打/接聽電話4、App運行時發送/接收信息5、App運行時發送/收取郵件
6、App運行時切換網絡(2G、3G、4G、WIFI)7、App運行時瀏覽網絡
8、App運行時使用藍牙傳送/接收數據
9、App運行時使用相機、計算器等手機自帶設備兼容性測試15與本地及主流App兼容不同操作系統兼容不同手機品牌兼容不同屏幕分辨率兼容不同網絡兼容升級、更新測試16新版本發布后,配合不同網絡環境的自動更新提示及下載、安裝、更新、啟動、運行的驗證測試升級更新1、測試升級后的功能是否與需求說明一樣2、測試與升級模塊相關的模塊的功能是否與需求一致3、升級安裝意外情況的測試(升級安裝意外情況的測試(如死機、斷電、重啟))4、升級界面的UI測試5、不同操作系統間的升級測試用戶體驗測試以主觀的普通消費者的角度去感知產品或效勞的舒適、有用、易用、友好親切程度。通過不同個體、獨立空間和非經驗的統計復用方式去有效評價產品的體驗特性提出修改意見提升產品的潛在客戶滿意度。17是否有空數據界面設計,引導用戶去執行操作。是否濫用用戶引導。是否有不可點擊的效果。菜單層次是否太深交互流程分支是否太多相關的選項是否離得很遠一次是否載入太多的數據界面中按鈕可點擊范圍是否適中標簽頁是否跟內容沒有從屬關系,當切換標簽的時候,內容跟著切換操作應該有主次從屬關系是否定義Back的邏輯。涉及軟硬件交互時,Back鍵應具體定義是否有橫屏模式的設計,應用一般需要支持橫屏模式,即自適應設計硬件環境測試18手勢操作測試手機開鎖屏對運行中的App的影響切換網絡對運行中的App的影響運行中的App前后臺切換的影響多個運行中的App的切換App運行時關機App運行時重啟系統App運行時充電App運行時kill掉進程再打開網絡環境測試無網絡時,執行需要網絡的操作,給予友好提示,確保程序不出現崩潰。內網測試時,要注意選擇到外網操作時的異常情況處理。在網絡信號不好時,檢查功能狀態是否正常,確保不因提交數據失敗而造成崩潰。在網絡信號不好時,檢查數據是否會一直處于提交中的狀態,有無超時限制。如遇數據交換失敗時要給予提示。在網絡信號不好時,執行操作后,在回調沒有完成的情況下,退出本頁面或者執行其他操作的情況,有無異常情況。此問題也會經常出現程序。后臺服務牽涉到DNS、空間服務商的情況下會影響其穩定性接口測試效勞端一般會提供JSON格式的數據給客戶端,所以我們在效勞端需要進行接口測試,確保效勞端提供的接口并轉換的JSON內容正確,對分支、異常流有相應的返回值。此塊測試可以采用itest框架進行測試。最方便的是采用client進行接口測試。
進行效勞端測試時,需要開發提供一份接口文檔19(JavaScriptObjectNotation)是一種輕量級的數據交換格Itest測試框架是TaoBao測試部門開發的一套單元測試框架HttpClient是ApacheJakartaCommon下的子工程,可以用來提供高效的、最新的、功能豐富的支持HTTP協議的客戶端編程工具包,并且它支持HTTP協議最新的版本和建議。客戶端數據庫測試20一般的增、刪、改、查測試。在業務需要從效勞端取回數據保存到客戶端的時候,客戶端能否將數據保存到本地當表不存在時是否能自動創立,當數據庫表被刪除后能否再自建,數據是否還能自動從效勞端中獲取回來并保存。當業務對數據進行了修改、刪除后,客戶端和效勞端是否會有相應的更新。當業務需要從客戶端取數據時,檢查客戶端數據存在時,app數據是否能自動從客戶端數據中取出,還是仍然會從效勞器端獲取?檢查客戶端數據不存在時,app數據能否自動從效勞器端獲取到并保存到客戶端
平安測試21安全測試軟件權限安全性人機接口安全性通訊安全性數據安全性安裝與卸載安全性扣費風險:包括發送短信、撥打、連接網絡等隱私泄露風險:包括訪問信息、訪問聯系人信息等對App的輸入有效性校驗、認證、授權、敏感數據存儲、數據加密等方面進行檢測限制/允許使用功能接入互聯網允許使用發送接受信息功能
限制/允許應用程序來注冊自動啟動應用程序限制或使用本地連接限制/允許使用拍照或錄音限制/允許使用讀取用戶數據限制/允許使用寫人用戶數據檢測App的用戶授權級別、數據泄漏、非法授權訪問等應用程序應能正確安裝到設備驅動程序上能夠在安裝設備驅動程序上找到應用程序的相應圖標是否包含數字簽名信息JAD文件和JAR包中包含的所有托管屬性及其值必需是正確的JAD文件顯示的資料內容與應用程序顯示的資料內容應一致安裝路徑應能指定沒有用戶的允許,
應用程序不能預先設定自動啟動卸載是否平安,
其安裝進去的文件是否全部卸載卸載用戶使用過程中產生的文件是否有提示其修改的配置信息是否復原卸載是否影響其他軟件的功能卸載應該移除所有的文件當將密碼或其他的敏感數據輸入到應用程序時其不會被儲存在設備中,同時密碼也不會被解碼輸人的密碼將不以明文形式進行顯示密碼、信用卡明細、或其他的敏感數據將不被儲存在它們預輸入的位置上不同的應用程序的個人身份證或密碼長度必需至少在4-8個數字長度之間當應用程序處理敏感數據時,不以明文形式將數據寫到其它單獨的文件或者臨時文件中。以防止應用程序異常終止而又沒有刪除它的臨時文件,文件可能遭受入侵者的襲擊,然后讀取這些數據信息。
備份應該加密,恢復數據應考慮恢復過程的異常通訊中斷等,數據恢復后再使用前應該經過校驗應用程序應考慮系統或者虛擬機器產生的用戶提示信息或平安警告
在數據刪除之前,應用程序應當通知用戶或者應用程序提供一個“取消〞命令的操作,“取消〞命令操作能夠按照設計要求實現其功能應用程序應當能夠處理當不允許應用軟件連接到個人信息管理的情況
在沒有用戶明確許可的前提下不損壞、刪除個人信息管理應用程序中的任何內容如果數據庫中重要的數據正要被重寫,
應及時告知用戶在運行其軟件過程中,
如果有來電、SMS、EMS、MMS、藍牙、紅外等通訊或充電時,是否能暫停程序,優先處理通信,并在處理完畢后能正常恢復軟件,繼續其原來的功能當創立連接時,應用程序能夠處理因為網絡連接中斷,進而告訴用戶連接中斷的情況應能處理通訊延時或中斷應用程序將保持工作到通訊超時,進而發送給用戶一個錯誤信息指示有連接錯誤返回菜單總保持可用聲音的設置不影響應用程序的功能應用程序必需能夠處理不可預知的用戶操作,例如錯誤的操作和同時按下多個鍵功能測試
功能測試主要是程序邏輯及相關業務點測試。一、應充分考慮各種邊緣情況,邊界狀態。二、應多站在用戶的角度考慮程序的設計是否合理,是否充分滿足用戶的需求。22適配測試-1
機型適配:蘋果的機型:iphone、iPodTouch和iPad,Iphone:iphone3G/3GS/4/4s/5/5s/5c/6/6S,iPodTouch:Touch1/2/3/4/5/6,iPad:iPad1/2/ThenewiPad/4/Mini/iPadAir。機型適配重點在于硬件設備的分辨率和硬件資源等。例如,如果app沒有強依賴某個硬件資源,那么機型適配主要考慮分辨率,反之,app強依依賴某個硬件資源,如攝像頭〔對焦〕、GPS定位、陀螺儀等,那么需要根據具體設備來適配。23適配測試-2
固件適配〔1〕不同設備所能夠安裝的系統范圍不同;〔2〕不同系統呈現不同特性;目前主流的固件適配主要包括,固件適配需要結合不同系統所具有特性來進行,但最終都是保證app在支持的固件上正常工作。通常,蘋果發布的一般都是當前最新的系統,因此,對于iphone5s,其固件只有7.x,依此類推,iphone4s通常不存在4.x的系統〔不考慮降級因素〕,機型適配和固件適配需要綜合考慮。固件范圍通常可選擇>=4.3。24適配測試-3
屏幕尺寸、分辨率適配通常iphone的機型適配可選三款來進行,iphone3GS\4\5或iphone3GS\4s\5。如果app使用了攝像頭,還需要考慮不同像素、對焦因素的機型以及是否支持閃光燈〔3GS\touch\ipad均不支持〕。各機型具體參數詳見下表,適配時根據具體app來決定適配范圍。252024/1/326IC卡屬性讀取作為:一名中銀易商注冊用戶、游客我想要:使用帶有NFC功能的手機掃金融IC卡以便于:讀取IC卡信息驗收條件:功能性:1、用戶的金融IC卡能夠被正確識別。2、識別卡類型:借記B卡,貸記B卡,準貸記B卡、借記C卡、貸記C卡、澳門卡2024/1/327IC卡補登圈存作為:一名中銀易商注冊用戶我想要:使用帶有NFC功能的手機掃金融IC卡以便于:無需去柜臺就能對我的IC芯片卡做補登充值操作驗收條件:功能性:1.用戶的金融IC卡能夠被正確識別。2.用戶能夠補登圈存。3.用戶在補登成功后能正確顯示電子現金賬戶余額。4.沖正后補登賬戶能正確退款。2024/1/328IC卡指定賬戶圈存作為:一名中銀易商注冊用戶我想要:使用帶有NFC功能的手機掃金融IC卡以便于:無需去柜臺就能對我的IC芯片卡做指定賬戶充值操作驗收條件:功能性:1.用戶的金融IC卡能夠被正確識別。2.用戶能夠補登或圈存。3.用戶在指定賬戶圈存成功后能正確顯示電子現金賬戶余額。4.沖正后主賬號或補登賬戶能正確退款。2024/1/329IC卡圈存沖正交易作為:一名中銀易商注冊用戶我想要:使用帶有NFC功能的手機掃金融IC卡以便于:金額能正確退款到主賬戶或補登賬戶驗收條件:功能性:1、沖正后主賬號或補登賬戶能正確退款。2、發送退款時有通知信息。靜態分析-1
靜態分析是指對開發的代碼執行靜態代碼掃描,從而發現代碼中存在邏輯、內存等缺陷。靜態分析可以通過Xcode或外部插件掃描來實現。通過xcode的Product>>Analyze來掃描,如以下圖所示。30靜態分析-2
通常,可以掃描出以下四種類型缺陷:<1>邏輯缺陷,如訪問未初始化的變量或對空指針的引用等;<2>多余的變量,該類變量定義后,永遠不會被訪問;<3>內存管理缺陷,一般為內存泄露;<4>API使用缺陷,由于未遵循使用的框架或類庫相關標準造成的;31靜態分析-3
例如:a.多余變量,代碼中的statusCode僅作簡單賦值操作,屬于多余變量;b.內存泄露,newString對象未被釋放,發生內存泄露;32靜態分析-4
一般情況下,靜態分析中以下三種類型的提示較為嚴重,可能引起嚴重問題:<1>內存泄漏隱患提示:PotentialLeakofanobjectallocatedonline……<2>數據賦值隱患提示:Theleftoperandof……isagarbagevalue;<3>對象引用隱患提示:Reference-Countedobjectisusedafteritisreleased;33網絡測試-1
網絡根據網速可分為網絡良好、弱網絡、無網絡三種情況。此項測試主要考慮弱網絡和無網絡,測試前需要充分了解頁面在什么情況向效勞端作請求,從而作相應的測試。無網絡測試,需要在頁面作請求前關閉移動設備網絡,觀察程序是否作友好提示。弱網絡測試要復雜得多,存在以下三種類型:〔1〕頁面等待請求數據,數據返回后,頁面呈現是否正常;〔2〕頁面在發出請求后,離開該頁面,數據返回后,程序是否正常處理,是否會發生crash;〔3〕頁面等待請求數據,造成超時,頁面是否作友好提示;34網絡測試-2
弱網絡可通過真機或模擬器來實現。真機可以綁定至指定的效勞器,作適當延時,來模擬弱網絡環境。綁定有以下兩種方式:<1>越獄可通過修改etc目錄下的hosts來實現,具體操作可參見測試工具iFile的使用說明;<2>任何都可通過wifi綁定至指定端口的代理效勞器。模擬器可通過networklinkcondition工具來模擬各種網絡情況,設置上傳和下載的帶寬、丟包率、延時等,以下給出弱網絡建議參數,測試時可根據實際情況來決定。35網絡測試-3
網絡超時可通過以下方式來實現,根據實際需要來選擇:<1>綁定未知效勞器,構成網絡超時,適用所有類型;<2>對某類域名作host綁定,適用越獄機器;<3>綁定代理效勞器,延時某個請求的時間;<4>修改程序代碼,改變某個請求的鏈接。實際應用場景中,還需要考慮網絡之間的切換,具體切換類型見下表。有網絡->無網絡無網絡->有網絡3G->4G4G->3G3G->wifiWifi->3G4G->wifiWifi->4G36低內存警告測試-1
系統的內存警告分為四種,定義如下:typedefenum{OSMemoryNotificationLevelAny=-1,OSMemoryNotificationLevelNormal=0,OSMemoryNotificationLevelWarning=1,OSMemoryNotificationLevelUrgent=2,OSMemoryNotificationLevelCritical=3}OSMemoryNotificationLevel;iOS的低內存警告是系統在低內存下向程序發出的友好提示,程序通常會先調用AppDelegate中的applicationDidReceiveMemoryWarning,接著通知各ViewController,調用相應的didRecieveMemoryWarning方法,此時程序應當在該方法中釋放不必要的資源,否那么在必要的時候,系統將強制回收資源,程序退出。37低內存警告測試-2
低內存警告測試一般在模擬器上測試測試步驟:〔1〕在xcode上安裝各固件的模擬器。Xcode->Preferences->Downloads/Components,安裝各模擬器,安裝完成后,可以在xcode的scheme上看到相應的模擬器,如以下圖所示。38低內存警告測試-3
〔2〕選擇要測試的固件類型,將程序安裝至相應的模擬器。39低內存警告測試-4
〔3〕在程序任意頁面,執行模擬器菜單的硬件->模擬內存警告〔見以下圖〕,觀察頁面顯示操作是否正常,返回上一級頁面是否正常。40操作類型測試-1
操作類型測試,應根據自身app的應用場景來進行,比方對于有攝像頭的app,應根據使用場景來決定掃描、拍攝角度等;對于支持橫豎屏的場景,要考慮橫豎切換的情況。下表給出了操作類型測試要點。41系統相關測試-1
系統相關測試主要考慮iOS系統環境變化對app的影響,包括系統中斷、系統時間、系統資源、軟件沖突等。具體細節點校驗點見下表。42系統相關測試-2
系統相關測試主要通過真機來進行,但模擬器也提供了局部功能,如展現呼叫狀態、模擬硬件鍵盤等,參見以下圖。43內存泄露測試-1
1)MRR<1>誰創立,誰釋放:如果對象使用alloc、new、copy或mutableCopy等方法創立,那么必須調用release或autorelease方法釋放內存,否那么內存泄露;<2>誰retain,誰釋放:給對象發送retain消息后,那么擁有了這個對象,引用計數+1,當不需要使用該對象時,發送release或autorelease消息放棄這個對象;<3>沒創立且沒retain,別釋放:不要釋放不是自己alloc或retain的對象,否那么程序會crash;44內存泄露測試-2
2〕ARC技術是隨著xcode4.2一起發布的,在工程BuildSettings中指定中指定是否支持ARC技術,如以下圖所示。ARC使得程序員不需要思考何時使用retain,release,autorelease,它提供了自動評估內存生存期的功能,同時在編譯期間自動參加適宜的管理內存的方法。45內存泄露測試-3
內存泄露現象<1>程序對象使用完畢后未釋放,此類問題根本可以通過靜態分析發現;<2>對象循環引用,如以下圖所示。<3>autoReleasePool使用不當。46內存泄露測試-4
用Instruments解決內存泄露從Leopard開始,蘋果在XCode系列開發工具中增加了一個新的功能強大的性能調試工具,叫做Instruments。Instruments是一個非常具有新意的調試工具,如果你使用過iLife中非常簡單易用的音樂創作工具GarageBand,你會發現這兩者的界面非常類似。能夠把開發工具的UI做成像音樂創作軟件的形式,可能也只有蘋果能夠想到了。47內存泄露測試-5
直接在XCode中調用Instruments。具體操作方法是在XCode里翻開demo工程,或者是你自己的工程〔需要先編譯一下〕,然后在菜單中選擇Run->StartWithPerformanceTool->Leaks。48內存泄露測試-6
49適配測試-1
機型適配:蘋果的機型:iphone、iPodTouch和iPad,Iphone:iphone3G/3GS/4/4s/5/5s/5c/6/6S,iPodTouch:Touch1/2/3/4/5/6,iPad:iPad1/2/ThenewiPad/4/Mini/iPadAir。機型適配重點在于硬件設備的分辨率和硬件資源等。例如,如果app沒有強依賴某個硬件資源,那么機型適配主要考慮分辨率,反之,app強依依賴某個硬件資源,如攝像頭〔對焦〕、GPS定位、陀螺儀等,那么需要根據具體設備來適配。50適配測試-2
固件適配〔1〕不同設備所能夠安裝的系統范圍不同;〔2〕不同系統呈現不同特性;目前主流的固件適配主要包括,固件適配需要結合不同系統所具有特性來進行,但最終都是保證app在支持的固件上正常工作。通常,蘋果發布的一般都是當前最新的系統,因此,對于iphone5s,其固件只有7.x,依此類推,iphone4s通常不存在4.x的系統〔不考慮降級因素〕,機型適配和固件適配需要綜合考慮。固件范圍通常可選擇>=4.3。51適配測試-3
屏幕尺寸、分辨率適配通常iphone的機型適配可選三款來進行,iphone3GS\4\5或iphone3GS\4s\5。如果app使用了攝像頭,還需要考慮不同像素、對焦因素的機型以及是否支持閃光燈〔3GS\touch\ipad均不支持〕。各機型具體參數詳見下表,適配時根據具體app來決定適配范圍。52適配測試-4
53適配測試-5
相關特性:Iphone5產品特性:重力感應、距離感應、光線感應、加速傳感、電子羅盤、3D加速、陀螺儀Iphone4s產品特性:重力感應、距離感應、光線感應、加速傳感、電子羅盤、3D加速、陀螺儀Iphone4產品特性:重力感應、距離感應、光線感應、加速傳感、電子羅盤、3D加速Iphone3GS產品特性:電子羅盤、3D加速IPodTouch5產品特性:重力感應、3D加速IPodTouch4產品特性:方向感應、光線感應iPadMini產品特性:重力感應、光線感應、陀螺儀iPad4產品特性:方向感應、光線感應、距離感應IPad3產品特性:重力感應、光線感應、陀螺儀iPad2產品特性:方向感應、光線感應、距離感應54適配測試-6
其他適配細節點,以下僅供參考:〔1〕系統某些函數僅支持5.0以上的系統,如果開發誤用某些方法,未針對系統固件作處理,那么,4.3的固件會存在問題,適配時需要注意;〔2〕6.x系統在低內存警告上,內存釋放有別于其他固件,需要特殊處理,需要考慮結合低內存警告來適配;〔3〕如果app在UI上使用自己的閃光燈按鈕,需要對無閃光燈進行特殊處理;〔4〕使用xib可以大大減少UI設計的工作量,在5.0固件以后,引入了StoryBoard,如果程序在設計中使用StoryBoard實現跳轉邏輯,那么對于5.0以下的固件會存在適配問題,同樣,6.0固件中參加了AutoLayout,對于6.0以下固件都會產生影響;
55適配測試-7
〔5〕程序中的動畫,需要特別關注在各個適配的固件上是否一致;〔6〕系統根據工程是否包含資源圖片來判斷是否支持4英寸屏幕,其他資源需要使用代碼對屏幕檢測來分別適配,因此適配時需關注各資源是否支持iphone5;〔7〕6.0固件在通訊錄訪問時,需要經過用戶同意后才有獲取通訊錄列表,因此,如果app使用通信錄,需要考慮6.0固件是否正常,在用戶未授權的情況下給出友好的提示。〔8〕對無滾動欄的頁面,在4英寸〔iphone5〕的屏幕上能正常顯示,需要考慮3.5英寸上是否也能正常顯示、操作等,而對于有滾動欄的頁面,需要考慮頁面底局部別在3.5/4英寸屏幕上是否能正常顯示;56發布測試
發布測試主要指代碼凍結后,使用發布版本進行回歸測試,包括功能回歸測試、查看log是否關閉、push消息是否能夠正常接收。由于發布版本使用發布證書打包,因此僅支持越獄安裝。此項測試主要包括以下四點:〔1〕功能回歸測試;〔2〕檢測程序log是否完全關閉;〔3〕確認push功能是否正常;〔4〕覆蓋安裝測試:選擇當前主流版本,進行覆蓋安裝,確認程序是否正常;57建議測試流程-1
測試方案>>測試設計>>TC編寫>>執行測試>>線上監控一個iOS的應用需要測試的緯度包括根本的功能測試、代碼靜態分析、弱網絡測試、低內存警告測試、操作類型測試、系統中斷測試、內存泄露測試、適配測試、發布測試。這些緯度在測試過程中,均須被執行到,但在測試過程中,開發不斷地fixbug,同時也會引入新的bug,如何更有效合理的執行這些緯度測試?58建議測試流程-2
1〕第一輪測試:功能冒煙+代碼靜態分析>>詳細功能測試+操作類型測試>>弱網絡測試〔包括無網絡〕>>低內存警告測試>>內存泄露測試>>UI適配測試>>系統中斷測試。《1》從開發開始提測,以最快的速度執行全面的冒煙測試,同時進行代碼靜態分析,遇到嚴重問題及時聯系開發解決;《2》接下來,根本冒煙通過后,開始執行TC,即詳細的功能測試,在功能測試過程中主要以黑盒測試為主,同時執行操作類型測試,如快速點擊、多指操作、快速滑動等;《3》功能測試過程中,假設發現大量bug,在開發fixbug過程中,快速執行弱網絡+低內存警59建議測試流程-3
〔2〕第二輪測試:功能測試〔驗證bugfix〕>>iOS操作系統適配>>弱網絡測試>>低內存警告〔頁面交叉測試〕>>內存泄露測試。第二輪測試,主要為了發現深層次的bug,除了驗證bugfix外,還需要執行以下測試:《1》iOS的操作系統適配,目前主要包括4.x,5.x,6.x,7.x;《2》弱網絡測試,主要關注包含網絡請求的頁面,需要特別注意執行網絡請求未返回時,再次請求或頁面切換等情況;《3》低內存警告,主要根據程序內的controller來執行,關注controller之間的切換,觀察程序內資源釋放是否合理,是否存在頁面邏輯異常;《4》內存泄露,使用系統leak及alloction模板,觀察程序是否存在內存泄露,此局部可以同步驟《2》《3》一起執行;第二輪測試完成標準是完成以上測試,盡可能多的進行白盒測試,到達凍結代碼的要求,如此才能進入最后的發布前測試;60建議測試流程-4
〔3〕發布前測試:代碼靜態分析>>功能回歸>>適配回歸>>弱網絡回歸>>FreeTest...>>發布包測試〔關閉log等〕。最后的發布前測試,再次執行代碼靜態分析,查看是否存在內存泄露、無關變量等,全面回歸,如果不是非常嚴重的問題,均可考慮later到下一版本來解決,如果某個bug非改不可,要盡可能評估可能影響的點,查看開發的代碼改動點,分析是否引入新的問題,再次進行回歸;發布前,需要用越獄的機器安裝發布包,進行最后的測試,包括日志是否全部關閉、push消息是否正常、對目前的主流版本進行覆蓋安裝是否正常、新增加的功能點是否正常等。另外需要對當前的發布版本進行備份,最好打三個包:線上、預發、日常,方便出現問題后,快速排查及以后回歸使用等。〔4〕線上監測,主要收集發布后的用戶反響,有無異常情況,排查問題,統計分析等。61安卓測試Android編譯環境安裝Android常用測試命令Android數字簽名Android數據抓包APK應用程序運行日志跟蹤Android編譯環境安裝步驟:1、組件安裝2、ADT安裝3、SDK升級4、AVD創立5、啟動模擬器組件安裝1、安裝JDK(JavaDevelopmentKit,即Java開發工具包)
下載解壓后,勿忘添加環境變量:Path=E:\ProgramFiles\jdk1.6.0_13\binCLASSPATH=E:\ProgramFiles\jdk1.6.0_13\jre\lib\*.jar;.;組件安裝2、安裝SDK〔SoftwareDevelopmentKit,即軟件開發工具包〕下載解壓后,勿忘添加環境變量:Path=E:\ProgramFiles\android-sdk-windows\tools組件安裝3、安裝Eclipse(一個開放源代碼的、基于Java的可擴展開發平臺
)直接下載解壓ADT安裝1、啟動eclipse,點擊圖標ADT(AndroidDevelopmentTools,即Android開發工具集)Plug-inADT安裝2、進入eclipse,依次選擇“Help〞—“InstallNewSoftWare〞ADT安裝3、彈出安裝對話框,點擊“Add〞,于彈出對話框中Name項輸入“ADT〞,Location項輸入“〞,點擊“OK〞ADT安裝4、勾選“AndroidDevelopmentTools〞,依次點擊“Next〞、“Finish〞,安裝完成后重啟eclipseADT安裝5、依次選擇“Window〞—“Pref
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版語文五年級上冊教學評價計劃
- 2025年數學課堂互動教學計劃
- 國際學校學生服裝供應及實施計劃
- 小學心理健康教育信息化教學計劃
- 自身輸血-術中紅細胞應用的臨床優化與效果評估-洞察闡釋
- 房地產稅改革與銷售策略創新-洞察闡釋
- 車輛贈與及所有權轉移合同范本
- 八年級上學期班主任心理輔導計劃
- 車位使用權轉讓登記手續補充協議范本
- 復雜網絡的動態演化與行為分析-洞察闡釋
- 2025屆天津市和平區第二十中學數學八下期末復習檢測模擬試題含解析
- 政府委托經營協議書
- 江蘇省南通市通州區、如東縣2025屆九年級下學期中考一模化學試卷(含答案)
- (高清版)DG∕TJ 08-2243-2017 市屬高校建筑規劃面積標準
- 良渚文化課件
- 股權無償劃轉協議書
- 食品配送服務質量保障措施
- (統編2024版)七下語文期末專題總復習課件(共6個專題)新教材
- 用人施工合同協議書
- 職業技術學院現代通信技術專業人才培養方案(2024版)
- 藝考調式分析試題及答案
評論
0/150
提交評論