App測試中ios和Android的區別
App測試中ios和Android的區別
一、多解析度測試
1、手機常見解析度:
4:3
VGA 640*480 (Video Graphics Array)
QVGA 320*240 (Quarter VGA)
HVGA 480*320 (Half-size VGA)
SVGA 800*600 (Super VGA)
5:3
WVGA 800*480 (Wide VGA)
16:9
FWVGA 854*480 (Full Wide VGA)
HD 1920*1080 High Definition
QHD 960*540
720p 1280*720 標清
1080p 1920*1080 高清
手機:
iphone 4/4s 960*640 (3:2)
iphone5 1136*640
小米1 854*480(FWVGA)
小米2 1280*720
1.2 解析度對應DPI
"HVGA mdpi"
"WVGA hdpi "
"FWVGA hdpi "
"QHD hdpi "
"720P xhdpi"
"1080P xxhdpi "
2、屏幕適配的注意事項2.1 基本設置2.1.1 AndroidManifest.xml設置
在Menifest中添加子元素
android:anyDensity="true"時,應用程序安裝在不同密度的終端上時,程序會分別載入xxhdpi、xhdpi、hdpi、mdpi、ldpi文件夾中的資源。
相反,如果設為false,即使在文件夾下擁有相同資源,應用不會自動地去相應文件夾下尋找資源:
1) 如果drawable-hdpi、drawable-mdpi、drawable-ldpi三個文件夾中有同一張圖片資源的不同密度表示,那麼系統會去載入drawable_mdpi文件夾中的資源;
2) 如果drawable-hpdi中有高密度圖片,其它兩個文件夾中沒有對應圖片資源,那麼系統會去載入drawable-hdpi中的資源,其他同理;
3) 如果drawable-hdpi,drawable-mdpi中有圖片資源,drawable-ldpi中沒有,系統會載入drawable-mdpi中的資源,其他同理,使用最接近的密度級別。
2.1.2 橫屏豎屏目錄區分
1) drawable
a) drawable-hdpi該圖片即適用於橫屏,也適用於豎屏;
b) drawable-land-hdpi,當屏幕為橫屏,且為高密度時,載入此文件夾的資源;
c) drawable-port-hdpi,當屏幕為豎屏,且為高密度時,載入此文件夾中的資源。其他同理。
2) layout
在res目錄下建立layout-port和layout-land兩個目錄,裡面分別放置豎屏和橫屏兩種布局文件,以適應對橫屏豎屏自動切換。
2.2 多屏幕適配的4條黃金原則
1) 在layout文件中設置控制項尺寸時應採用fill_parent、wrap_content、match_parent和dp;
具體來說,設置view的屬性android:layout_width和android:layout_height的值時,wrap_content,match_parent或dp比px更好,文字大小應該使用sp來定義。
2) 在程序的代碼中不要出現具體的像素值,在dimens.xml中定義;
為了使代碼簡單,android內部使用pix為單位表示控制項的尺寸,但這是基於當前屏幕基礎上的。為了適應多種屏幕,android建議開發者不要使用具體的像素來表示控制項尺寸。
3) 不使用AbsoluteLayout(android1.5已廢棄) ,可以使用RelativeLayout替代;
4) 對不同的屏幕提供合適大小的圖片。
不同大小屏幕用不同大小的圖片,low:medium:high:extra-high圖片大小的比例為3:4:6:8;舉例來說,對於中等密度 (medium)的屏幕你的圖片像素大小為48×48,那麼低密度(low)屏幕的圖片大小應為36×36,高(high)的為72×72,extra- high為96×96。
2.3 使用9-patch PNG圖片
使用圖片資源時,如果出現拉伸,因為圖片處理的原因,會變形,導致界面走形。9-patch PNG圖片也是一種標準的PGN圖片,在原生PNG圖片四周空出一個像素間隔,用來標識PNG圖片中哪些部分可以拉伸、哪些不可以拉伸、背景上的邊框位置等。
「上、左」定義可拉伸區域
「右、下」定義顯示區域,如果用到完整填充的背景圖,建議不要通過android:padding來設置邊距,而是通過9-patch方式來定義。
Android SDK中提供了編輯9-Patch圖片的工具,在tools目錄下draw9patch.bat,能夠立刻看到編輯後的拉伸效果,也可以直接用其他圖片編輯工具編輯,但是看不到效果。
2.4 不同的layout
Android手機屏幕大小不一,有480x320, 640x360, 800x480……
怎樣才能讓Application自動適應不同的屏幕呢?
其實很簡單,只需要在res目錄下創建不同的layout文件夾,比如:layout-640x360、layout-800x480……所有的layout文件在編譯之後都會寫入R.java里,而系統會根據屏幕的大小自己選擇合適的layout進行使用。
2.5 測試驗證
一般使用AVD Manager創建多個不同大小的模擬器,如果條件具備,也可以直接用真機測試,這個比較靠譜。
二、升級測試:
可以被升級的必要條件:新舊版本具有相同的簽名;新舊版本具有相同的包名;有一個標示符區分新舊版本(如版本號),對於Android若有內置的應用需檢查升級之後內置文件是否匹配(如內置的輸入法)
三、安裝卸載測試:
Android的下載和安裝的平台和工具和渠道比較多,ios主要有app store,iTunes和testflight下載;
卸載:
1、用自帶的卸載程序進行正確卸載,能否卸載乾淨
2、用第三方工具進行卸載,能否卸載乾淨
3、在卸載過程中,關閉進程軟體能否繼續正常使用
4、在卸載過程中,點擊取消按鈕,能否正常退出卸載程序,軟體能否繼續正常使用
5、在卸載過程中,突然關閉移動設備,再次訪問程序,程序能否正常運行
6、在卸載過程中,突然重啟設備,再次訪問程序,程序能否正常運行
7、未在使用程序時,直接刪除安裝目錄下的文件,程序能否正常運行
8、正在使用程序時,直接刪除安裝目錄下的文件,程序能否正常運行
9、在不同的系統下,進行卸載,能否正常卸載。
10、在不同的硬體環境下,進行卸載,能否正常卸載。
11、在不同的網路環境下,進行卸載,能否正常卸載。
12、卸載成功後,是否對其他程序造成影響
13、卸載後再次安裝,一切功能是否正常
14、卸載畫面上的名稱及版本信息是否正確
安裝:
1、查看在安裝過程中存在的提示信息是否明確,意思是否明確
2、在安裝過程中,點擊取消按鈕,能否正常退出安裝程序,軟體是否可用。
3、安裝時是否識別有SD卡,並默認安裝到sd卡中
4、安裝過程中,接聽電話或者簡訊,安裝是否成功
5、安裝程序是否自動檢查系統的磁碟空間
6、系統磁碟空間不足時,能否中止安裝
7、安裝完畢後信息的顯示和文件的安裝是否正確,完整
8、在軟體安裝過程中,出現突然斷電的異常狀態時,程序處理是否正常
9、在軟體安裝過程中,出現突然斷網的異常狀態時,程序處理是否正常
10、在不同的硬體環境下,能否正確,正常,完整的進行安裝
11、在不同的網路環境下(2G/3G/wifi),能否正確,正常,完整的進行安裝
12、在低於所要求的硬體配置的情況下進行安裝,能否正確,正常,完整的進行安裝。
13、在已經安裝的情況下,所有信息與上次保存一致,覆蓋安裝能否再次安裝
14、在已經安裝的情況下,安裝路徑不一致,覆蓋安裝能否再次安裝
15、在已經安裝的情況下,卸載原軟體,安裝高版本,能否正確安裝
16、在已經安裝的情況下,卸載原軟體,安裝低版本,能否正確安裝
17、在已經安裝的情況下,不卸載原軟體,直接安裝高版本,能否正確安裝
18、在已經安裝的情況下,不卸載原軟體,直接安裝低版本,能否正確安裝
19、安裝完成後,能否正常啟動應用程序
20、安裝完成後,重啟手機能否正常啟動應用程序
21、安裝完成後,是否對其他應用程序造成影響
22、安裝完成後,能否添加快捷方式
23、安裝完成後,殺毒軟體是否會對其當做病毒處理。
24、安裝完成後,快捷方式是否指向安裝目錄
25、多進程進行安裝,是否安裝成功
26、安裝過程中,手機內存不足的情況下,能否正常安裝
四、push測試:
1、前台運行:
接送到推送後,點擊推送消息,是否能跳轉到鏈接
2、後台運行:
Android:點擊【home】或者返回鍵,使程序後台運行時,此時接收到push,點擊後喚醒應用,此時是否可以正確跳轉;
ios:屏幕鎖屏或者切換其他程序,通過紅點的顯示的提示,點擊後,時候能切換到相應的程序
3、後台殺死:
在開關機、待機狀態(程序殺死)下執行推送,消息先死及其推送跳轉的正確性;應用在開發、未打開狀態、應用啟動且在後台運行的情況下是push顯示和跳轉否正確;推送消息閱讀前後數字的變化是否正確;多條推送的合集的顯示和跳轉是否正確;
五、升級測試:
可以被升級的必要條件:新舊版本具有相同的簽名;新舊版本具有相同的包名;有一個標示符區分新舊版本(如版本號),對於Android若有內置的應用需檢查升級之後內置文件是否匹配(如內置的輸入法)
六、並發(中斷)測試:
在使用被測程序時,有其他程序被啟用,比如鬧鈴響起、來電等,是否導致被測程序閃退或者無法使用
七、數據來源的測試:
輸入,選擇、複製、語音輸入,安裝不同輸入法輸入等
八、觸屏測試:
同時觸摸不同的位置或者同時進行不同操作,查看客戶端的處理情況,是否會crash等
九、分享跳轉測試:
1、分享後的文案是否正確;
2、分享後跳轉是否正確,
3、顯示的消息來源是否正確;
TAG:松勤軟體學院 |