自動(dòng)化測(cè)試技術(shù)_第1頁(yè)
自動(dòng)化測(cè)試技術(shù)_第2頁(yè)
自動(dòng)化測(cè)試技術(shù)_第3頁(yè)
自動(dòng)化測(cè)試技術(shù)_第4頁(yè)
自動(dòng)化測(cè)試技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、自動(dòng)化測(cè)試技術(shù)分享自動(dòng)化測(cè)試技術(shù)分享宋現(xiàn)鋒宋現(xiàn)鋒 潛龍潛龍0318何為自動(dòng)化?何為自動(dòng)化?哪些能自動(dòng)化?哪些能自動(dòng)化?編寫自動(dòng)化用例中應(yīng)注意的問題編寫自動(dòng)化用例中應(yīng)注意的問題目前編寫的自動(dòng)化用例介紹目前編寫的自動(dòng)化用例介紹自動(dòng)化工具介紹自動(dòng)化工具介紹內(nèi)內(nèi) 容容 提提 要要測(cè)試用例編寫及測(cè)試過程測(cè)試用例編寫及測(cè)試過程何為自動(dòng)化?何為自動(dòng)化?n 自動(dòng)化(自動(dòng)化(Automation)是指機(jī)器設(shè)備、系統(tǒng)或)是指機(jī)器設(shè)備、系統(tǒng)或過程(生產(chǎn)、管理過程)在沒有人或較少人的直過程(生產(chǎn)、管理過程)在沒有人或較少人的直接參與下,按照人的要求,經(jīng)過自動(dòng)檢測(cè)、信息接參與下,按照人的要求,經(jīng)過自動(dòng)檢測(cè)、信息處理、分

2、析判斷、操縱控制,實(shí)現(xiàn)預(yù)期的目標(biāo)的處理、分析判斷、操縱控制,實(shí)現(xiàn)預(yù)期的目標(biāo)的過程。過程。n 我們測(cè)試領(lǐng)域中的自動(dòng)化,就是我們測(cè)試領(lǐng)域中的自動(dòng)化,就是“把以人為驅(qū)動(dòng)把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程。的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程?!眓 自動(dòng)化測(cè)試的自動(dòng)化測(cè)試的 7 個(gè)步驟個(gè)步驟:改進(jìn)自動(dòng)化測(cè)試過程,改進(jìn)自動(dòng)化測(cè)試過程,定義需求,驗(yàn)證概念,支持產(chǎn)品的可測(cè)試性,具定義需求,驗(yàn)證概念,支持產(chǎn)品的可測(cè)試性,具有可延續(xù)性的設(shè)計(jì),有計(jì)劃的部署和面對(duì)成功的有可延續(xù)性的設(shè)計(jì),有計(jì)劃的部署和面對(duì)成功的挑戰(zhàn)。挑戰(zhàn)。哪些能自動(dòng)化?哪些能自動(dòng)化?n 軟件需求變動(dòng)不頻繁軟件需求變動(dòng)不頻繁 測(cè)試腳本的穩(wěn)定

3、性決定了自動(dòng)化測(cè)試的維測(cè)試腳本的穩(wěn)定性決定了自動(dòng)化測(cè)試的維護(hù)成本,如果變動(dòng)過于頻繁,維護(hù)成本太高。護(hù)成本,如果變動(dòng)過于頻繁,維護(hù)成本太高。n 項(xiàng)目周期足夠長(zhǎng)項(xiàng)目周期足夠長(zhǎng) 若項(xiàng)目周期太短,或是緊急上線的新功能,若項(xiàng)目周期太短,或是緊急上線的新功能,新產(chǎn)品是不適合去用自動(dòng)化測(cè)試的。新產(chǎn)品是不適合去用自動(dòng)化測(cè)試的。n 自動(dòng)化測(cè)試腳本可重復(fù)使用自動(dòng)化測(cè)試腳本可重復(fù)使用 若自動(dòng)化腳本利用率不高,測(cè)會(huì)造成人力的若自動(dòng)化腳本利用率不高,測(cè)會(huì)造成人力的浪費(fèi)。浪費(fèi)。自動(dòng)化工具介紹自動(dòng)化工具介紹n PHPUnit 簡(jiǎn)介簡(jiǎn)介 PHPUnit是一個(gè)輕量級(jí)的是一個(gè)輕量級(jí)的PHP測(cè)試框架。它測(cè)試框架。它是在是在PHP5

4、下面對(duì)下面對(duì)JUnit3系列版本的完整移植,系列版本的完整移植,是是xUnit測(cè)試框架家族的一員測(cè)試框架家族的一員(它們都基于模式先它們都基于模式先鋒鋒Kent Beck的設(shè)計(jì)的設(shè)計(jì))。 類似的其他語言的還有類似的其他語言的還有JUNIT(java),),NUNIT(c#),UNITTEST(python)以及以及Rspec(Ruby). n PHPUNIT的安裝的安裝方法一:方法一: 使用使用Pear 運(yùn)行運(yùn)行 pear channel-discover pear.phpunit.de; pear install phpunit/PHPUnit 方法二方法二 :手動(dòng)安裝:手動(dòng)安裝 1 從從h

5、ttp:/pear.phpunit.de/get/下載軟件包并解壓下載軟件包并解壓 2 把解壓后的目錄加入把解壓后的目錄加入php.ini中的中的include_path 3 將腳本將腳本pear-phpunit改名為改名為phpunit 4 將將phpunit腳本中的腳本中的php_bin替換成替換成php可執(zhí)行腳本可執(zhí)行腳本的路徑的路徑 5 為為phpunit腳本增加可執(zhí)行權(quán)限并加入腳本增加可執(zhí)行權(quán)限并加入$PATH 6 將將PHPUnit/Runner/Version.php中的中的package_version替換成替換成3位位 版本號(hào)。版本號(hào)。n 測(cè)試用例的結(jié)構(gòu)測(cè)試用例的結(jié)構(gòu)setB

6、rowser(*chrome); $this-setBrowserUrl(http:/ public function testMyTestCase() /具體測(cè)試工作具體測(cè)試工作 $this-open(/); $this-click(css=body); public function tearDown() /清除工作清除工作 $this-selenium-stop(); ?n 斷言常用的有:斷言常用的有:n assertLocationassertLocation(判斷當(dāng)前是在正確的頁(yè)面)、(判斷當(dāng)前是在正確的頁(yè)面)、n assertTitleassertTitle(檢查當(dāng)前頁(yè)面的(檢查當(dāng)

7、前頁(yè)面的titletitle是否正確)是否正確)n assertValueassertValue(檢查(檢查inputinput的值,的值, checkbox checkbox或或radioradio,有值為,有值為”on”on”無為無為”off”off)n assertSelectedassertSelected(檢查(檢查selectselect的下拉菜單中選中的下拉菜單中選中是否正確)是否正確)n assertSelectedOptionsassertSelectedOptions(檢查下拉菜單中的選項(xiàng)(檢查下拉菜單中的選項(xiàng)的是否正確)的是否正確)n assertTextassertTe

8、xt(檢查指定元素的文本)(檢查指定元素的文本)n assertTextPresentassertTextPresent(檢查在當(dāng)前給用戶顯示的頁(yè)(檢查在當(dāng)前給用戶顯示的頁(yè)面上是否有出現(xiàn)指定的文本)面上是否有出現(xiàn)指定的文本)n assertTextNotPresentassertTextNotPresent(檢查在當(dāng)前給用戶顯示(檢查在當(dāng)前給用戶顯示的頁(yè)面上是否沒有出現(xiàn)指定的文本)的頁(yè)面上是否沒有出現(xiàn)指定的文本)n assertAttributeassertAttribute(檢查當(dāng)前指定元素的屬性的值(檢查當(dāng)前指定元素的屬性的值)n assertTableassertTable(檢查(檢查t

9、abletable里的某個(gè)里的某個(gè)cellcell中的值)中的值)n assertEditableassertEditable(檢查指定的(檢查指定的inputinput是否可以編輯是否可以編輯)n assertNotEditableassertNotEditable(檢查指定的(檢查指定的inputinput是否不可是否不可以編輯)以編輯)n assertAlertassertAlert(檢查是否有產(chǎn)生帶指定(檢查是否有產(chǎn)生帶指定messagemessage的的alertalert對(duì)話框)對(duì)話框)n waitForElementPresent waitForElementPresent (等

10、待檢驗(yàn)?zāi)吃氐拇妫ǖ却龣z驗(yàn)?zāi)吃氐拇嬖?。為真時(shí),則執(zhí)行。在。為真時(shí),則執(zhí)行。) )Selenium介紹介紹n Selenium 是是ThroughtWorks 公司一個(gè)強(qiáng)大的開公司一個(gè)強(qiáng)大的開源源Web 功能測(cè)試工具系列,功能測(cè)試工具系列,1. Selenium 可以使用錄制工具錄制腳本,測(cè)試頁(yè)可以使用錄制工具錄制腳本,測(cè)試頁(yè)面。面。2. Selenium 可以生成類可以生成類PHP代碼,代碼,html 代碼,代碼,java 代碼,代碼,ruby 代碼等。代碼等。3. Selenium 錄制工具根據(jù)錄制工具根據(jù)id 屬性定位屬性定位html 元素。元素。4.Selenium IDE 僅支持僅支

11、持Selenium 語言。語言。5.Selenium RC 支持很多語言,如:支持很多語言,如:PHP,C#,Java,Python,Ruby 等。等。Selenium+PHPUNIT環(huán)境的結(jié)合環(huán)境的結(jié)合1,安裝,安裝Firefox,Selenium IDE 插件,插件,F(xiàn)irebug 插件插件2, 解壓解壓Selenium 的的selenium-remote-control 包,包,得到一個(gè)服務(wù)器,或者在線安裝:得到一個(gè)服務(wù)器,或者在線安裝: pear install phpunit/PHPUnit_Selenium3,下載,下載Selenium-RChttp:/ 安裝安裝selenium

12、server:只要安裝了只要安裝了jdk1.6 或或1.7 都都可以運(yùn)行可以運(yùn)行selenium-server,在命令行輸入,在命令行輸入: java -jar selenium-server-standalone-2.22.0.jar測(cè)試用例編寫及測(cè)試過程測(cè)試用例編寫及測(cè)試過程n 測(cè)試腳本的錄制測(cè)試腳本的錄制 用用Selenium錄制測(cè)試操作,并轉(zhuǎn)化成錄制測(cè)試操作,并轉(zhuǎn)化成PHPUNIT腳腳本,保存成對(duì)應(yīng)該的文件。在要檢測(cè)的地方,加上適本,保存成對(duì)應(yīng)該的文件。在要檢測(cè)的地方,加上適當(dāng)?shù)漠?dāng)?shù)腁ssert語句。語句。n 運(yùn)行運(yùn)行Selenium Server 服務(wù)器服務(wù)器 在在CMD窗口是運(yùn)行命

13、令:窗口是運(yùn)行命令: java -jar selenium-server-standalone-2.22.0.jarn 調(diào)試測(cè)試腳本調(diào)試測(cè)試腳本 另外開一個(gè)另外開一個(gè)CMD窗口,進(jìn)入測(cè)試腳本所在目錄,窗口,進(jìn)入測(cè)試腳本所在目錄,運(yùn)行:運(yùn)行:phpunit 測(cè)試文件名測(cè)試文件名.phpn 根據(jù)運(yùn)行結(jié)果,查找原因。分析一下是測(cè)試腳本根據(jù)運(yùn)行結(jié)果,查找原因。分析一下是測(cè)試腳本的原因,或是被測(cè)試對(duì)象的原因。如果是腳本的的原因,或是被測(cè)試對(duì)象的原因。如果是腳本的原因,修改測(cè)試腳本,如果是被測(cè)試對(duì)象的問題原因,修改測(cè)試腳本,如果是被測(cè)試對(duì)象的問題,就查找程序的原因。,就查找程序的原因。編寫自動(dòng)化用例中應(yīng)注

14、意的問題編寫自動(dòng)化用例中應(yīng)注意的問題n 測(cè)試對(duì)象的定位測(cè)試對(duì)象的定位 在在WEB級(jí)測(cè)試的過程中,最麻煩的是測(cè)試對(duì)象的定級(jí)測(cè)試的過程中,最麻煩的是測(cè)試對(duì)象的定位。位。Selenium有很多定位的方法,請(qǐng)自行學(xué)習(xí)。有有很多定位的方法,請(qǐng)自行學(xué)習(xí)。有個(gè)注意事項(xiàng):如果要定位新打開窗口中的元素,必個(gè)注意事項(xiàng):如果要定位新打開窗口中的元素,必須先選定新窗口:須先選定新窗口:selectWindow()。()。n 測(cè)試對(duì)象的掃描測(cè)試對(duì)象的掃描 在測(cè)試用例執(zhí)行的過程中,有的時(shí)候由于頁(yè)面刷新在測(cè)試用例執(zhí)行的過程中,有的時(shí)候由于頁(yè)面刷新的原因,可能出現(xiàn)找不到的情況,這個(gè)時(shí)候加些兒的原因,可能出現(xiàn)找不到的情況,這個(gè)

15、時(shí)候加些兒必要的必要的Sleep()語句。語句。n Selenium 函數(shù)和函數(shù)和Assert語句的選擇語句的選擇 (1) Selenium API函數(shù)參考手冊(cè)函數(shù)參考手冊(cè) (2)Selenium入門:入門:http:/ (3)Assert語句介紹語句介紹 思想之地:思想之地: /tag/phpunit phpunit -assert系列函數(shù):系列函數(shù):http:/ 測(cè)試用例編寫規(guī)范測(cè)試用例編寫規(guī)范 在測(cè)試用例編寫的過程中,一定要加上注釋。在測(cè)試用例編寫的過程中,一定要加上注釋。最少要定位到函數(shù)級(jí),在關(guān)鍵的語句前一定要加上最少要定位到函數(shù)級(jí),在關(guān)鍵的語句前一定要加上注釋。注釋。n 擴(kuò)展資料:擴(kuò)展資料: 軟件測(cè)試網(wǎng):軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論