第4章-軟件自動化測試_第1頁
第4章-軟件自動化測試_第2頁
第4章-軟件自動化測試_第3頁
第4章-軟件自動化測試_第4頁
第4章-軟件自動化測試_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Slide128February2024第四章軟件自動化測試4.1軟件自動化測試的概念

軟件自動化測試的定義:根據(jù)測試規(guī)則編制計算機軟件,并在計算機環(huán)境中運行,自動驗證被測程序的響應(yīng)和行為。

4.1.1軟件自動化測試的意義

(1)提高軟件測試質(zhì)量;(2)提高軟件測試效率;(3)將測試人員從繁重的重復(fù)性勞動中解放出來。Slide228February20244.1軟件自動化測試的概念

1.手工測試的局限性 (1)無法實現(xiàn)代碼路徑的全覆蓋

; (2)對于機械的重復(fù)測試代價太大

; (3)無法捕捉與時序、死鎖、資源沖突、多線程相關(guān)的錯誤

; (4)無法模擬大數(shù)據(jù)量和大用戶量并發(fā)的應(yīng)用場景

; (5)難以進(jìn)行長時間的可靠性測試

; (6)難以在短時間內(nèi)實現(xiàn)大量測試

; (7)實現(xiàn)回歸測試比較麻煩

。

4.1.1軟件自動化測試的意義

Slide328February20244.1軟件自動化測試的概念

2.自動化測試的優(yōu)勢 (1)回歸測試方便,縮短了軟件測試周期; (2)能夠執(zhí)行繁瑣的程序測試,效率高; (3)測試覆蓋率高; (4)測試的一致性好,具有可重復(fù)性; (5)測試的穩(wěn)定性和可靠性高; (6)能夠執(zhí)行手工無法做的測試工作; (7)節(jié)省了人力資源,降低了測試成本。

4.1.1軟件自動化測試的意義

Slide428February20244.1軟件自動化測試的概念

1.適合做自動化測試的系統(tǒng)或場合 (1)單元測試、集成測試; (2)協(xié)議或接口相關(guān)的功能測試; (3)負(fù)載壓力測試、性能測試; (4)系統(tǒng)穩(wěn)定性和可靠性測試; (5)測試過程煩瑣、執(zhí)行動作很多的軟件。4.1.2

軟件自動化測試的應(yīng)用場合

Slide528February20244.1軟件自動化測試的概念

2.不適合做自動化測試的系統(tǒng)或場合 (1)邏輯測試、驗收測試、適應(yīng)性測試、涉及到物理交互的測試; (2)系統(tǒng)業(yè)務(wù)邏輯和交互過于復(fù)雜; (3)需求頻繁變動,穩(wěn)定性不好的軟件; (4)開發(fā)周期很短的軟件; (5)一次性開發(fā)的軟件。4.1.2

軟件自動化測試的應(yīng)用場合

Slide628February20244.1軟件自動化測試的概念

1.自動化測試的時間點 (1)功能穩(wěn)定的系統(tǒng)與開發(fā)過程同時準(zhǔn)備; (2)功能變化的系統(tǒng)待開發(fā)過程完成進(jìn)行; (3)GUI穩(wěn)定后再開始自動化測試。

2.自動化測試的覆蓋率 不要追求在很短的時間實現(xiàn)自動化測試,也不要追求100%的自動化測試覆蓋率。積累經(jīng)驗,循序漸進(jìn)的自動化測試,效果會更好。4.1.3

軟件自動化測試的重要問題

Slide728February20244.1軟件自動化測試的概念

3.把測試納入整個軟件開發(fā)計劃 自動測試是整個開發(fā)過程的有機組成部分,它必須要與開發(fā)中的軟件緊密配合。

4.自動測試依賴測試流程和測試用例 無論是手工測試還是自動測試,測試流程和測試用例的設(shè)計非常重要,只有在良好的測試用例基礎(chǔ)上,編寫測試腳本、運行測試腳本,才能保證軟件測試的效率。

4.1.3

軟件自動化測試的重要問題

Slide828February20244.1軟件自動化測試的概念

軟件自動化測試的基本原理:通過設(shè)計特殊的程序模擬測試人員對計算機的操作過程、操作行為,或者類似于編譯系統(tǒng)那樣對被測程序進(jìn)行檢查。 軟件自動化測試的基本方法:對代碼進(jìn)行靜態(tài)和動態(tài)分析、軟件功能的錄制和回放、編寫測試腳本、虛擬用戶技術(shù)和測試管理技術(shù)。

4.1.4軟件自動化測試的原理和方法Slide928February20244.1軟件自動化測試的概念

1.代碼分析分析被測對象就是對其代碼進(jìn)行語法掃描,找出不符合編碼規(guī)則的地方。根據(jù)質(zhì)量模型評價代碼質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖。

2.錄制和回放 錄制和回放屬于黑盒測試。錄制是將用戶的每一步操作都記錄下來,并轉(zhuǎn)換成腳本語言,描述運行過程和用戶的操作;回放是將腳本語言的描述轉(zhuǎn)換為屏幕上的操作,然后將被測系統(tǒng)的輸出與預(yù)期結(jié)果進(jìn)行比較。4.1.4

軟件自動化測試的原理和方法Slide1028February20244.1軟件自動化測試的概念

2.錄制和回放 錄制和回放的關(guān)鍵點是對象識別,獲得類別、名稱和屬性值。例如,UP廣告發(fā)布平臺登錄頁面的“登錄名”對象。4.1.4

軟件自動化測試的原理和方法Nativeclass:EditAttachedText:登錄名Enabled:TrueFocused:TrueHeight:20Width:120Text:admin

Slide1128February20244.1軟件自動化測試的概念

3.腳本技術(shù)腳本是一種特殊的計算機程序,包含了數(shù)據(jù)和指令。腳本技術(shù)是圍繞腳本程序的結(jié)構(gòu)而進(jìn)行的設(shè)計,可以實現(xiàn)測試用例所要求的數(shù)據(jù)輸入、操作流程和驗證點。

腳本產(chǎn)生方法:

(1)通過錄制產(chǎn)生,然后再做修改;(2)用腳本語言編寫程序。

4.1.4

軟件自動化測試的原理和方法Slide1228February20244.1軟件自動化測試的概念

4.虛擬用戶技術(shù) 通過模擬真實用戶的數(shù)量和操作行為,對被測程序施加負(fù)載,以測量系統(tǒng)的性能指標(biāo),包括響應(yīng)時間和吞吐量等。

5.自動比較 (1)靜態(tài)比較和動態(tài)比較; (2)簡單比較和復(fù)雜比較; (3)敏感性測試比較和健壯性測試比較; (4)比較過濾器。

4.1.4

軟件自動化測試的原理和方法Slide1328February20244.1軟件自動化測試的概念

1.回歸測試的概念回歸測試是指修改了舊代碼后,重新進(jìn)行測試以確認(rèn)修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤。

2.回歸測試方法 (1)重新測試全部用例

; (2)基于風(fēng)險選擇測試; (3)重新測試修改的部分。

4.1.5

軟件自動化回歸測試Slide1428February20244.1軟件自動化測試的概念

3.自動化回歸測試 (1)基于自動測試工具的測試框架,具有測試計劃驅(qū)動技術(shù)的所有優(yōu)點

; (2)充分利用測試工具的功能,與測試管理集成

; (3)基于業(yè)務(wù)流的測試,數(shù)據(jù)也是基于業(yè)務(wù)流配置的

;(4)應(yīng)用與自動測試框架分開;(5)腳本與數(shù)據(jù)分開。

4.1.5

軟件自動化回歸測試Slide1528February20244.1軟件自動化測試的概念

1.認(rèn)識不正確且期望值過高

2.缺乏有經(jīng)驗的測試人才

3.測試工具本身的質(zhì)量得不到保證

4.對于測試人員沒有進(jìn)行有效的培訓(xùn)

5.盲目引入自動化測試工具

6.沒有提供良好的測試工具使用環(huán)境

7.測試組織不夠合理

4.1.6

自動化測試容易出現(xiàn)的問題Slide1628February20244.2軟件自動化測試腳本開發(fā)技術(shù)

1.軟件自動化測試腳本的邏輯結(jié)構(gòu)

(1)數(shù)據(jù)驅(qū)動框架;(2)合理劃分腳本模塊;(3)建立函數(shù)庫。

2.設(shè)計適合測試腳本的測試用例與手工測試用例不同,自動化測試用例要求描述精確,即每條自動化測試用例的邏輯不要太復(fù)雜,驗證點不要過多,應(yīng)該清晰地描述操作步驟和驗證點信息。

4.2.1

軟件自動化測試腳本開發(fā)思路Slide1728February20244.2軟件自動化測試腳本開發(fā)技術(shù)

2.設(shè)計適合測試腳本的測試用例

4.2.1

軟件自動化測試腳本開發(fā)思路手工測試用例自動化測試用例用例名稱:登錄按鈕狀態(tài)步驟:啟動應(yīng)用系統(tǒng),進(jìn)入登錄頁面,保持用戶名和密碼框為空,登錄按鈕狀態(tài)為不可用;當(dāng)用戶名和密碼框不為空時,登錄按鈕狀態(tài)為可使用。用例1:標(biāo)題:用戶名和密碼框為空時的按鈕狀態(tài)啟動應(yīng)用系統(tǒng),進(jìn)入登錄頁面,保持用戶名和密碼框為空。驗證點:登錄按鈕狀態(tài)為不可使用(灰)。用例2:標(biāo)題:用戶名和密碼框不為空時的按鈕狀態(tài)在用戶名和密碼框中輸入字符。驗證點:登錄按鈕狀態(tài)為可以使用(亮)。用例3:標(biāo)題:用戶名和密碼框清空時的按鈕狀態(tài)在用戶名和密碼框中輸入字符。清空用戶名和密碼框中輸入的字符。驗證點:登錄按鈕狀態(tài)為不可使用(灰)。Slide1828February20244.2軟件自動化測試腳本開發(fā)技術(shù)

3.測試腳本的重構(gòu)和優(yōu)化(1)線性腳本線性腳本是錄制手工測試獲得的腳本。錄制動作有擊鍵、移動、輸入數(shù)據(jù)等,所有錄制的測試用例都可以完整地回放(2)結(jié)構(gòu)化腳本結(jié)構(gòu)化腳本具有各種邏輯結(jié)構(gòu),包括選擇、分支、循環(huán)迭代,而且還有函數(shù)調(diào)用功能。4.2.1

軟件自動化測試腳本開發(fā)思路Slide1928February20244.2軟件自動化測試腳本開發(fā)技術(shù)

3.

測試腳本的重構(gòu)和優(yōu)化(3)共享腳本共享腳本是指可以被多個測試用例使用的腳本,也允許其他腳本調(diào)用。共享腳本可以在不同主機、不同系統(tǒng)之間共享,也可以在同一主機、同一系統(tǒng)之間共享。

(4)數(shù)據(jù)驅(qū)動腳本 數(shù)據(jù)驅(qū)動腳本將測試的輸入存儲在獨立的數(shù)據(jù)文件中,而不是存儲在腳本中??梢葬槍Σ煌瑪?shù)據(jù)輸入實現(xiàn)多個測試用例4.2.1

軟件自動化測試腳本開發(fā)思路Slide2028February20244.2軟件自動化測試腳本開發(fā)技術(shù)

3.測試腳本的重構(gòu)和優(yōu)化

(5)關(guān)鍵字驅(qū)動腳本 關(guān)鍵字驅(qū)動腳本是數(shù)據(jù)驅(qū)動腳本的邏輯擴展。它將數(shù)據(jù)文件變成測試用例的描述,采用一些關(guān)鍵字指定要執(zhí)行的任務(wù)。測試腳本不僅可以在功能測試上模擬用戶的操作,比較分析,而且可以用在性能測試、負(fù)載測試上,虛擬用戶可以同時進(jìn)行相同的、不同的操作,給被測軟件施加足夠的數(shù)據(jù)和操作,檢查系統(tǒng)的響應(yīng)速度和數(shù)據(jù)吞吐能力。

4.2.1

軟件自動化測試腳本開發(fā)思路Slide2128February20244.2軟件自動化測試腳本開發(fā)技術(shù)

1.增量式調(diào)試腳本(1)按照流程和需求錄制測試腳本;(2)建立測試驅(qū)動數(shù)據(jù)集;(3)驗證點和分支的邏輯,明確數(shù)據(jù)與流程間的相關(guān)性(4)回放測試腳本。

4.2.2

軟件自動化測試腳本開發(fā)過程Slide2228February20244.2軟件自動化測試腳本開發(fā)技術(shù)

2.測試腳本同步

測試工具會用比手工按鍵快的多的速度回放已錄制的測試腳本,導(dǎo)致?lián)艨灞粶y程序。在已錄制的測試腳本中引入了人為的等待時間,放慢測試腳本的執(zhí)行。但是,這種方式并不太科學(xué)。

while語句或嵌套的loops語句是經(jīng)常采用的保證成功回放的技術(shù)。這是比較好的同步方式。 4.2.2

軟件自動化測試腳本開發(fā)過程Slide2328February20244.2軟件自動化測試腳本開發(fā)技術(shù)

3.錄制、回放隱藏的對象

腳本可能被錄制為增加或雙擊表格中一個字段或字段位置不固定的數(shù)組的值。由于位置不固定,所以可能造成回放失效措施:添加一些功能性腳本,例如“向下滾屏”、“下一頁”、“查詢”,可以在while中添加一項功能,確?;胤诺碾[藏對象可以識別。4.2.2

軟件自動化測試腳本開發(fā)過程Slide2428February20244.2軟件自動化測試腳本開發(fā)技術(shù)

4.為關(guān)鍵腳本創(chuàng)建自動的消息通知

關(guān)鍵性的業(yè)務(wù)是否被執(zhí)行是正確測試的前提條件,僅僅依賴于人工監(jiān)視是不方便的。所以,在測試腳本中應(yīng)當(dāng)設(shè)計關(guān)鍵業(yè)務(wù)執(zhí)行的消息通知。

5.編制文檔(1)測試軟件的日期;(2)更新任何需要唯一數(shù)據(jù)的字段;4.2.2

軟件自動化測試腳本開發(fā)過程Slide2528February20244.2軟件自動化測試腳本開發(fā)技術(shù)

(3)根據(jù)環(huán)境判斷模式/模擬模式/位圖錄制,調(diào)整顯示器設(shè)置;(4)列出所有具有依賴關(guān)系的測試腳本;(5)指出為了執(zhí)行腳本需要的權(quán)限級別或用戶的角色;(6)在什么條件下腳本會失敗,以及重新運行腳本的繞行方法;(7)在運行測試腳本過程中需要打開或關(guān)閉的應(yīng)用程序(8)指明數(shù)據(jù)的格式,例如,日期格式等等。

4.2.2

軟件自動化測試腳本開發(fā)過程Slide2628February20244.2軟件自動化測試腳本開發(fā)技術(shù)

6.腳本的版本控制和命名(1)項目名稱

;(2)版本號

;(3)測試種類

;(4)測試用例編號;(5)被測功能。

4.2.3

軟件自動化測試腳本開發(fā)過程Slide2728February20244.3軟件自動化測試工具

(1)支持腳本語言; (2)支持函數(shù)可重用; (3)支持外部函數(shù)庫; (4)對程序界面中的對象具有較好的識別能力; (5)支持抽象層操作; (6)支持分布式測試;4.3.1

軟件自動化測試工具的特征Slide2828February20244.3軟件自動化測試工具

(7)支持?jǐn)?shù)據(jù)驅(qū)動測試; (8)支持容錯處理; (9)具有軟件調(diào)試功能; (10)支持測試文件的管理;

4.3.1

軟件自動化測試工具的特征Slide2928February20244.3軟件自動化測試工具

1.根據(jù)測試方法分類 (1)白盒測試工具; (2)黑盒測試工具。

2.根據(jù)測試用途分類 (1)代碼覆蓋率分析器和代碼測量器; (2)內(nèi)存泄露檢測工具;

(3)可用性測試工具; (4)測試數(shù)據(jù)生成器;

4.3.2

軟件自動化測試工具的分類Slide3028February20244.3軟件自動化測試工具

2.根據(jù)測試用途分類(5)網(wǎng)絡(luò)測試工具;(6)GUI測試工具; (7)負(fù)載性能測試工具; (8)測試設(shè)計與開發(fā)工具;

(9)測試執(zhí)行與評估工具; (10)測試管理工具;

(11)專用工具。4.3.2

軟件自動化測試工具的分類Slide3128February20244.3軟件自動化測試工具

3.根據(jù)測試對象分類

(1)單元測試工具;

(2)負(fù)載性能測試工具; (3)GUI測試工具; (4)Web應(yīng)用測試工具;

(5)數(shù)據(jù)庫測試工具; (6)頁面鏈接測試工具。4.3.2

軟件自動化測試工具的分類Slide3228February20244.4MercuryInteractive整體解決方案

MI為行業(yè)提供了一套綜合自動化軟件測試的解決方案,實現(xiàn)了負(fù)載測試、功能測試和測試管理。

1.負(fù)載測試工具LoadRunner

LoadRunner是一種適用于各種體系構(gòu)架的企業(yè)級系統(tǒng)的自動負(fù)載測試工具。通過模擬實際用戶的操作行為和性能監(jiān)測,幫助查找Bug。(1)可以記錄下客戶端的操作,形成腳本文件。

(2)產(chǎn)生眾多的虛擬用戶,以虛擬用戶的方式模擬真實用戶的操作行為,創(chuàng)建系統(tǒng)負(fù)載。Slide3328February20244.4MercuryInteractive整體解決方案

1.負(fù)載測試工具LoadRunner(3)建立持續(xù)且循環(huán)的負(fù)載,定義用戶的訪問時間,根據(jù)用戶人數(shù)事先設(shè)定測試目標(biāo),優(yōu)化測試流程。

(4)實時監(jiān)測器可以在負(fù)載測試的任何時候觀察到應(yīng)用系統(tǒng)的運行性能,顯示交易性能數(shù)據(jù)和其他系統(tǒng)組件(應(yīng)用服務(wù)器、Web服務(wù)器、網(wǎng)絡(luò)設(shè)備、數(shù)據(jù)庫)的實時性能。(5)收集、匯總所有測試數(shù)據(jù),提供高級的分析報告。Slide3428February20244.4MercuryInteractive整體解決方案

2.功能測試工具WinRunner

WinRunner是基于Windows的自動化功能測試軟件。主要用于檢測應(yīng)用程序是否能夠達(dá)到預(yù)期的功能,測試復(fù)雜的企業(yè)級應(yīng)用。

(1)按照預(yù)先設(shè)計,將業(yè)務(wù)處理過程錄制下來,并轉(zhuǎn)換為測試腳本,支持測試腳本的編輯、擴展、執(zhí)行,提供測試結(jié)果報告。(2)在腳本中可以插入檢查點,包括文本、位圖和數(shù)值等,設(shè)定需要檢測的數(shù)據(jù)庫表和記錄。Slide3528February20244.4MercuryInteractive整體解決方案

2.功能測試工具WinRunner

(3)數(shù)

溫馨提示

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

評論

0/150

提交評論