APP 兼容性測試維度包含:新舊版本兼容測試、不同機(jī)型測試(系統(tǒng)兼容性、屏幕兼容性、分辨率兼容、尺寸兼容)、不同網(wǎng)絡(luò)兼容,具體如下:
創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,先為朝天等服務(wù)建站,朝天等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為朝天企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
一、新舊版本兼容性測試
1、新舊版本覆蓋安裝升級正常
2、新增功能,新舊版本覆蓋安裝后使用正常
二、不同機(jī)型測試
1.系統(tǒng)兼容性
(1)iOS 系統(tǒng):iOS11.x、iOS12.x、iOS13.x、iOS14.x
(2)Android 系統(tǒng):Android5.x、Android6.x、Android7.x、Android8.x、Android9.x、Android10.x、Android11.x
2.屏幕兼容性
iOS:
(1)劉海屏:例如:iPhone x、iPhone xs 、iPhone XR、iPhone 11、iPhone 11 Pro、iPhone 11 pro max、iPhone 12、iPhone 12 pro、iPhone 12 pro max、iPhone 12 mini
(2)非劉海屏:例如:iPhone 8、iPhone 8 plus、iPhone 7、iPhone 7 plus、iPhone 6、iPhone 6s、iPhone 6s plus、iPhone 5s
Android:
(1)全面屏:例如:華為 P30、紅米 K30 至尊紀(jì)念版、榮耀 X10、vivo APEX 2020 等
(2)非全面屏:例如:華為 P10、華為 P10 plus、榮耀 8 等
(3)曲面屏:例如:三星 Galaxy S10+、三星 Galaxy Note 10+ 5G、華為 Mate30 Pro、華為 P30 Pro、vivo NEX3 等
(4)折疊屏:例如:華為 Mate XS 5G、華為 mate X2、三星 Galaxy Z Fold2 5G、三星 Galaxy W21 5G
3.分辨率兼容性
iOS
(1)1080*2340 :iPhone 12 mini
(2)1284*2778:iPhone 12 pro max
(3)1170*2532:iPhone 12 、iPhone 12 pro
(4)750*1334:iPhone SE 2、iPhone 7、iPhone 8、iPhone 6、iPhone 6s
(5)1242*2688:iPhone 11 pro max、iPhone XS Max
(6)1125*2438:iPhone 11 pro
(7)828*1792:iPhone 11、iPhone XR
(8)1125*2436:iPhone XS、iPhone X
(9)1242*2208:iPhone 8 plus、iPhone 7 plus、iPhone 6s plus
(10)640*1136:iPhone 5s
(11)iOS 系統(tǒng)自帶的顯示模式:標(biāo)準(zhǔn)模式、放大模式
Android
(1)1440*3200:小米 11
(2)1344*2772:華為 mate 40 Pro
(3)1080*2400:一加 8T、vivo S7、OPPO Reno5、榮耀 30、小米 10 青春版、榮耀 X10、榮耀 Play4T Pro、OPPO A92s、Redmi K30 Pro、華為 nova7、三星 Galaxy S20 Ultra、榮耀 30 Pro 5G、榮耀 V30、榮耀 V30 Pro、vivo S5、OPPO R17
(4)1080*2460:中興 AXON 20
(5)1080*2376:IQOO 5、vivo X50、vivo X50 Pro、vivo X60 Pro、一加 8Pro
(6)1080*2340:錘子堅(jiān)果 R2、榮耀 30Pro、魅族 17、魅族 17Pro、iQOO U1、華為暢享 20Pro、華為 nova7 Pro、紅米 9、realme X2
(7)1600*720:紅米 9A
(8)1080*2408:vivo Y31s、IQOO Neo3、IQOO z1
(9)720*1560:榮耀 Play4T
(10)1080*2256:vivo NEX 3 5G
(11)720*1600:OPPO A32、OPPO A8
(12)1080*1920:Mi 10 Pro
(13)2340*1080:小米 10
(14)3220*1400:三星 Galaxy S20
(15)1080*2280:三星 Galaxy Note10
說明:因?yàn)?Android 不同廠家機(jī)型多,不同屏幕分辨率也多,以上主要是列舉常見的
4.尺寸兼容性
(1)iOS 主要機(jī)型尺寸:4 寸-6.7 寸
(2)Android 主要機(jī)型尺寸:5 寸-6.7 寸
5.不同網(wǎng)絡(luò)兼容性
(1)Wi-Fi 切換 4G/5G 網(wǎng)絡(luò)情況下功能是否正常
(2)4G/5G 網(wǎng)絡(luò)切換 Wi-Fi 情況下功能是否正常
(3)有網(wǎng)切換無網(wǎng)情況下功能是否正常
(4)無網(wǎng)切換有網(wǎng)情況下功能是否正常
1.Android兼容性測試(CTS)和連帶的兼容性定義文檔(CDD),是一個(gè)確保終端設(shè)備與特定版本Android(比如Android2.2,2.3,3.0)兼容的自管理程序。CTS測試集包含大約24,000個(gè)在Android設(shè)備上運(yùn)行的測試用例,這些用例分別針對電話、圖形、相機(jī)、GPS、觸摸屏、無線網(wǎng)等功能。Google針對每個(gè)主要Android版本公布了CDD文檔,其中指出了對CTS中每類測試的具體要求。
2 CTS簡介
CTS擁有兼容性測試包。CTS是一個(gè)自動(dòng)化的測試工具,其中包括兩個(gè)主要的軟件組件:CTS測試工具可以運(yùn)行在您的臺式機(jī)和管理測試執(zhí)行。連接的移動(dòng)設(shè)備或模擬器上執(zhí)行個(gè)別測試案例。作為JUnit測試,并打包為Android是用Java編寫測試用例。apk文件運(yùn)行在實(shí)際設(shè)備上的目標(biāo)。手機(jī)設(shè)備需要通過Android的兼容性測試(CTS),以確保在android上開發(fā)的程序在手機(jī)設(shè)備上都能運(yùn)行。你的設(shè)備只有滿足CDD的規(guī)定并且通過CTS,才有可能獲得Android的商標(biāo)和享受Android Market的權(quán)限。這里有可能指的是需要你自己去向google申請的。
3 CTS在android軟件兼容性測試的意義
通過CTS測試之后便允許在設(shè)備上使用Android商標(biāo),它標(biāo)志著該設(shè)備能夠良好兼容軟件市場中的數(shù)十萬應(yīng)用程序。
4 CTS在終端上的測試詳解
5 CTS 終端需求
Android 2.1 的 Compatibility Definition,它定義了一些需求:
數(shù)據(jù):必須實(shí)現(xiàn)一種無線連接, 速率達(dá)到 200Kbit/Sec
Camera: 至少 2M pixels
重力加速: 必須有, 3維, 50Hz
指南針:必須有, 3緯, 10Hz
GPS: 必須有
內(nèi)存:至少 92M (不包括專用內(nèi)容)
Nand: /data 分區(qū)至少 290M
性能:啟動(dòng)時(shí)間: 瀏覽器 1300ms
MMS/SMS 700ms
AlarmClock 650ms
第二次啟動(dòng)一個(gè)應(yīng)用的時(shí)間不能超過第一次啟動(dòng)時(shí)間。
CTS 測試: 必須通過最新的 CTS
升級:必須有一種辦法可以升級全系統(tǒng)。
可以為:OTA USB SD卡
6 運(yùn)行CTS方法的步驟(linux環(huán)境下)
1進(jìn)入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個(gè)文件夾,其中一個(gè)是tools。
2進(jìn)入tools目錄,輸入./startcts來啟動(dòng)CTS。
3如果運(yùn)行成功會出現(xiàn)Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設(shè)備到PC上還會出現(xiàn)Device(設(shè)備ID)connected的字樣。這里設(shè)備可以是連接PC的android的機(jī)器,也可以是模擬器。
7 CTS測試的方法(linux環(huán)境下)
1在cts_host下敲入help,會顯示cts下的許多命令。ls –-plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、 AppSecurity。其中Performance這個(gè)方案是google暫不要求的。Java、Signature、Android、VM、 RefApp、Appsecurity方案都是CTS方案的子集。
2用命令ls --d來查看已連接的設(shè)備,CTS測試之前我們必須保證至少有一個(gè)設(shè)備連接上。
3輸入命令start –-plan CTS來執(zhí)行CTS測試方案,該方案有兩萬多條測試項(xiàng)目,需要很長時(shí)間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個(gè)設(shè)備的話需加上-d參數(shù),后面跟上設(shè)備id來告訴CTS需要測試的設(shè)備。
4對單獨(dú)一個(gè)包進(jìn)行測試的方法:start –-plan CTS –p 包名;推薦用這種方法來進(jìn)行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
start --plan CTS -p android.content.cts.ContextWrapperTest
5也可以針對單獨(dú)一個(gè)case進(jìn)行測試:start –plan CTS –test 類名#方法名
start --plan CTS -t android.media.cts.MediaPlayerStreamingTest#testRTSP_MPEG4SP_AAC_Video2
8 查看測試的結(jié)果:
測試生成的log在\android-cts\repository目錄下以log+測試時(shí)間.txt命名。測試報(bào)告在android-cts\repository\results目錄下,也是以測試時(shí)間命名。
9 CTS兼容性測試常見注意事項(xiàng):
1測試前選裝一個(gè)apk,然后在設(shè)置里面的輔助功能中會多一個(gè)Delegating Accessibility Service選項(xiàng),將這個(gè)選項(xiàng)勾起。
2在android設(shè)備設(shè)置中:顯示-屏幕超時(shí)-選取30分鐘
3在android設(shè)備設(shè)置中:應(yīng)用程序-開發(fā)-勾選保持喚醒狀態(tài)。
4保證測試前,android設(shè)備在主界面狀態(tài)。
5將android設(shè)備的語言設(shè)置為英文。
6 CTS測試集有不同版本,對應(yīng)不同的終端。cts2.3的包無法安裝到2.2終端上。
7 在執(zhí)行paln時(shí),執(zhí)行一段時(shí)間后會拋異常,異常如下:
CTS_INFO Restarting device ...
Device(HC09MPL00037) disconnected
Exception in thread "Thread-17" com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device
at com.android.ddmlib.AdbHelper.setDevice(AdbHelper.java:736)
at com.android.ddmlib.SyncService.openSync(SyncService.java:164)
at com.android.ddmlib.Device.getSyncService(Device.java:253)
at com.android.cts.DeviceManager$DeviceServiceMonitor.run(DeviceManager.java:217)
是因?yàn)闄?quán)限不夠,提升至root權(quán)限可解決,命令如下$sudo ./startcts
8 輸入./adb shell 出現(xiàn)如下異常:
error: insufficient permissions for device
輸入:
$ sudo -s
./adb kill-server
./adb devices
9 出現(xiàn)如下異常:Unable to locate android-sdk-linux_86/tools/adb.
是因?yàn)閍ndroid-sdk-linux_86的tools目錄下沒有adb文件
注:現(xiàn)在編譯出的SDK不會出現(xiàn)此問題。
10 error: device not found。
1)請確認(rèn)你的手機(jī)是否連接電腦,(2)以連接PC,重新拔下來,在連一次(3)如果2操作后還不行,看下USB連接方式是否為默認(rèn)(僅充電),選USB連接。
11 寫入測試結(jié)果時(shí)報(bào)Too many open files的錯(cuò)誤,這是因?yàn)榫W(wǎng)絡(luò)請求過多,也就導(dǎo)致了系統(tǒng)打開的文件過多。每一個(gè)連接都會當(dāng)成“文件”看待的。
用ulimit –a 命令查看每個(gè)用戶允許打開的最大文件數(shù),看到是的1024,把它改大點(diǎn),用命令:ulimit -n 4096
注:在測試過程中最好不要查看結(jié)果日志
主要測試內(nèi)容包括:
1、功能正確性測試;
根據(jù)這個(gè)安桌軟件的需求,看它到底支持那些功能,對每個(gè)功能,編寫測試用例,驗(yàn)證這個(gè)功能是否正確;例如:有注冊,登陸,編輯消息,發(fā)送消息,刪除消息,察看消息等功能,那么你就要測試這每個(gè)功能是否正確實(shí)現(xiàn)了。
2、界面易用性測試;
主要考慮(1)易理解性;(2)易學(xué)習(xí)性;(3)易操作性;是否達(dá)到要求。
3、兼容性測試;
不同安卓版本的兼容性;不同安卓設(shè)備的兼容性,例如:不同廠家的手機(jī),PAD等;看該軟件在不同的軟件和硬件下顯示是否正常,功能是否正確;
4、安全性測試;
用戶信息是否不被泄漏等;
5、不同網(wǎng)絡(luò)狀態(tài)下的測試;
wifi和2g,3g不同的網(wǎng)絡(luò)速度下的功能是否正確;沒有網(wǎng)絡(luò)連接的情況下會怎么樣,等等。
是的,一定要通過CTS認(rèn)證測試
Android的CTS測試,英文為Compatibility Test Suite,意為兼容性測試。只有通過CTS測試的設(shè)備才有可能獲得Android的商標(biāo)和享受Android Market的權(quán)限。以下分享我對Android CTS的認(rèn)識。
一、取得Compatibility Test Suite的兩種方法:
(1)可以從下載最新版本的Compatibility Test Suit;
(2)也可以通過編譯Android源代碼的方式獲得。在android源代碼目錄下輸入make cts命令來編譯CTS,之后會在out/host/linux-x86/cts/下生成android-cts文件夾。這個(gè)文件夾就是Compatibility Test Suit。
==========================================
1、Error occurred during initialization of VM
Could not reserve enough space for object heap
從字面上看是在初始化java Vm的時(shí)候不能獲取足夠的堆空間,于是修改了build/core/definition.mk文件中的編譯core.jar和framework.jar時(shí)需要的-JXmx為1024m,此參數(shù)代表編譯上述兩個(gè)包時(shí)需要的最大內(nèi)存,此初始值為2048M,由于我的PC電腦總的內(nèi)存才2G,系統(tǒng)運(yùn)行會占據(jù)一部分內(nèi)存,故編譯android的時(shí)候肯定不會分配2G內(nèi)存,
解決:
把build/core/definitions.mk 文件
第1528行:$(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx2048M) \
改成: $(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx1024M) \
==========================================
二、運(yùn)行CTS的方法,步驟如下:
(1)進(jìn)入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個(gè)文件夾,其中一個(gè)是tools。
(2)進(jìn)入tools目錄,輸入./startcts來啟動(dòng)CTS。
(3)如果運(yùn)行成功會出現(xiàn)Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設(shè)備到PC上還會出現(xiàn)Device(設(shè)備ID)connected的字樣。這里設(shè)備可以是連接PC的android的機(jī)器,也可以是模擬器。
三、CTS測試的方法:
(1)在cts_host下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個(gè)方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d來查看已連接的設(shè)備,CTS測試之前我們必須保證至少有一個(gè)設(shè)備連接上。
(3)輸入命令start –plan CTS來執(zhí)行CTS測試方案,該方案有兩萬多條測試項(xiàng)目,需要很長時(shí)間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個(gè)設(shè)備的話需加上-d參數(shù),后面跟上設(shè)備id來告訴CTS需要測試的設(shè)備。
(4)對單獨(dú)一個(gè)包進(jìn)行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進(jìn)行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
(5)也可以針對單獨(dú)一個(gè)case進(jìn)行測試:start –plan CTS –test 類名#方法名
四、查看測試的結(jié)果:
測試生成的log在\android-cts\repository目錄下以log+測試時(shí)間.txt命名。測試報(bào)告在android-cts\repository\results目錄下,也是以測試時(shí)間命名。
五、注意事項(xiàng):
(1)測試前需要安裝一個(gè)apk:adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk 然后在設(shè)置里面的輔助功能中會多一個(gè)Delegating Accessibility Service選項(xiàng),將這個(gè)選項(xiàng)勾起。
(2)在android設(shè)備設(shè)置中:顯示-屏幕超時(shí)-選取30分鐘
(3)在android設(shè)備設(shè)置中:應(yīng)用程序-開發(fā)-勾選保持喚醒狀態(tài)。
(4)保證測試前,android設(shè)備在主界面狀態(tài)。
(5)將android設(shè)備的語言設(shè)置為英文
工廠ctq和cts分別是ctq的意思是品質(zhì)關(guān)鍵點(diǎn)。cts是兼容性測試,手機(jī)設(shè)備需要通過Android的兼容性測試。
Y是由CTQ導(dǎo)出的組織內(nèi)部某個(gè)具體流程的關(guān)鍵輸出變量或關(guān)鍵輸入變量。CTQ是從顧客角度出發(fā),分析和確定影響顧客滿意度的質(zhì)量特性,而six sigma中的Y是項(xiàng)目的改善對象。
企業(yè)所提供的產(chǎn)品和服務(wù)一定要滿足客戶要求的品質(zhì)特征,在Six Sigma六西格瑪中,常常用Y來表示,很多公司都是把其當(dāng)為一個(gè)輸出的衡量性指標(biāo)。
CTQ的確定有以下一些方法:
由客戶指定。有些客戶會對某些特定產(chǎn)品規(guī)定一些特別重要的特性??梢哉偌嚓P(guān)的人員,特別是產(chǎn)品工程師,工藝工程師以及流程操作人員討論,哪些產(chǎn)品特性或過程參數(shù)對最終產(chǎn)品品質(zhì)有重要影響。哪個(gè)領(lǐng)域都有專家,應(yīng)該群策群力。
收集關(guān)于該產(chǎn)品在sample-buit或pilot run中發(fā)現(xiàn)的問題,或類似產(chǎn)品在生產(chǎn)過程中及使用現(xiàn)場發(fā)現(xiàn)的問題的數(shù)據(jù),然后進(jìn)行分析(比如用pareto chart),得出CTQ。對一些復(fù)雜的流程(即不太清楚流程的哪些變量對流程輸出的質(zhì)量有關(guān)鍵影響),也許需要借助DOE。
總之,只有對產(chǎn)品特性和過程參數(shù)與產(chǎn)品最終性能和品質(zhì)之間的因果關(guān)系有比較清楚的認(rèn)識,才能有效地確定CTQ。另外,CTQ也許會隨時(shí)間的變化或流程的變化而改變;同時(shí),確定CTQ后不等于說可以降低對其他特性和參數(shù)的重視程度。