《手機(jī)軟件測試工具Robotium使用課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《手機(jī)軟件測試工具Robotium使用課件(24頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),單擊此處編輯母版標(biāo)題樣式,第,*,頁,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),單擊此處編輯母版標(biāo)題樣式,手機(jī)軟件測試工具,Robotium,使用,code.google/p/robotium/,手機(jī)軟件測試工具code.google/p/robotium,內(nèi)容,Robotium,介紹,Robotium,環(huán)境搭建,Robotium,進(jìn)行測試的方法和步驟,Android,測試的其他手段,Android,測試的輔助工具,第,2,頁,內(nèi)容Robotium介紹第2頁,2,Robotium,介紹,第,3,頁,User scena
2、rio testing for Android,。,Robotium,是一款測試,Android Application,的測試框架,它使得編寫黑盒測試代碼更加容易和穩(wěn)定。通過使用,Robotium,,測試用例開發(fā)人員能夠跨越多個(gè),Activity,,開發(fā)出功能、系統(tǒng)以及驗(yàn)收測試用例。,Robotium,是基于,Android,測試框架,InstrumentationTestCase2,進(jìn)行的,2,次封裝,把一些基本操作又簡化了一遍。,Robotium介紹第3頁User scenario tes,3,Robotium,介紹,第,4,頁,Robotium,的優(yōu)勢:,針對(duì)黑盒測試,在測試過程中,不
3、必需要測試程序的源代碼,只要,apk,文件(前提是需要知道測試程序的,package,和,activity,),可以直接運(yùn)行在手機(jī)上,并通過,adb,端獲得運(yùn)行結(jié)果。,在使用該工具的時(shí)候有一點(diǎn)必須:當(dāng)編輯完測試腳本后,會(huì)生成一個(gè),apk,文件,將該,apk,安裝到手機(jī)端,并通過,abd,輸入一系列命令后直接運(yùn)行測試腳本。但該,apk,的簽名必須要與測試程序的,apk,簽名保持一致。,Robotium介紹第4頁Robotium的優(yōu)勢:,4,Robotium,環(huán)境搭建,Robotium,使用所需的環(huán)境:,JDK(Java Development Kit),Eclipse for building
4、Test project,ADT(Android Development Tools),Android SDK(Software Development Kit),Robotium-solo-*.*.*.jar,第,5,頁,Robotium環(huán)境搭建Robotium使用所需的環(huán)境:第5,5,Robotium,環(huán)境搭建,安裝,JDK,,安裝并設(shè)置環(huán)境變量,JAVA_HOME,、,CLASSPATH,和,path,下載解壓,Eclipse for java,工具,下載,Android SDK,解壓,運(yùn)行,SDK Manager.exe,文件,安裝軟件包,下載,ADT,,在,Eclipse,安裝,AD
5、T,插件,在,Eclipse,設(shè)置,Android SDK,路徑,創(chuàng)建一個(gè)新的,Android,虛擬設(shè)備,AVD,(,Android,模擬器的配置),在,code.google/p/robotium/downloads/list,下載相應(yīng)版本的,robotium,jar,文件,第,6,頁,Robotium環(huán)境搭建安裝JDK,安裝并設(shè)置環(huán)境變量JAV,6,Robotium,進(jìn)行測試的方法和步驟,以一個(gè)簡單的計(jì)算乘法的程序,AndroidCalculator,作為被測程序,如圖所示,第,7,頁,Robotium進(jìn)行測試的方法和步驟以一個(gè)簡單的計(jì)算乘法的程,7,Robotium,進(jìn)行測試的方法和步驟
6、,啟動(dòng),Eclipse,執(zhí)行,File-Import-Select root directory,選擇,AndroidCalculator,項(xiàng)目將被測程序?qū)脒M(jìn)來。,創(chuàng)建一個(gè)測試項(xiàng)目,AndroidCalculatorTest,第,8,頁,選擇,File-New-Project-Android Test Project,輸入測試工程的名稱,如:,AndroidCalculatorTest,。選擇,An existing Android Project,,點(diǎn)擊,Browse,按鈕,選擇之前創(chuàng)建的被測工程,AndroidCalculator,,點(diǎn)擊,OK,按鈕。一個(gè)測試工程就創(chuàng)建好了,如圖:,Ro
7、botium進(jìn)行測試的方法和步驟啟動(dòng)Eclipse執(zhí)行,8,Robotium,進(jìn)行測試的方法和步驟,創(chuàng)建一個(gè)測試用例,Test Case,第,9,頁,在,AndroidCalculatorTest-src-com.calculator.test,上,右擊選擇,New-Juint-Juint Test Case,。,在,Name,中輸入,Test Case,的名字,如:,TestMain,選擇,Setup(),tearDown(),和,Constructor,選項(xiàng),單擊完成。創(chuàng)建好的,Test Case,如下圖:,Robotium進(jìn)行測試的方法和步驟創(chuàng)建一個(gè)測試用例Test,9,Robotium
8、,進(jìn)行測試的方法和步驟,導(dǎo)入,robotium.jar,第,10,頁,選擇測試工程,AndroidCalculatorTest,右擊,選擇,Build Path-Configure Build Path,,在,libraries,頁面中點(diǎn)擊,Add External JARs,按鈕。因?yàn)橹皠?chuàng)建的工程的,SDK,是,2.2,的,所以選擇,robotium-solo-1.8.0.jar,。點(diǎn)擊,OK,按鈕。,Robotium進(jìn)行測試的方法和步驟導(dǎo)入robotium.j,10,Robotium,進(jìn)行測試的方法和步驟,為測試用例編寫代碼,第,11,頁,對(duì),AndroidCalculator,程序進(jìn)行
9、測試,要實(shí)現(xiàn)的一個(gè)測試用例如下:,1,)訪問的第一和第二個(gè)編輯域(,EditFields,),2,)輸入選擇的測試數(shù)據(jù),3,)訪問和點(diǎn)擊,multiply,按鈕,4,)驗(yàn)證計(jì)算的結(jié)果是否符合預(yù)期,打開,TestMain.java,進(jìn)行編輯并保存,見下圖,Robotium進(jìn)行測試的方法和步驟為測試用例編寫代碼第11,11,第,12,頁,第12頁,12,Robotium,進(jìn)行測試的方法和步驟,測試代碼的結(jié)構(gòu),第,13,頁,public,TestMain(),/,構(gòu)造函數(shù),通知系統(tǒng)要測的,app,是什么,super,(,com.calculator,Main.,class,);,/,每一個(gè),test
10、 case,都會(huì)調(diào)用,setup,來進(jìn)行初始化,protected,void,setUp(),throws,Exception,super,.setUp();,/,可以通過,tearDown(),方法來結(jié)束,case,,可以指定清空或結(jié)束此,case,曾經(jīng)調(diào)用過的一些資源,如果不寫,tearDown(),方法,系統(tǒng)會(huì)調(diào)用默認(rèn)的方法,protected,void,tearDown(),throws,Exception,super,.tearDown();,/,具體實(shí)現(xiàn)測試用例的方法,public,void,testDisplayBlackBox(),Robotium進(jìn)行測試的方法和步驟測試代碼的
11、結(jié)構(gòu)第13頁p,13,Robotium,進(jìn)行測試的方法和步驟,運(yùn)行測試程序,第,14,頁,選擇測試工程,AndroidCalculatorTest,右擊,選擇,Run As-Android JUnit Test,運(yùn)行測試程序??梢栽?Run configuration,中設(shè)置模擬器或設(shè)備區(qū)運(yùn)行測試程序。,運(yùn)行完后的測試結(jié)果界面(,Pass,),運(yùn)行完后的測試結(jié)果界面(,Fail,),Robotium進(jìn)行測試的方法和步驟運(yùn)行測試程序第14頁選擇,14,Robotium,進(jìn)行測試的方法和步驟,在模擬器或者手機(jī)上測試,第,15,頁,前面的例子在,eclipse,中進(jìn)行測試的,也可以在模擬器或者手機(jī)上
12、測試。如果需要直接在模擬器或者手機(jī)上測試,需要將測試包和被測試包改成相同的簽名。,關(guān)于測試方法可以參考,Test Android APK File With Robotium.pdf,關(guān)于,apk,包的簽名和重簽名請參考,重新簽名,APK,文件,.pdf,Robotium進(jìn)行測試的方法和步驟在模擬器或者手機(jī)上測試第,15,Android,測試的其他手段,CTS,用來確保某設(shè)備符合,Android,兼容性規(guī)范,參考,Android CTS,測試研究,.pdf,ASE,(,Android Scripting Environment,),可以通過腳本(如,Python,)調(diào)用,Android,的功能
13、,從而定制一些測試。如打電話,發(fā)短信,瀏覽網(wǎng)頁等。,可以擴(kuò)充它的,API,(,Java,部分),并用,python,腳本調(diào)用這些,API,從而實(shí)現(xiàn)豐富的測試功能。用于,API,部分可以訪問到,Android,全部,API,。,python,又能靈活部署測試,所以,ASE,的擴(kuò)展性非常好。,參考,Android Scripting Environment.pdf,第,16,頁,Android測試的其他手段CTS第16頁,16,Android,測試的其他手段,Monkey,Monkey,是一個(gè)命令行工具,,Monkey,是運(yùn)行在模擬器或設(shè)備上的一個(gè)程序,用來偽隨機(jī)地模擬點(diǎn)擊和觸摸等用戶事件,就如其
14、它許多系統(tǒng)事件一樣。,Monkey,可以用于對(duì)我們開發(fā)的應(yīng)用程序進(jìn)行隨機(jī)和重復(fù)的壓力測試。,示例:,Program FilesAndroidandroid-sdk-windowsdocsguidedevelopingtoolsmonkey.html,參考,Android,自動(dòng)化測試手段之,Monkey.pdf,第,17,頁,Android測試的其他手段Monkey第17頁,17,Android,測試的輔助工具,ADB,(,Android Debug Bridge,,,Android,調(diào)試橋),ADB,是,androidSdk,里的一個(gè)通用調(diào)試工具,這個(gè)工具可以直接操作管理,android,模擬
15、器或者真實(shí)設(shè)備的狀態(tài)。還可以進(jìn)行以下的操作:,在模擬器或設(shè)備上安裝應(yīng)用程序的,.apk,文件,快速更新設(shè)備或手機(jī)模擬器中的代碼,如應(yīng)用或,Android,系統(tǒng)升級(jí);,在設(shè)備上運(yùn)行,shell,命令,訪問模擬器或設(shè)備;,管理設(shè)備或手機(jī)模擬器上的預(yù)定端口;,在設(shè)備或手機(jī)模擬器上復(fù)制或粘貼文件;,使用,ADB,之前,把,tools,目錄下的,adb.exe,和,AdbWinApi.dll,兩個(gè)文件放到系統(tǒng)盤的,windows/system32,文件夾里,用數(shù)據(jù)線連接手機(jī)或者啟動(dòng)模擬器,然后在命令中使用,adb,命令,第,18,頁,Android測試的輔助工具ADB(Android Deb,18,An
16、droid,測試的輔助工具,Hierarchy Viewer,(層級(jí)觀察器),Hierarchy Viewer,是隨,AndroidSDK,發(fā)布的工具,位置在,tools,文件夾下,名為,hierarchyviewer.bat,,是,Android,自帶的非常有用而且使用簡單的工具,可以幫助我們更好地檢視和設(shè)計(jì)用戶界面,(UI),,調(diào)試和優(yōu)化你的用戶界面,是,UI,檢視的利器。,它可以找到我當(dāng)前窗口所有的,view,,并可以查看每個(gè),view,的屬性,查看每個(gè)控件的,id,,方便編寫,case,。,參考,UI,檢視利器:,Hierarchy Viewer.pdf,第,19,頁,Android測試的輔助工具Hierarchy Viewer,19,Android,測試的輔助工具,DDMS,(,Dalvik Debug Monitor Service,),Dalvik,調(diào)試監(jiān)視器服務(wù)提供例如:為測試設(shè)備截屏,針對(duì)特定的進(jìn)程查看正在運(yùn)行的線程以及堆信息、,Logcat,、廣播狀態(tài)信息、模擬電話呼叫、接收,SMS,、虛擬地理坐標(biāo)等等。,DDMS,將搭建起,IDE,與測試終端,(Emulator,