iOS測試和Android測試的區別

Android以及iOS是當下手機的兩大主流操作系統,APP測試中,iOS測試和Android測試需要分開測試。

IOS 和安卓系統比較

從以下幾個方面,先簡單瞭解一下這兩大操作系統的不同之處

1、系統與框架結構

  1. Android系統的底層建立在Linux系統之上;而ios基於UNIX系統。
    這一點就造成了Android與iOS的生態不同了,Android完全開源,任何軟件開發商或者個人都能開發安卓的軟件;ios完全封源開發。

  2. Android的編程語言是Java和KotLin;而ios的則爲ObjectC和Swift。
    Android的Java,面向對象,性能比C語言和OC低;ios的OC,基於對象,完全兼容C語言的語法,可以直接操作內存。
    Android生成class文件,需要虛擬機來進行解釋;ios直接執行程序的二進制代碼。
    這也在根本上造成了iOS與Android性能不同:Android和Window一樣,目的是打造一款通用性非常好的系統,在任何機器上面都可以運行;ios目的是讓軟件和硬件完美的結合到一塊,該操作系統只能在極少數機器上面才能運行。

  3. iOS與Android的運行機制:ios採用的是沙盒運行機制;安卓採用的是虛擬機運行機制。
    iOS採用僞後臺,當用戶HOME鍵退出應用時,IOS其實關閉了程序,只保留應用的圖像入口,只會默認將最後的運行數據記錄在RAM中。之所以IOS也能收到推送,是因爲應用程序開啓推送後,系統會增加一些進程,這些進程會從蘋果服務器接收信息,然後再通過服務器發給用戶,蘋果服務器在這裏是起到了中轉的作用。
    安卓手機的後臺是真後臺,將應用保留在RAM中,之所以能夠收到推送,也因爲它常駐內存。
    所以Android在軟件關閉的情況下,無法接收推送信息;ios在軟件關閉的情況下,依然可以接收推送信息
    iOS系統在系統內存不足時會自動釋放內存。

2、渲染機制

2.1 iOS最先響應屏幕

IOS的UI渲染採用實時優先級,Android的UI渲染遵循傳統電腦模式的主線程普通優先級

IOS的響應順序依次爲Touch–Media–Service–Core架構
Android系統的優先級響應層級是Application–Framework–Library–Kernal架構

當我們使用iOS或者是Android手機時,第一步就是滑屏解鎖找到相應程序點擊進入。而這個時候往往是所有操控開始的第一步驟,iOS系統產品就表現出來了流暢的一面,但Android產品卻給人一種卡頓的現象,更別說後續深入玩遊戲或者進行其它操控了。

這也就是爲什麼我們常說iOS比Android流暢了,因爲iOS最先響應屏幕,iOS對屏幕反應的優先級是最高的,它的響應順序依次爲Touch–Media–Service–Core架構,換句話說當用戶只要觸摸接觸了屏幕之後,系統就會最優先去處理屏幕顯示也就是Touch這個層級,然後纔是媒體(Media),服務(Service)以及Core架構。

而Android系統的優先級響應層級則是Application–Framework–Library–Kernal架構,和顯示相關的圖形圖像處理這一部分屬於Library,你可以看到到第三位纔是它,當你觸摸屏幕之後Android系統首先會激活應用,框架然後纔是屏幕最後是核心架構。

2.2 iOS系統優先處理Touch層級

優先級的不同導致了iOS產品以及Android手機在操控過程中的表現差異,當你滑動屏幕進行操控的時候,iOS系統會優先處理Touch層級,而Android系統則是第三個才響應Library層級,這是造成它們流暢度不同的因素之一。

不過優先級對系統流暢性有有影響不假,但並不是最絕對的,造成兩系統之間流暢性不一的現象還有其它因素。 目前智能手機硬件裝備競賽當中,其實處理器等配置已經達到了一個瓶頸期,各大旗艦產品在硬件比拼當中基本上沒有太大的區別,而這時候GPU就成爲了一個凸顯差異的重要因素。一些大型軟件像是3d遊戲對GPU性能要求都會比較高,蘋果iPhone產品採用的Power VR SGX系列GPU在當下來說非常的主流,跑分測試數據證明了它並不會比一些旗艦級別的Android產品差勁。

2.3 iOS圖形特效基於GPU加速渲染

iOS系統對圖形的各種特效處理基本上正好都是基於GPU硬件進行加速的,它可以不用完全藉助CPU或者程序本身,而是通過GPU進行渲染以達到更流暢的操控表現。

但是Android系統產品則並非如此,因爲Android需要適應不同的手機硬件,需要滿足各種差異配置,所以很多圖形特效大多都要靠程序本身進行加速和渲染,並嚴重依賴CPU運算的操作自然會加大處理器的負荷,從而出現卡頓的問題。

iOS系統對圖形的各種特效處理基本上正好都是基於GPU硬件進行加速的,它可以不用完全藉助CPU或者程序本身,而是通過GPU進行渲染以達到更流暢的操控表現。
Android系統產品則並非如此,因爲Android需要適應不同的手機硬件,需要滿足各種差異配置,所以很多圖形特效大多都要靠程序本身進行加速和渲染。
(雖然Android 4.0以及4.1等更高版本中進行了改進將硬件加速設爲默認開啓,但依舊無法做到所有特效全部都靠GPU進行加速。在很多Android手機裏面都自帶有“是否開啓GPU渲染”這個功能選項,不過開啓之後的改善也是微乎其微。)

屏幕最先響應的優先級關係,再加上iSO本身GPU加速程序的特性,使得在操控過程中感覺iOS手機擁有着良好的流暢性。因爲它本身的整個流程都是在爲最大化的流暢做服務,不管是第一印象的滑動接觸屏幕,還是你進一步使用程序之後的更深層操作都是如此。而GPU加速這點特性,是它優於Android系統流暢性的又一個因素。

iOS測試和Android測試

APP測試中,iOS測試和Android測試主要會針對以下幾個點進行測試:

  • 分辨率的測試:Android端有20多種,iOS相對少一點。
  • 操作系統版本:Android的操作系統版本比較多,現在常見的是Android9和Android10,還有不同手機廠商的版本,比如小米的MIUI,魅族的Flyme;
    iOS的比較少,而且它只支持單向升級,不能支持降級。
  • 操作習慣的不同:像Android,習慣的去點擊back鍵,雖然現在很多都是全面屏,都是通過手勢滑動返回,但還是屬於back鍵的功能,所以Android需要測試back鍵是否被重寫了,點擊了back鍵系統的反饋是不是正常的。
  • 推送消息的測試:Android點擊home鍵後,程序運行到後臺,那麼這個時候,推送消息是否可以正常被推送,以及點擊應用程序,喚醒到前臺運行的時候,然後點擊消息,是否可以正常的跳轉;
    iOS點擊Home鍵或是鎖屏,或者是關閉程序的時候,消息推送是否是正常的。
  • 安裝和卸載測試:Android的安裝的平臺和渠道相對會比較多,而iOS的話一般只支持官方的渠道比如說 APP store 、 iTunes 工具以及 testflight 的下載
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章