天天看點

ios dat 檔案讀寫_IOS 和 Android APP測試時,兩者的差異 - 幸福在今天

參照:

ios dat 檔案讀寫_IOS 和 Android APP測試時,兩者的差異 - 幸福在今天

安卓标準的菜單/Home/傳回鍵

安卓手機系統支援降級

安卓手機連接配接電腦,然後在電腦上安裝曆史版本,恢複到低版本,即完成降級,降級有風險,降級前先做好資料備份

執行個體參照:https://zhuanlan.zhihu.com/p/71260151

IOS的資源庫

ios dat 檔案讀寫_IOS 和 Android APP測試時,兩者的差異 - 幸福在今天

1、App資源庫也叫做App Library,系統也會自動幫你分門别類,整理組成檔案夾,也會将常用軟體放置在一起,友善使用者快速找到

2、首先需要将iPhone手機更新至iOS14以上才有這項功能

3、接着打開iPhone手機後,将螢幕向左滑動,滑到最後一頁

4、滑動之後就可以看到APP資源庫頁面

5、在APP資源庫頁面,可以根據歸納的檔案夾選擇應用進入。同時,在APP資源庫向下滑動。

6、如果是向下滑動,則可以看到全部的應用程式按A-Z進行排列

7、另外也可以在頂部的搜尋框輸入自己要查找的APP名字來找到對應的程式

8、如果需要退出APP資源庫,向右側滑動頁面,即可傳回到手機桌面。

 IOS的下載下傳管道

除了APP store,還有iTunes(通過蘋果電腦安裝app,再更新到對應apple id的手機上)  和 testflight(比如内測版本,未上架到APP store的蘋果應用(可能是新版本的内測版本),可以通過testflight進行分發、擴散)

蘋果和安卓APP 可以被更新的必要條件

新舊版本具有相同的簽名、包名,有一個标示符區分新舊版本(如版本号)。

ios dat 檔案讀寫_IOS 和 Android APP測試時,兩者的差異 - 幸福在今天

iOS:單條item的操作有兩種,點選和滑動,點選一般進入一個新的頁面,滑動會出現對這條item的一些常用操作,如微信裡滑動一條對話,會出現标記未讀和删除。

Android:,單條item的操作也有兩種,點選和長按,點選一般進入一個新的頁面。長按進入一個編輯模式,可以在裡面進行批量和其他一個操作,比如删除,頂置等等。比如小米的短信頁面

例外的是,Android裡面也可以有單條item的滑動,如新版QQ,這種比較少見。安卓的短信,可以滑動進行歸檔。大Android啥都可以有。

iOS:喜歡居中排布

Android:喜歡左對齊,感覺左對齊更安卓。

iOS隻有一個實體鍵home鍵(音量,電源不算哈);這個鍵有這麼幾個功能:

  • 按一次,回到桌面。
  • 輕按兩下,出現多任務界面
  • iOS8裡面,輕觸兩下Home鍵,調出單手模式(未嘗試過,有i8的小夥伴嘗試之後可否截圖告訴我?)
  • 指紋解鎖

iPhoneX,iPhoneXS ,iPhoneXmax等都沒有home鍵了,而是使用向上滑動的操作實作下列的一些功能:

  • 鎖屏滑動,臉部解鎖
  • 小幅度滑動,出現多個任務界面
  • 大幅度滑動,回到桌面

Android有四個實體鍵(現在很多被螢幕上的虛拟鍵代替,但功效是一樣的)

  • 以下:分别是back鍵,home鍵,menu鍵,和搜尋鍵。
  • 及以上:back鍵,home鍵,多任務鍵。安卓原生是這樣,經過優化的Android就不一定了,比如魅族的smart bar,根據目前頁面情景變化,不過蠻好用。
  • Android的back鍵,在大部分情況下,和頁面上的傳回功效一樣。不過,Android的back鍵可以在應用件切換,還可以傳回主螢幕。這個iOS裡面的鍵不能在應用間直接切換。

兩者的動效似乎差别不大,iOS有的,安卓都有。iOS實作的通常更加流暢,卡頓較少。

兩者都強調模拟現實世界的動畫效果,比如物體運動有一定的加速度,動畫的結束和開始速度小,中間速度

Android推送可以應用繞過系統限制;IOS隻能根據系統配置來推送。

為什麼安卓上軟體得在運作時(包括背景存在)才會推送通知,而ios卻不需要軟體在背景就會推送通知?

安卓系統本身是并沒有通過推送機制了,說白了就是沒有系統給應用留下後門,是以隻能是安卓自己啟動Services來實作度推送,當應用殺死後Services如果被殺死就無法收到推送。

iOS系統他給用用留了回推送機制,是以就算應用未在背景運作他也答能收到通知,但是iOS是不允許應用像安卓一樣背景啟動Services服務的。

Android和IOS的安全性,衆所周知的情況是,Android的個人資訊洩露比較嚴重,很多app在安裝時會要求很多權限,或者即使不給,他也有各自手段偷偷的擷取這些手段。而ios一般情況下權限管理的很嚴格,沒有意義的權限,一般情況下不會給。而且蘋果官方的稽核機制也是比較嚴格,經常會出現稽核不通過的情況。是以ios的權限一般情況下,感覺會要的很少。

Android采用的虛拟機機制,而ios采用的是沙盒機制。沙盒機制的特點是:每個應用隻能通路自己應用的資料和檔案,不能随意去通路其他的沙盒内容。而虛拟機機制的特點是:每個應用程式都在獨立的虛拟機中,這些獨立的虛拟機執行個體都是一個獨立的程序空間。而Android這樣做的好處就是跟linux記憶體管理很相似,是真正的多程序管理,雖然可用記憶體最後看着少,但是實際上很多程式已經配置設定了一定的記憶體了,如果需要,在喚起時,不會再次配置設定一次,而且已經有了緩存,啟動和響應會比較快。

 IOS沙盒機制

1. 應用程式在自己的沙盒中運作,但是不能通路任何其他應用程式的沙盒;

2. 應用之間不能共享資料,沙盒裡的檔案不能被複制到其他應用程式的檔案夾中,也不能把其他應用檔案夾複制到沙盒中;

3. 蘋果禁止任何讀寫沙盒以外的檔案,禁止應用程式将内容寫到沙盒以外的檔案夾中;

ios dat 檔案讀寫_IOS 和 Android APP測試時,兩者的差異 - 幸福在今天

虛拟機和沙盒的主要差別

1. 當沙盒中的應用程式退出後,其所做的更改會被丢棄;而當虛拟機退出後,其所做的更改會被儲存下來;

2. 沙盒中的application和其他application共享機器的硬體資源;而虛拟機在安裝時需要為其指定記憶體memory和cpu核且虛拟機不和其他application共享硬體資源。是以虛拟機實際上是很耗系統資源的。

ios dat 檔案讀寫_IOS 和 Android APP測試時,兩者的差異 - 幸福在今天

Android的記憶體管理方式和ios不一樣

Android在手機app切換到背景時,記憶體空間會保留給這個app,當下次再切換到前台時,app會快速的響應。而ios是app被切換到背景後,很短的時間内就會被清理記憶體,殺死程序。這樣做的好處也是為了給目前切換到前台的應用騰出空間來。這樣做的好處就是省電,因為隻有前台一個應用在跑。當然還有一些特殊的應用可以一直在背景運作,比如:音樂、gps等。其他的應用在10分鐘後都是被系統挂起的,從技術上來說,被挂起的意思等同于不執行,隻是資料駐留在記憶體而已。

Android的出發點是為了讓app切換時應用響應速度快,但是造成的後果就是記憶體可能會被曆史應用占用的記憶體過多,而繼續建立新的應用時不夠用,才會回收記憶體。導緻想用的app打開時變慢。

另外一點就是響應優先級不同

ios是對于螢幕反應的優先級最高,也就是UI指令最高。而Android是資料優先級最高。這2者的對比,可以用一個簡單的例子來對比,ios在打開一個app時,它對螢幕的響應優先級是最高的,之後才運作app代碼。Android系統打開app的順序是先運作app的代碼,之後再顯示在使用者的手機螢幕上。直覺來看,對使用者來說,就是我在ios上點了一下,接着就有反應了,而Android慢了半拍。

再一點,兩者的安裝應用方式不一樣,Android通過各種應用商店,比如豌豆莢,91助手等等,ios隻能通過應用商店,而測試版本的軟體,Android可以通過把apk包導入到手機sdcard中,直接安裝或者通過adb install指令安裝包,ios可以通過iTunes方式安裝或者愛思助手之類的軟體進行安裝ipa。當然現在比較流行的是通過第三方來管理測試包,比如說:蒲公英,這個平台可以把你的測試包上傳後,然後開發者可以把需要下載下傳測試包的同學手機UUID加到白名單後,就可以使用ios的測試包了。當然這個平台也可以上傳Android軟體測試包。

另外一點,就是Android因為自身代碼的開源性,很多的app開發者如果不注意保護自己的代碼,很容易被破解後,被其他人打包為别人的,是以Android的app一般都需要做代碼的混淆。也就是把正常的代碼,混淆完之後,就不容易了解了,比如很常見的方式就是代碼的類名改為:a、b、c等等沒有意義的名字。而ios因為本身不開源的特點,就不需要做代碼混淆。

 ===================================================================================

參照:http://blog.itpub.net/31407649/viewspace-2285796/

APP測試的關鍵點 ( 1)功能測試 

App測試中功能測試是一個重要方面。在進行App測試,測試人員應該進行手動測試。同時對照設計圖檢查功能是否正确并正常運作。在軟體測試中,關注測試點: 

1、軟體是否可以正常運作、安裝、解除安裝; 

2、登入、注冊、登出(在軟體測試基礎(一)有介紹,這裡不詳細介紹) 

3、資料更新、App更新 ( 2)用戶端測試 

現在很多軟體不僅有手機版也有 PC版,用戶端PC機上運作的軟體要求相容不同版本的浏覽器,在中高低端的pc機上都可以運作。 ( 3)App相容性測試 

1、在不同品牌的機型上的安裝、點選和解除安裝是否正常; 

2、在不同品牌的機型上的各個屬性是否相容; 

我們在實際測試中,常常會遇到下列問題: 

1、在某個品牌的機型上,App安裝不上; 

2、在某個品牌的機型上,App點選後無響應或拉起後黑屏、閃退; 

3、在某個品牌的機型上,App無法順利解除安裝; ( 4)安全測試(權限) 

1、其中包括發送資訊,撥打電話,連結網絡,通路手機資訊,聯系人資訊和設定權限等 

2、執行某些操作時導緻的輸入有效性驗證、授權、資料加密等方面 

3、其中還有關于網絡協定的測試,防止惡意的協定發送到伺服器 ( 5)弱網絡測試(流量測試) 

我們在使用 App過程中,有時會遇到弱網絡環境,比如在公車上、在地鐵裡、郊區或一些學校。在這種情況下,常常會出現網絡不穩定、運作逾時,下載下傳失敗。作為一個測試人員,我們要對App在上線前做一定場景的弱網絡環境模型,并檢視App在弱網絡環境下是否存在某些問題。現在都是通過第三方平台模拟弱網絡環境進行測試。

=====================================================

參照:https://wenku.baidu.com/view/382dd80af4335a8102d276a20029bd64783e623e.html#

  • IOS系統的這些小功能會影響到你的APP哦,你測了沒?

1、iPhone6以上機型的放大模式 功能入口:設定→顯示與亮度→顯示模式→标準/放大

說到這不得不提國民老公思聰在我們尚未拿到iPhone6真機時,給iOS手機輸入法提的bug。搜狗輸入法在标準模式下顯示異常,無法正常使用,另外一個輸入法在放大模式下存在相同問題。是以經驗之談,同行兄弟姐妹在測試APP時,要注意iPhone6以上機型有兩個顯示模式哦~在日常測試時可選擇在一個模式下主測,在另一個模式下進行基本測試便可。

2、背景運作機制

IOS系統有獨特的任務管理機制。

當應用程式不在前台運作時,除了GPS服務、音頻播放服務和VOIP服務以外,其他的應用在10分鐘後都是被系統挂起的,從技術上來說,被挂起的意思等同于不執行,隻是資料駐留在記憶體而已。 2)記憶體管理機制。簡單而言,在執行任意應用時,應用向系統申請記憶體空間,如果應用在使用的過程中不斷申請記憶體,超過了系統限定的記憶體區間,系統會發出記憶體警報,嚴重時會直接将應用殺死。

同樣,如果應用向系統申請記憶體,系統記憶體空間不足,系統會結束背景應用的進行,以釋放空間資源。

僞多任務。

例如微信,看起來貌似是在背景運作,其實不是。你能收到消息提示隻是系統推送服務,無論你的應用程式是否在運作,IOS都會在背景維護這個服務以實作假的多任務,并且所有的應用程式都會共用這一服務通道。 是以在測試時不妨在用例裡面增加幾條背景互動的用例,檢驗應用的資料是否能正常儲存,驗證應用被系統強制挂起後,再喚起是否能夠正常啟用,監測記憶體占用情況等等。

3、iOS系統時間不正确可能導緻的問題

由于在測試時會有調節系統時間的操作,在網絡正常的情況下,反複頻繁的調節系統時間後,發現經常會遇到以下情況,将時間日期改為“自動設定”就會恢複正常了。

1)iMessage登入失敗,提示網絡錯誤,重新登入

2)軟體更新失敗,在更新過程中報錯

3)App Store登入失敗或App Store加載出錯

4、 背景自動更新應用功能 功能入口

設定→App Store與iTunes Store→更新 當系統檢測到目前裝置登入的賬号下載下傳的應用存在更新,會自動更新。很多使用者誤認為應用有強盜行為,會主動在背景靜默更新,其實這是iOS系統本身的功能,且預設開啟。 在測試驗證更新時,可事先将該功能關閉,以免測試環境未部署好,應用便自動更新了~

繼續閱讀