導航:首頁 > 軟體大全 > 手機軟體測試

手機軟體測試

發布時間:2023-03-27 10:05:23

1. 做Android手機軟體測試需要掌握哪些工具

請注意測試本身不是靠工具的而是靠設計,這是我的理念,所以我一向覺得,很多人認為做測試做的好就是靠掌握一門好的工具,這個觀點是不正確的,所以我可以負責任的告訴你,做Android手機需要掌握的不是工具、而是理念、思維、以及框架,總的來說是本質,而工具只是輔助,那麼現在我來介紹一些我了解的工具(僅僅是了解,很多沒用過)
開源 Android 軟體測試工具包括:Android Test Kit, AndroidJUnit4, Appium, calabash-android, Monkey, MonkeyTalk, NativeDriver, Robolectric, RoboSpock, Robotium, UIAutomator, Selendroid。
Android Test Kit
Android Test Kit 是一組 Google 開源測試工具,用於 Android 平台,包含渣衫 Espresso API 可用於編寫簡潔可靠的 Android UI 測試。
AndroidJUnit4
AndroidJUnit4 是一個讓 JUnit 4 可以直接運行在 Android 設備上的開源命令行工具。
Appium
Appium 是一個開源、跨平台的自動化測試工具,用於測試原生和輕量移動應用,支持 iOS, Android 和 FirefoxOS 平台。Appium 驅動蘋果的 UIAutomation 庫和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 協議。Appinm 的 iOS 支持是基於 Dan Cuellar's 的 iOS Auto. Appium 同時綁定了 Selendroid 用於老的 Android 平台測試。
Calabash-android
calabash-android 是一個基於 Cucumber 的 Android 的功能自動化測試框架。Calabash 允許你寫和執行,是開源的自動化移動應用測試工具,支持 Android 和 iOS 原生應用。Calabash 的庫允許原生和混合應用的交互測試,交互包括大量的終端用戶活動。Calabash 可以媲美 Selenium WebDriver。但是, 需要注意的是 web 應用和桌面環境的交互跟觸摸屏應用的交互是不同的。Calabash 專為觸摸屏設備的原生應用提供 APIs。
Monkey
Monkey 是 Google 開發的 UI/應用測試工具,也是命令行工具,主要針對壓力測試。你可以在任意的模擬器示例或者設備上運行。Monkey 發送一個用戶事件的 pseudo-random 流給系統,作為你開發應用的壓力測試。
MonkeyTalk
MonkeyTalk 是世界上最強大的移動應用測試工具。MonkeyTalk 自動為 iOS 和 Android 應用進行真實的,功能性交互測試。MonkeyTalk 提供簡單的 "smoke tests",復雜數據驅動的測試含梁握套件。MonkeyTalk 支持原生,移動和混合應用,真實設備或者模擬器。MonkeyTalk 使得場景捕獲非常容易,可以記錄高級別,可讀的測試腳本。同樣的談慶命令可以用在 iOS 和 Android 應用上。你可以記錄一個平台的一個測試,並且可以在另外一個平台回放。MonkeyTalk 支持移動觸摸和基於手勢交互為主的移動體驗。點擊,拖拽,移動,甚至是手指繪制也可以被記錄和回放。
NativeDriver
NativeDriver 是 WebDriver API 的實現,是原生應用 UI 驅動,而不是 web 應用。
Robolectric
Robolectric 是一款Android單元測試框架,使用 Android SDK jar,所以你可以使用測試驅動開發 Android 應用。測試只需幾秒就可以在工作站的 JVM 運行。Robolectric 處理視圖縮放,資源載入和大量 Android 設備原生的 C 代碼實現。Robolectric 允許你做大部分真實設備上可以做的事情,可以在工作站中運行,也可以在常規的 JVM 持續集成環境運行,不需要通過模擬器。
RoboSpock
RoboSpock 是一個開源的 Android 測試框架。提供簡單的編寫 BDD 行為驅動開發規范的方法,使用Groovy 語音,支持 Google Guice 庫。RoboSpock 合並了 Robolectric 和 Spock 的功能。
Robotium
Robotium 是一款國外的Android自動化測試框架,主要針對Android平台的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點擊、長 按、滑動等)、查找和斷言機制的API,能夠對各種控制項進行操作。Robotium結合Android官方提供的測試框架達到對應用程序進行自動化的測 試。另外,Robotium 4.0版本已經支持對WebView的操作。Robotium 對Activity,Dialog,Toast,Menu 都是支持的。
UIAutomator
uiautomator 測試框架提高用戶界面(UI)的測試效率,通過自動創建功能 UI 測試示例,可以在一個或者多個設備上運行你的應用。
Selendroid
Selendroid 是一個 Android 原生應用的 UI 自動化測試框架。測試使用 Selenium 2 客戶端 API 編寫。Selendroid 可以在模擬器和實際設備上使用,也可以集成網格節點作為縮放和並行測試。

2. 軟體測試教程之手機軟體測試方法

第一:兼容性測試

針對App通常會考慮這些方面:

1)操作系統版本

包括Andoird版本,iOS版本

2)屏幕解析度

android 800*480, 960*640,1280*720(720p),1920*1080(1080p),2560*1440(2k).

對於iOS,考慮最近幾代機型對應的解析度即可.

3)不同廠家的ROM

不同廠家的ROM,大多廠家都對android 系統進行拿旅了定製、實際中會遇到例如調用相機和底層服務出現的不兼容問題以及搖一搖遇到的不同手機對於方向和重力感測器靈敏度設置不同的問題.

4) 網路類型

網路類型通常考慮wifi,2g,3g4g下的功能情況。另外針對m版網站考慮不同瀏覽器類型和屏幕解析度.

第二:流量測試

在移動產品的測試中,很有必要對App使用的流量進行度量,大致來說,流量可以從用戶使用的的相關性角度分為:一類是用戶的操作直接導致的流量消耗;另一類是後台,即在用戶沒有直接使用情況下的流量消耗。

流量的測試方法:

1. 基於系統自帶功能.

eg android proc/uid_stat/{uid} /tcp_send

android proc/uid_stat/{uid} /tcp_rcv

2. 通過API或者系統埋點來獲取數據。

3. 通用的流量測試方法:手機抓包,或者wifi代理(Fiddler, Charles)。

常見的流量節省方法:

1. 數據壓縮。

壓縮包含介面文本數據的壓縮,js文件的壓縮及圖片的壓縮。

2. 不同數據格式的採用

例如採用JSON格式作為介面數據返回格式通常比XML格式要小。

3. 控制訪問的頻次

這個主要針對後台數據上報,PUSH消息檢查等定時機制的。

4. 只獲取必要的數據

有時候APP一頁的內容非常多,而用戶可能只會看一部分,過多的從後台拉去數據就是浪費,所以可以採用分屏載入或者懶載入的方式來減少流量消耗。

5. 緩存

可將圖穗枝片,js等數據暫存起來,但由於手機存儲空間有限,也需要控制整個緩存大小,並給用戶提供清理緩存的選項。

6. 針對不同網路類型設計不同的訪問策略

有些APP不同的網路類型返回的內容不一樣。

第三:電量測試

消族凳在電器電池技術沒有取得巨大突破前提下,這方面始終會存在一些瓶頸,如果一些App架構設計的不好,或者代碼偶缺陷,就可能導致電量消耗比較高,所以電量測試也是很重要的。

工具 GSam Battery Monitor Pro.

第四:弱網路測試

移動互聯網產品相比PC互聯網產品,有一個特點是前者使用的網路比較多樣,除了Wif之外,很多時候是在移動網路下使用的,移動網路遇到的情況又比較復雜,比如地鐵、隧道、 體育 場等。所以網路不穩定的情況是比較容易發生的,很多情況下App的一些問題是在復雜的網路情況下才會暴露,與其讓用戶發現和投訴這些問題,不如我們在測試階段盡量模擬這樣的網路情況,及早發現和修復這些問題。

工具:

1. Windows下的Network Delay Simulator

2. Mac下的Network Link Conditioner

第五:穩定性測試

在保證基本功能正確基礎之上,App的穩定性就顯得非常重要,如果一個App經常出現閃退或者卡死,那麼用戶體驗就會受到很大傷害,在有其他競爭產品的情況下很容易造成用戶的流失。

第六:安全測試

包括安裝包的安全測試(能否反編譯代碼、安裝包是否簽名,完整性校驗,許可權設置檢查等)。

敏感信息測試(資料庫,日誌,配置文件)。

軟鍵盤劫持(金融類APP登錄頁面的用戶名密碼輸入框)、

賬戶安全(密碼是否明文,密碼傳輸是否加密,賬戶輸入錯誤次數過多鎖定,同時會話提醒, 注銷機制)

數據通信安全(關鍵數據是否散列或加密,關鍵連接是否使用安全通信,是否對數字證書合法性進行驗證,是否校驗數據合法性。

組件安全測試。

伺服器端介面測試(SQL注入測試、XSS跨站腳本攻擊, CSRF跨站請求偽造,越權訪問等)。

第七:環境相關的測試

在實際項目中,有一些缺陷我發現是和App所處的運行環境相關的,所以設計測試的時候,要多考慮這些場景,比如:

1)干擾測試

收到電話、收到簡訊、收到通知欄消息、無電提示框彈出、第三方安全軟體告警彈出。

2)許可權測試

一些用戶在實際使用App的時候回有意識阻止某些功能。例如有的用戶感覺讓某個App訪問電話本或者相冊可能泄漏隱私,就在手機中設置了禁止了該App訪問相冊的許可權。

3)邊界測試

手機環境本身也有其邊界情況需要在測試中覆蓋。常見的場景有:

可用存儲空間過少、沒有SD卡/雙SD卡、飛行模式、系統時間有誤(晚於和早於標准時間)、第三方依賴(比如我們的App依賴第三方App,但是現在第三方App沒有安裝或者版本過低的測試情況)。

4)Android定位測試

用白盒方式模擬

3. 手機軟體軟體測試分為哪個幾個模塊。平時主要是做什麼的。

1、單元測試

單元測試主要是對該軟體的模塊進行測試,通過測試以發現該模塊的實際功能出現不符合的情況和編碼錯誤。由於該模塊的規模不大,功能單一,結構較簡單,

2、集成測試

集成測試是軟體測試的第二階段,在這個階段雹舉仔,通常要對已經嚴格按照程序設計要求和標准組裝起來的模塊同時進行測試,明確該程序結構組裝的正答悉確性,發現和介面有關的問題,比如模塊介面的數據是否會在穿越介面時發生丟失。

3、系統測試

一般情況下,系統測試採用黑盒法來進行測試的,以此來檢查該系統是否符合軟體需求。

4、驗收測試

驗收測試是最後一個階段的測試操作,在軟體產品投入正式運行前的所要進行的測試工作。和系統測試相比而言,驗收測試與之的區別就只是測試人員不同,驗收測試則是由用戶來執行這一操作的。

(3)手機軟體測試擴展閱讀

無論是持續交付2.0——矽谷頂級互聯網公司的產品研發方法分享,還是網路持續集成智能化平台十年探索之路,或者螞蟻金服 Code Velocity:環境&持續測試&代碼門禁實踐,以及 Google 最新移動測試方。

騰訊海量用戶大型游戲背後源汪的質量保障體系建設、螞蟻金服代碼實時染色系統都讓參會人員深刻體驗到 BAT、Google 等頂級互聯網企業前沿測試技術和質量保障能力帶來的強烈沖擊和對未來變革趨勢的全新視野。

未來的軟體測試工程師和質量管理人員必須同時具備一定的開發和運維能力。測試人員會更深入介入開發工作,通過測試左移,提前與開發人員一起制定測試計劃,推動代碼評審、代碼審計、單元測試、自動化冒煙測試、測試精準化分析以及研發自測等來保證研發階段的質量。

4. 手機軟體測試的基本流程

手機軟體測試的基本流程:

1、需求分析階段:閱讀需求,理解需求,分析需求點,參與需求評審會議。

2、測試計劃階段:主要任務就是編寫測試計劃,參考軟體需求規格說明書,項目總體計劃,內容包括測試范圍,進度安排,人力物力分配,整體測試策略的制定。

3、編寫測試用例:適當的了解設計,搭建測試用例框架,根據需求和設計編寫測試用例。

4、測試執行階段:搭建環境准備數據,執行預測試然後進入正式測試(系統測試、回歸測試、交叉測試、自由測試),bug管理直到測試結束。

5、輸出測試報告:輸出測試報告,確認是否可以上線。

(4)手機軟體測試擴展閱讀

軟體測試方法

1、動態測試

計算機動態測試的主要目的為檢測軟體運行中出現的問題,較靜態測試方式相比,其被稱為斗滲尺動態的原因即為其測試方式主要依賴程序的運用,主要為檢測軟體中動態行為是否缺失、軟體運行效果是否良空高好。

2、黑盒測試

黑盒測試,顧名思義即為將軟體測試環境模擬為不可見的「黑盒」。通過數據輸入觀察數據輸出,檢查軟體內部功能是否正常。測試展開時,數據輸入軟體中,等待數據輸出。數據輸出時若與預計數據一致,則證明該軟體通過測試。

3、白盒測試

白盒測試相對於黑盒測試而言具有一定透明性,原理為根據軟喊弊件內部應用、源代碼等對產品內部工作過程進行調試。

測試過程中常將其與軟體內部結構協同展開分析,最大優點即為其能夠有效解決軟體內部應用程序出現的問題,測試過程中常將其與黑盒測試方式結合,當測試軟體功能較多時,白盒測試法亦可對此類情況展開有效調試。

5. 手機軟體測試的基本流程

手機軟體測試的基本流程:

1、測試需求分析;

2、測試計劃或者測試用例書寫;

滾御岩3、測試環境搭建,測試數據准備拆滾以及測試執行;

4、測試反饋,指測試過程中發現異常,進行缺陷分析定大御位,然後和相關的開發人員進行對應,最後促使問題得到解決的過程;

5、測試項目結束後的總結分析;

6、回歸測試,所有測試結束之後,在版本提交之前必須進行。

6. 如何利用monkey進行手機app測試

一、簡介
Monkey是Android中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey包括許多選項,它們大致分為四大類:
基本配置選項,如設置嘗試的事件數量
運行約束選項,如設置只對單獨的一個包進行測試
事件類型和頻率
調試選項
在Monkey運行的時候,它生成事件,並把它們發給系統。同時,Monkey還對測試中的系統進行監測,對下列三種情況進行特殊處理(自動停止):
如果限定了Monkey運行在一個或幾個特定的包上,那麼它會監測試圖轉到其它包的操作,並對其進行阻止。
如果應用程序崩潰或接收到任何失燃告控異常,Monkey將停止並報錯。
如果應用程序產生了應用程序不響應(application not responding)的錯誤,Monkey將會停止並報錯。
按照選定的不同級別的反饋信息,在Monkey中還可以看到其執行過程報告和皮旅明生成的事件

二、測試准備
Monkey test前必須先進入android設備的adb shell(Android SDK環境配置不在此描述,網上有很多)步驟如下:
1. 開始—>運行—>cmd
2. usb連接手機,輸入 adb shell 命令,待出現 即可輸入以下內容
3. 進入手機後,輸入相應的monkey命令即可測試

三、基本命令格式
adb shell monkey –p 程序包 –v 測試次數
比如「adb shell monkey –p com.htc.Weather –v 20000」意思是對com.htc.Weather 這個程序包單獨進行一次20000次的monkey測試
其中程序包名稱可以在串口終端這句命令獲得:ls data/data 顯示所有程序包

四、測試Log獲取
用Monkey test測試,為了方便分析問題,可以在命令monkey命令後面加上 「|logcat -v time」,這樣就能邊測試邊列印Log(記得用終端保存Log文本)例如:
adb shell monkey –p com.htc.Weather –v 20000|logcat -v time
但是這個組合在monkey測試完成後,logcat仍然在執行,測試時需要注意。
如果測試monkey碰到crash或者anr(程序強制性退出或不響應)現象時,在抓取log的同時需要提供traces.txt,步驟如下:
1. 測試版本需要具備root許可權
2. 進入data/anr目錄下面
3. 將traces.txt文件拷貝到TF卡鎮知中,然後拷貝出來發給軟體分析即可

閱讀全文

與手機軟體測試相關的資料

熱點內容
電腦鍵盤架子鼓軟體 瀏覽:789
電腦開機f1顯示cpufanspeed 瀏覽:168
邁騰電腦設置圖解 瀏覽:208
電腦開機困難還會自動關機 瀏覽:443
舊平板電腦能賣多少錢 瀏覽:160
免費看電視網站星辰變 瀏覽:957
學習電腦有哪些基礎 瀏覽:621
吞食天地電腦版哪裡下載 瀏覽:537
怎麼刪除微信聊天記電腦 瀏覽:153
我的世界f3為什麼是調節電腦音量 瀏覽:42
手機設計房屋的軟體 瀏覽:818
有沒有什麼網站可以下載免費文檔 瀏覽:699
做機械設計的電腦配置 瀏覽:628
蘋果電腦屏幕出現黑斑怎麼解決 瀏覽:377
平板電腦廣告歌曲 瀏覽:699
有哪些用到電腦的社團 瀏覽:825
手提電腦怎麼退出省電模式黑屏 瀏覽:92
金華蘋果電腦維修技巧 瀏覽:780
電腦打開後是黑屏怎麼辦 瀏覽:725
新捷達行車電腦在哪裡 瀏覽:441