A. android 網路測試工具有哪些
開源的:
Robotium
Monkeyrunner
Robolectric
CTS
還有個新興的測試工具,以前在GitHub看到,現在找不到了,好像是BDD類型的語法;現在還不成熟。
另外基於web的測試也有基於Selenium Webdriver 的 Android WebDriver:
有兩種: 基於Remote Server的:官方提供了java介面的,但是Python版的官方裡面卻沒有。我非常喜歡Python,所以自己實現了並且開源到了GitHub:https://github.com/truebit/AndroidWebDriver4Python... 有問題大家可以提到上面
基於Instrumentation的:已經在Android SDK r14裡面可以安裝了
不開源的就多了,不過我見過的一般是以下幾種思路:
1. 基於Android Java Instrumentation框架: 基於Robotium,比如bitbar的產品:http://bitbar.com/procts
基於Instrumentation,那就海了去了,很多公司自家寫的工具都基於這個;另外Robotium就是基於這個的
2. 基於Android lib層的各種命令,比如sendevent,getevent, monkey, service這些,然後用各種語言封裝
MonkeyRunner還是很有前景的,Google自己弄的。現在最新的dev版本已經有支持UI的id操作的EasyMonkey了。
B. android性能測試工具有哪些
大概有如下幾個工具:
android針對上面這些會影響到應用性能的情況提供了一些列的工具:
1 布局復雜度:
hierarchyviewer:檢測布局復雜度,各視圖的布局耗時情況:
Android開發者模式—GPU過渡繪制:
2 耗電量:Android開發者模式中的電量統計;
3 內存:
應用運行時內存使用情況查看:Android Studio—Memory/CPU/GPU;
內存泄露檢測工具:DDMS—MAT;
4 網路:Android Studio—NetWork;
5 程序執行效率:
靜態代碼檢查工具:Android studio—Analyze—Inspect Code.../Code cleanup... ,用於檢測代碼中潛在的問題、存在效率問題的代碼段並提供改善方案;
DDMS—TraceView,用於查找程序運行時具體耗時在哪;
StrictMode:用於查找程序運行時具體耗時在哪,需要集成到代碼中;
Andorid開發者模式—GPU呈現模式分析。
6 程序穩定性:monkey,通過monkey對程序在提交測試前做自測,可以檢測出明顯的導致程序不穩定的問題,執行monkey只需要一行命令,提交測試前跑一次可以避免應用剛提交就被打回的問題。
說明:
上面提到的這些工具可以進Android開發者官網性能工具介紹查看每個工具的介紹和使用說明;
Android開發者選項中有很多測試應用性能的工具,對應用性能的檢測非常有幫助,具體可以查看:All about your phone's developer options和15個必知的Android開發者選項對Android開發者選項中每一項的介紹;
針對Android應用性能的優化,Google官方提供了一系列的性能優化視頻教程,對應用性能優化具有非常好的指導作用,具體可以查看:優酷Google Developers或者Android Performance Patterns。
二 第三方性能優化工具介紹
除了android官方提供的一系列性能檢測工具,還有很多優秀的第三方性能檢測工具使用起來更方便,比如對內存泄露的檢測,使用leakcanry比MAT更人性化,能夠快速查到具體是哪存在內存泄露。
leakcanary:square/leakcanary · GitHub,通過集成到程序中的方式,在程序運行時檢測應用中存在的內存泄露,並在頁面中顯示,在應用中集成leancanry後,程序運行時會存在卡頓的情況,這個是正常的,因為leancanry就是通過gc操作來檢測內存泄露的,gc會知道應用卡頓,說明文檔:LeakCanary 中文使用說明、LeakCanary: 讓內存泄露無所遁形。
GT:GT Home,GT是騰訊開發的一款APP的隨身調測平台,利用GT,可以對CPU、內存、流量、點亮、幀率/流暢度進行測試,還可以查看開發日誌、crash日誌、抓取網路數據包、APP內部參數調試、真機代碼耗時統計等等,需要說明的是,應用需要集成GT的sdk後,GT這個apk才能在應用運行時對各個性能進行檢測。
C. 軟體測試常用的工具有哪些
軟體測試分為功能測試、介面測試、自動化測試、性能測試幾大方向,每個方向用到的測試工具都不盡相同。功能測試會用到SVN、禪道、QCALM、Jira等軟體測試管理工具。介面測試則會用到Jmeter、Postman、Fiddler軟體,使用Jmeter可以執行測試用例,對頁面跳轉,參數傳遞等功能進驗證。
自動化測試則又分為Web自動化測試和移動自動化測試。Web自動化測試主要會用到Selenium軟體以及Firebug插件工具,使用Selenium可以對網站的核心功能進行自動化測試,包括元素定位、滑鼠鍵盤的模擬操作及自動化測試框架的使用等。Web自動化測試主要用到的是Appium以及Monkey軟體。Appium可以對APP核心功能進行測試驗證,包括ID、xpath、list元素定位,數據交互、模塊封裝以及自動化測試框架的使用,生成測試報告,對APP功能進行評估等。
D. 介面測試工具有哪些
QTP全名,2012年12月6日發布11.5版本,並更名為UnifiedFunctionalTestingQTP是quicktestProfessional的簡稱,是一種自動測試工具。使用QTP的目的是想用它來執行重復的手動測試,主要是用於回歸測試和測
E. Android自動化測試工具有哪些
1、 Robotium 安卓測試工具
Robotium是一款經常使用的自動化測試工具軟體,支持Android。
Robotium是一個免費的Android UI測試工具。它適用於為不同的安卓版本和子版本測試自動化。軟體開發人員經常把它描述為Android Selenium。Robotium測試是用java寫的。事實上,Robotium是一個單元測試庫。
但通過Robotium創建測試需要花費很多時間和努力,因為為了自動化測試還需要修改程序源代碼。該工具也不適合與系統軟體的交互,它不能鎖定和解鎖智能手機或平板電腦。Robotium也沒有錄制回放功能,也不提供截圖。
2、MonkeyRunner 安卓應用測試
Monkeyrunner是一款流行的Android測試工具,用於自動化功能測試。
這個工具比Robotium更低一層次。這個不必處理源代碼來做自動化測試。這個測試可以用Python寫,並且可以使用錄制工具來創建測試。
Monkeyrunner可以連接到電腦或模擬真實設備運行測試。該工具有一個介面,用它來控制智能手機,平板電腦或外部模擬器的Android代碼。
這個測試工具的缺點是,它必須為每個設備編寫腳本。另一個問題是,每次測試程序的用戶界面變化都需要調整測試腳本。
3、Ronaorex 安卓測試應用工具
Ranrex 是一款不僅可以支持最新Android版本,也支持從Android2.2開始的早期版本和分支版本。
Ranorex的優勢是它有詳細的截屏報告。它能通過Wifi連接智能手機和平板電腦。
一個自動化測試工程師通過這個Android工具可以不用XML數據格式來詳細編寫數據驅動的測試。Ranorex工作室使自動化測試工程師只要點擊滑鼠就可容易地創建測試。它允許詳細聲明額外的程序模塊,來用於在後期開發周期中測試更復雜的場景。
它是一個商業的移動應用工具,其許可價格為1990歐元。不過Ranorex搜索功能相當慢;它需要30秒來完成這樣的操作。我們必須為Ranorex配備apk文件設備,否則無法通過這個工具實現自動化測試,因為它只能在APK文件設備上工作。
F. 軟體測試工具有哪些
開源測試管理工具:Bugfree、Bugzilla、TestLink、mantis 開源功能自動化測試工具:Watir、Selenium、MaxQ、WebInject
開源性能自動化測試工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator
[TestDirector]:企業級測試管理工具,也是業界第一個基於Web的測試管理系統。
[Quality Center]:基於Web的測試管理工具,可以組織和管理應用程序測試流程的所有階段,包括指定測試需求、計劃測試、執行測試和跟蹤缺陷。
[QuickTest Professional]:用於創建功能和回歸測試。
[LoadRunner]:預測系統行為和性能的負載測試工具。
其他工具與自動化測試框架:Rational Functional Tester、Borland Silk系列工具、WinRunner、Robot等。
G. 應用軟體的介面測試用什麼工具好
1、webService介面:是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行調用,測試。可以使用的工具有jmeter、loadrunner等;
2、http api介面:是走http協議,通過路徑來區分調用的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和post等方法,這也是最常用的兩種請求方式。可以使用的工具有jmeter、loadrunner等;
H. 介面自動化測試工具有哪些
1、CTS,CTS 測試基於Android instrumentation 測試, 其又基於JUnit 測試。說白了, CTS 就是一堆單元測試用例。這也是Java 語言的擅長部分。
2、 Monkey工具,Monkey是Android中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey測試是一種為了測試軟體的穩定性、健壯性的快速有效的方法。
3、ASE,ASE 意思為Android 腳本環境, 即我們可以通過腳本(比如Python)調用Android 的功能,從而定製一些測試。比如打電話,發簡訊,瀏覽網頁,等。我們可以擴充它的API(Java 部分), 並用python 腳本調用這些API, 從而實現豐富的測試功能。用於API 部分可以訪問到Android 全部API, python 又能靈活部署測試,所以ASE 的擴展性非常好。
4、Robotium,該工具用於黑盒的自動化測試。可以在有源碼或者只有APK 的情況下對目標應用
進行測試。Robotimu 提供了模仿用戶操作行為的API,比如在某個控制項上點擊,輸入Text
等等。 http://mag.big-bit.com/
分層的自動化測試
這個概念最近曝光度比較高,傳統的自動化測試更關注的產品UI層的自動化測試,而分層的自動化測試倡導產品的不同階段(層次)都需要自動化測試。
相信測試同學對上面的金字塔並不陌生,這不就是對產品開發不同階段所對應的測試么!我們需要規范的來做單元測試同樣需要相應的單元測試框架,如java的Junit、testNG,C#的NUnit ,python 的unittest、pytest 等,幾乎所有的主流語言,都會有其對應的單元測試框架。
集成、介面測試對於不少測試新手來說不太容易理解,單元測試關注代碼的實現邏輯,例如一個if 分支或一個for循環的實現;那麼集成、介面測試關注的一是個函數、類(方法)所提供的介面是否可靠。例如,我定義一個add()函數用於計算兩個參數的結果並返回,那麼我需要調用add()並傳參,並比較返回值是否兩個參數相加。當然,介面測試也可以是url的形式進行傳遞。例如,我們通過get方式向伺服器發送請求,那麼我們發送的內容做為URL的一部分傳遞到伺服器端。但比如 Web service 技術對外提供的一個公共介面,需要通過soapUI 等工具對其進行測試。
UI層的自動化測試,這個大家應該再熟悉不過了,大部分測試人員的大部分工作都是對UI層的功能進行測試。例如,我們不斷重復的對一個表單提交,結果查詢等功能進行測試,我們可以通過相應的自動化測試工具來模擬這些操作,從而解放重復的勞動。UI層的自動化測試工具非常多,比較主流的是QTP,Robot Framework、watir、selenium 等。
為什麼要畫成一個金字塔形,則不是長方形 或倒三角形呢? 這是為了表示不同階段所投入自動化測試的比例。如果一個產品從沒有做單元測試與介面測試,只做UI層的自動化測試是不科學的,從而很難從本質上保證產品的質量。如果你妄圖實現全面的UI層的自動化測試,那更是一個勞民傷財的舉動,投入了大量人力時間,最終獲得的收益可能會遠遠低於所支付的成本。因為越往上層,其維護成本越高。尤其是UI層的元素會時常的發生改變。所以,我們應該把更多的自動化測試放在單元測試與介面測試階段進行。
既然UI層的自動化測試這么勞民傷財,那我們只做單元測試與介面測試好了。NO! 因為不管什麼樣的產品,最終呈現給用戶的是UI層。所以,測試人員應該更多的精力放在UI層。那麼也正是因為測試人員在UI層投入大量的精力,所以,我們有必要通過自動化的方式幫助我們「部分解放」重復的勞動。
在自動化測試中最怕的是變化,因為變化的直接結果就是導致測試用例的運行失敗,那麼就需要對自動化腳本進行維護;如何控制失敗,降低維護成本對自化的成敗至關重要。反過來講,一份永遠都運行成功的自動化測試用例是沒有價值。
至於在金字塔中三種測試的比例要根據實際的項目需求來劃分。在《google 測試之道》一書,對於google產品,70%的投入為單元測試,20%為集成、介面測試,10% 為UI層的自動化測試。
I. 常見的介面測試工具有哪些
介面一般來說有兩種,一種是程序內部的介面,一種是系統對外的介面。
系統對外的介面:比如你要從別的網站或伺服器上獲取資源或信息,別人肯定不會把資料庫共享給你,他只能給你提供一個他們寫好的方法來獲取數據,你引用他提供的介面就能使用他寫好的方法,從而達到數據共享的目的,比如說咱們用的app、網址這些它在進行數據處理的時候都是通過介面來進行調用的。
程序內部的介面:方法與方法之間,模塊與模塊之間的交互,程序內部拋出的介面,比如bbs系統,有登錄模塊、發帖模塊等等,那你要發帖就必須先登錄,要發帖就得登錄,那麼這兩個模塊就得有交互,它就會拋出一個介面,供內部系統進行調用。
一、常見介面:
1、webService介面:是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行調用,測試。可以使用的工具有SoapUI、jmeter、loadrunner等;
2、http api介面:是走http協議,通過路徑來區分調用的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和post等方法,這也是最常用的兩種請求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;
二、前端和後端:
在說介面測試之前,我們先來搞清楚這兩個概念,前端和後端。
前端是什麼呢,對於web端來說,咱們使用的網頁,打開的網站,這都是前端,這些都是html、css寫的;對於app端來說呢,它就是咱們用的app,android或者object-C(開發ios上的app)開發的,它的作用就是顯示頁面,讓我們看到漂亮的頁面,以及做一些簡單的校驗,比如說非空校驗,咱們在頁面上操作的時候,這些業務邏輯、功能,比如說你購物,發微博這些功能是由後端來實現的,後端去控制你購物的時候扣你的余額,發微博發到哪個賬號下面,那前端和後端是怎麼交互的呢,就是通過介面。
前面說的你可能不好理解,你只需記住:前端負責貌美如花,後端負責掙錢養家。
三、什麼是介面測試:
介面測試是測試系統組件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。
OK,上面是網路上說的,下面才是我說的
其實我覺得介面測試很簡單,比一般的功能測試還簡單(這話我先這樣說,以後可能會刪O(∩_∩)O哈!),現在找工作好多公司都要求有介面測試經驗,也有好多人問我(也就兩三個人)什麼是介面測試,本著不懂也要裝懂的態度,我會說:所謂介面測試就是通過測試不同情況下的入參與之相應的出參信息來判斷介面是否符合或滿足相應的功能性、安全性要求。
我為啥說介面測試比功能測試簡單呢,因為功能測試是從頁面輸入值,然後通過點擊按鈕或鏈接等傳值給後端,而且功能測試還要測UI、前端交互等功能,但介面測試沒有頁面,它是通過介面規範文檔上的調用地址、請求參數,拼接報文,然後發送請求,檢查返回結果,所以它只需測入參和出參就行了,相對來說簡單了不少。
J. 介面測試常用工具有哪些
介面測試常用工具主要有:
POSTman,RESTClient,Jmeter,Loadrunner....
等等,其中前兩者功能要弱一些(當然也易上手),後兩者功能更強大,二者比較:由於Jmeter是免費的,滿足需求的前提下,一般會優先選擇Jmeter,但是收費也有收費的道理,性能測試時,會優先選擇
LoadRunner,畢竟性能測試方便它更勝Jmeter一籌。
之前在黑馬程序員的技術文章中看到的,如果你想學軟體測試,黑馬是個不錯的選擇哦!