詳解iOS和Android在測試上的不一樣

只有瞭解iOS和Android操做系統的不一樣設計理念,才能更好地設計測試用例,更全面地測試App。安全

Android的App測試設備的碎片化網絡

對於iOS操做系統,App只須要支持有限的設備和分辨率,不須要像Android測試App時操心設備的碎片化對App的影響。Google公司採用的是開放的策略,因此不少廠商都會對Android進行訂製,使得采用Android操做系統的設備鋪天蓋地,Android的碎片化也很嚴重。測試

Android App更容易受到惡意軟件的攻擊ui

開放策略下致使App的apk安裝文件被破解的概率比iOS要高一些,因此更須要確保App的安全。操作系統

iOS和Android對於App間通訊的處理方式不同設計

iOS操做系統對於App的運行機制作出了限制,絕大多數狀況下App進入後臺後會立刻進入suspend或terminate狀態,也就是說不能執行代碼;iOS中也沒有相似Android中Service的概念,但存在某些例外。code

某些重要的任務,例如保存用戶數據、網絡下載等,能夠申請一小段限定時間的後臺運行時間,長度大概在600s左右,因此在短期段內能進行的操做很是有限。進程

某些特色類型的App能夠得到沒有時間限制的後臺運行,包括音樂播放類,音頻錄製類,定位/導航類,VoIP類,下載類,按期更新類。內存

Apple公司提供了iOS內的App調用協議URL Schema來處理。get

Android和iOS就是否支持擴展存儲有所不一樣
iOS和Android對Widget的實現和使用不一樣
測試Android App對於Dalvik和ART運行環境(RunTime)的兼容性
測試iOS App在特定設置下的行爲

對於iOS App而言,在iOS 8出現以前Apple公司對於產品的升級,都會考慮到不一樣設備上分辨率的不一致,可是隨着iOS 8和iPhone 6以及6Plus的推出,iPhone 6以及6Plus上具有的放大顯示的功能會讓App在標準顯示和放大顯示的模式下,顯示效果有所不一樣,因此測試人員須要對這兩種模式下的顯示效果進行測試。

iOS操做系統的內存管理機制以及對App使用內存的限制是很不透明的

因爲iOS上並無真正的多任務,也沒有swap機制,因此iOS操做系統在內存不足時會先對App進行內存佔用預警,若是App持續消耗內存直到iOS操做系統容許的最大值,iOS會直接「殺掉」App進程。

測試人員能夠使用App所支持的iOS設備總內存最小的設備,使用Xcode來檢查App對內存的使用是否超出了限制,儘可能減小App對內存的沒必要要使用,順便檢查App是否有內存泄漏。

Android操做系統的內存管理機制更加透明,對App使用內存的限制也更加靈活在不一樣Android設備上,每一個App能夠使用的內存量是不一樣的,測試人員能夠經過打開/system/build.prop文件來查看App最大可用Dalvik內存大小是多少。

相關文章
相關標籤/搜索