如何設計Android App測試用例

2021-09-30 21:19:14 字數 3266 閱讀 4079

測試是必不可少的。當涉及到安卓平台及其提出的獨特問題的數量(安卓就ui提出顯著挑戰)時,挑戰變得更加複雜。關鍵字「碎片化」象徵著

移動應用全面測試的最大障礙,還表明了發布到市場上的所有形態、大小、配置型別的安卓裝置所引起的困難。本文將介紹安卓模擬器如何能通過使用一些技巧和簡單的實踐提供覆蓋大量裝置型別的廣泛測試。

簡介—分散裝置裡的測試

一般安卓開發者在其日常

工作中面臨的最大挑戰之一是:終端裝置和

作業系統版本的範圍太廣。opensignal進行的一項研究表明,2023年7月市場上有超過11,828的不同安卓終端裝置,所有裝置在型別/大小/螢幕解析度以及特定配置方面有所不同。考慮到前一年的調查僅記錄有3,997款不同裝置,這實在是乙個越來越大的挑戰障礙。

圖1.11,828 款安卓裝置型別( opensignal研究, 2023年7月[ 1 ] )分布

1.作業系統:由「api指標」( 1 ?18 )專業定義的安卓作業系統版本( 1.1? 4.3 ),。

2.顯示器:螢幕主要是由螢幕解析度(以畫素為單位),螢幕畫素密度( 以dpi為單位),和/或螢幕尺寸(以英吋為單位)定義的。

3.cpu:該「應用程式二進位制介面」 (abi )定義cpu的指令集。這裡的主要區別是arm和基於intel的cpu。

4.記憶體:乙個裝置包括記憶體儲器( ram)和dalvik 虛擬儲存器( vm堆)的預定義的堆記憶體。

這是前兩個特點,作業系統和顯示器,都需要特別注意,因為他們是直接由終端使用者明顯感受,且應該不斷嚴格地被測試覆蓋。至於安卓的版本, 2023年7月市場上有八個同時執行導致不可避免的碎片的不同版本。七月,近90%這些裝置中的34.1 %正在執行gingerbread版本( 2.3.3-2.3.7 ),32.3 %正在執行jelly bean( 4.1.x版),23.3 %正在執行ice cream sandwich( 4.0.3 - 4.0.4 )。

圖2.16款安卓版本分布(opensignal研究,2023年7月[1])

考慮裝置顯示器,一項techcrunch從2023年4月進行的研究顯示,絕大多數(79.9%)有效裝置正在使用尺寸為3和4.5英吋的「正常」螢幕。這些裝置的螢幕密度在「mdpi」(160 dpi),「hdpi」(240 dpi)和「xhdpi」(320 dpi)之間變化。也有例外, 一種只佔9.5%的裝置螢幕密度低「hdpi」(120 dpi)且螢幕小。

圖3. 常見的螢幕尺寸和密度的分布(

谷歌研究,2023年4月)[2]

如果這種多樣性在質量保證過程中被忽略了,那麼絕對可以預見:bugs會潛入應用程式,然後是bug報告的風暴,最後

google測試用例及乙個伴隨測試過程是乙個應付這一挑戰的有效**。

用例—「在哪測試」、「測試什麼」、「怎麼測試」、「何時測試」?

「在哪測試」

為了節省你測試工作上所花的昂貴時間,我們建議首先要減少之前所提到的32個安卓版本組合及代表市場上在用的領先裝置屏的5-10個版本的顯示屏。選擇參***時,你應該確保覆蓋了足夠廣範圍的版本和螢幕型別。作為參考,您可以使用opensignal的調查或使用

手機

檢測的資訊圖[3],來幫助選擇使用最廣的裝置。

為了滿足好奇心,可以從安卓檔案[5]將螢幕的尺寸和解析度對映到上面資料的密度(「ldpi」,「mdpi」等)及解析度(「小的」,「標準的」,等等)上。

圖4.多樣性及分布很高的安卓終端裝置的六個例子(手機檢測研究,2023年2月)[3]

有了2013手機檢測研究的幫助,很容易就找到了代表性的一系列裝置。有一件有趣的瑣事:30%印度安卓使用者的裝置解析度很低只有240×320畫素,如上面列表中看到的,三星galaxy y s5360也在其中。另外,480×800解析度畫素現在最常用(上表中三星galaxy s ii中可見)。

「測試什麼」

圖5. 測試安卓裝置的各個方面

「怎麼測試」

將這種廣泛的多樣性考慮在內的一種務實方法是, 安卓模擬器 - 提供了乙個可調節的工具,該工具幾乎可以模仿標準pc上安卓的終端使用者裝置。簡而言之,安卓模擬器是qa流程中用各種裝置配置(相容性測試)進行連續回歸測試(使用者介面,單元和整合測試)的理想工具。探索性測試中,模擬器可以被配置到乙個範圍廣泛的不同場景中。例如,模擬器可以用一種能模擬連線速度或質量中變化的方式來設定。然而,真實裝置上的qa是不可缺少的。實踐中,用作參考的虛擬裝置依然可以在一些小的(但對於某些應用程式來說非常重要)方面有所不同,比如安卓作業系統中沒有提供程式特定的調整或不支援耳機和藍芽。真實硬體上的效能在評價過程中發揮了自身的顯著作用,它還應該在考慮了觸控硬體支援和裝置物理形式等方面的所有可能終端裝置上進行測試(可用性測試)。

「何時測試」

既然我們已經定義了在**(參***)測試 ,測試什麼(測試場景),以及如何( 安卓模擬器和真實裝置)測試,簡述乙個過程並確定何時執行哪乙個測試場景就至關重要了。因此,我們建議下面的兩級流程:

1 .用虛擬裝置進行的回歸測試。

這包括虛擬參***上用來在早期識別出基本錯誤的連續自動化回歸測試。這裡的理念是快速地、成本高效地識別bugs。

2 .用真實裝置進行的驗收測試。

這涉及到:「策劃推廣」期間將之發布到google play store前在真實裝置上的密集測試(主要是手動測試),(例如,google play[ 5 ]中的 alpha和beta測試組) 。

在第一階段,測試自動化極大地有助於以經濟實惠的方式實現這一策略。在這一階段,只有能輕易被自動化(即可以每日執行)的測試用例才能包含在內。

結論 - 做對測試

如何設計Android APP測試用例

開發應用程式是一項壓力很大的工作,人無完人,工作中遇到bug是很正常的事,有些程式設計師會生氣,沮喪,鬱悶,甚至洩氣,也有一些程式設計師則會比較淡定。當涉及到安卓平台及其提出的獨特問題的數量 安卓就ui提出顯著挑戰 時,挑戰變得更加複雜。關鍵字 碎片化 象徵著移動應用全面測試的最大障礙,還表明了發布...

如何設計Android App測試用例

測試是必不可少的。當涉及到安卓平台及其提出的獨特問題的數量 安卓就ui提出顯著挑戰 時,挑戰變得更加複雜。關鍵字 碎片化 象徵著 移動應用全面測試的最大障礙,還表明了發布到市場上的所有形態 大小 配置型別的安卓裝置所引起的困難。本文將介紹安卓模擬器如何能通過使用一些技巧和簡單的實踐提供覆蓋大量裝置型...

android APP如何實現launcher

android largeheap true android persistent true 在啟動的activity裡面新增filter android name android.intent.action.main android name android.intent.category.def...