日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小白必读-所有测试大咖都知道的自动化知识

發布時間:2023/12/31 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小白必读-所有测试大咖都知道的自动化知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

目錄:

一、自動化測試與測試自動化

二、什么是自動化測試框架

三、自動化測試框架架構與組件

四、自動化測試框架的類型

五、測試自動化框架的好處

一、自動化測試與測試自動化

自動化測試是指使用自動化測試工具代替人工的方式來執行測試用例。使用工具的原因一方面是為了代替人工執行那些簡單、重復而枯燥的動作,從而節省人工的時間,讓測試人員投入到真正有價值的探索式測試中;另一方面,像性能測試之類的的壓測場景我們很難使用人海戰術進行測試而只能借助于工具模擬的方式來進行。

測試自動化是指在軟件測試全生命周期(STLC:Software Testing Lifecycle)過程中每一個環節都盡可能用自動化的方式來解決。所以它不僅僅關注測試執行過程,還包括測試數據準備、測試環境搭建等等都可以通過自動化的方式實現。

今天我們談談自動化測試,當我們在IT部門定義自動化測試時,它意味著通過不同的自動化工具在應用程序上執行測試。這些工具可以是開源的,也可以是商業的。

二、什么是自動化測試框架

在我們討論自動化測試框架之前,先了解一下什么是框架。

框架是標準和規則的組合,當遵循這些標準和規則時,企業可以使用它們來獲得最大的收益。同樣自動化測試框架是用于創建自動化腳本的特定方法,它是一組為自動化提供支持的原則、概念和實踐。

自動化測試框架的特點:

在編寫腳本時遵循一組嚴格的原則。這些原則主要關注于減少自動化腳本的維護和提高腳本的質量。

確保自動化腳本具有數據可行性,因此它們可以在各種數據集上執行。實現可重用、健壯和高效的自動化腳本。

三、自動化測試框架架構與組件

在了解自動化測試框架組件之前先來了解自動化測試框架架構。下圖列出了一個最基本的自動化測試框架架構:

一個基礎的自動化測試框架體系結構涉及以下主要組件:

1、驅動引擎

控制其他組件或者工具執行的主要代碼。有些框架和執行引擎在同一個工具里面,大部分商業工具都如此,比如QTP/UFT和Tosca;有些框架需要借助外部的測試工具,比如RobotFramework框架集成Selenium或者Appium等。

2、數據管理(數據管理包括三個方面)

1、參數管理:需要對輸入輸出參數進行統一管理,提高腳本可維護性

2、環境變量:需要對測試環境變量做到可配置管理,提高腳本的健壯性

3、測試數據:測試數據的輸入,是否能支持多種文件格式的導入,甚至是數據庫直接取數的接口等

3、對象存儲庫

保存對象定義的文件。

4、異常處理

當腳本執行出現錯誤的時候,需要有異常處理的機制,是繼續往下執行還是直接退出?這里需要有處理錯誤或異常的機制。

5、執行機制

執行腳本的機制。是否批量執行?是否定時執行?是否可分布式執行?

6、測試結果及報告(存在兩個層面的測試報告)

腳本層面:測試報告是否可以顯示每個腳本的執行時間、每個步驟的執行時間、每個步驟的執行結果、錯誤日志和錯誤截圖等;

任務層:每個執行任務到底多少腳本執行成功、多少腳本執行失敗、百分比如何等等。

四、自動化測試框架的類型

現在已經理解了什么是自動化測試框架以及組件,讓我們看看不同類型的框架。自動化測試涵蓋了一系列測試框架。在這里,我將介紹最常見的類型。

1、線性自動化測試框架

線性自動化測試框架涉及入門級測試。測試人員依次創建測試腳本并單獨運行它們。不需要編寫自定義代碼。所以測試人員不必是自動化專家。此外,快速的工作流是線性自動化框架最大的優點。

例如:

SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set "ChenXiaoCai"

Dialog("Login").WinEdit("Password:").Set "666"

Dialog("Login").WinButton("OK").Click

'Check Flight Reservation Window has loaded after successful log-on

Window("Flight Reservation").Check CheckPoint("Flight Reservation")

好處:

1. 生成腳本的最快方式

2. 不需要自動化專業知識

3. 了解測試工具特性的最簡單方法

壞處:

1. 很少重用腳本

2. 測試數據硬編碼到腳本中

3. 維護的噩夢

2、模塊測試框架

基于模塊的測試框架將測試用例分解為小模塊。然后,它遵循非增量和增量的方法。在那里,首先對模塊進行獨立測試,然后對整個應用程序進行測試。這使得每個測試都是獨立的。

此外,一旦測試人員編寫了函數庫,您也可以在其中存儲腳本。由于您可以輕松地在單個腳本中進行更改,因此不需要調整整個應用程序。因此,測試需要更少的時間和精力。

好處:

1. 該框架引入了高水平的模塊化,這使得維護更容易、更經濟。

2. 這個框架是可擴展的

3. 如果更改是在應用程序的某個部分中實現的,那么只需要修復表示該應用程序的那個部分的測試腳本,以保持所有其他部分不變。

壞處:

在為每個模塊分別實現測試腳本時,我們將測試數據(我們應該使用這些數據執行測試)嵌入到測試腳本中。因此,無論何時我們需要使用不同的測試數據集進行測試,都需要在測試腳本中進行操作

3、庫架構測試框架

使用庫架構測試框架,框架識別測試腳本中具有相似性的任務。之后,測試人員根據功能對類似的任務進行函數封裝。然后,庫存儲所有排序后的函數。因此,它促進了代碼在不同測試腳本之間的可重用性。

例如,我們可以把登錄作為一個公共的函數

Function Login()

SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set "ChenXiaoCai"

Dialog("Login").WinEdit("Password:").Set "666"

Dialog("Login").WinButton("OK").Click

End Function

接下來就可以在其他地方調用

Call Login()

---------------------------

Other Function calls / Test Steps.

---------------------------

好處:

1. 與“記錄和回放”相比,結構化腳本實現了更高級別的代碼重用。

2. 由于更高的代碼重用,自動化腳本的開發成本更低

3. 簡單的腳本維護

壞處:

1. 使用測試庫框架編寫腳本需要專業的技術知識。

2. 需要更多的時間來計劃和準備測試腳本。

3. 測試數據硬編碼在腳本中

4、數據驅動測試框架

數據驅動的測試框架隔離測試腳本邏輯和測試數據。之后,它在外部存儲數據。這里,目標是為測試不同的數據集創建可重用的測試腳本。測試人員可以更改數據以更改測試場景。這確保了代碼的可重用性。

例如:

1. 首先先在CSV、Excel文件或者其他數據源創建測試數據列表

?

AgentName

?

Password

?

Jimmy

?

Mercury

?

Tina

?

MERCURY

?

Bill

?

MerCURY

2. 編寫腳本,登錄名和密碼與數據源匹配

SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet)

Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet)

Dialog("Login").WinButton("OK").Click

'Check Flight Reservation Window has loaded

Window("Flight Reservation").Check CheckPoint("Flight Reservation")

**Note "dtGlobalSheet" is the default excel sheet provided by QTP.

好處:

1. 對測試腳本的更改不會影響測試數據

2. 可以使用多個數據集執行測試用例

3. 只要更改外部數據文件中的測試數據,就可以執行各種測試場景

壞處:

需要更多的時間來計劃和準備測試腳本和測試數據

5、關鍵字(數據表)驅動測試框架

關鍵字驅動的測試框架將腳本邏輯從測試數據中分離出來。然后,它在外部存儲數據。之后,它將關鍵字存儲在不同的位置。與動作測試GUI相關的關鍵字是測試腳本的一部分。關鍵字將自己與對象或操作相關聯。因為測試人員可以在不同的測試腳本中使用相同的關鍵字,所以它提高了可重用性。(測試交流群:829792258/行業大神交流探討/共享資料)

一個關鍵字驅動框架有3個基本組件,即關鍵字、應用程序映射、組件功能。

什么是關鍵字?

關鍵字是可以在GUI組件上執行的操作。比如:對于GUI組件文本框,一些關鍵字(動作)是InputText, VerifyValue, VerifyProperty等。

什么是應用程序映射?

應用程序映射為GUI組件提供命名引用。應用程序映射只不過是“對象存儲庫”

什么是組件函數?

組件函數是那些主動操作或查詢GUI組件的函數。函數的一個例子是,點擊web按鈕進行所有錯誤處理,在web編輯中輸入數據進行所有錯誤處理。組件函數可以依賴于應用程序,也可以獨立于應用程序。

例如:

步驟1:創建數據表(不同于在數據驅動框架中創建的測試數據表)。這個數據表包含要在GUI對象上執行的操作和相應的參數(如果有的話)。每一行代表一個測試步驟。

?

Object

?

(Application MAP)

?

Action

?

(KEYWORDS)

?

Argument

?

?

WinEdit(Agent Name)

?

Set

?

ChenXiaoCai

WinEdit(Password)

?

Set

?

666

WinButton(OK)

?

Click

?

?

Window(Flight Reservation)

?

Verify

?

Exists

步驟2:以組件函數的形式編寫代碼。

一旦創建了數據表,只需編寫一個程序或一組腳本,讀取每個步驟,根據包含Action字段的關鍵字執行步驟,執行錯誤檢查,并記錄所有相關信息。這個程序或腳本集將看起來像下面的偽代碼:

Function main()

{

Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table.

while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table.

{

Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99).

}

}

Call CloseConnection() //Function for Closing connection after all the operation has been performed.

} //End of main

優點:

1. 提供高的代碼可重用性

2. 測試工具的獨立

3. 獨立于測試中的應用程序,相同的腳本適用于AUT(有一些限制)

4. 測試可以使用或不使用AUT進行設計

缺點:

1. 初始投資相當高,只有當應用程序相當大并且測試腳本要維護好幾年的時候,才能實現這種好處。

2. 創建關鍵字驅動框架需要很高的自動化專業知識。

6、混合測試框架

混合測試框架可以減少不同測試框架的缺陷。它通過組合不同框架的部分來利用這些優勢,從而提供了靈活性。因此,測試的效率也得到了提高。

比如,登錄的腳本如下:

SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set "ChenXiaocai"

Dialog("Login").WinEdit("Password:").Set "666"

Dialog("Login").WinButton("OK").Click

'End of Script

現在您可以在主腳本中調用這個操作,如下所示:

RunAction ("Login[Argument]", oneIteration)

?

五、測試自動化框架的好處

為什么我們有了自動化測試工具之后還必須需要使用自動化測試框架?因為自動化測試框架可以提供很多好處:

1. 優化的資源

測試框架有助于優化資源。它通過根據組織需要促進不同資源的使用來做到這一點。

例如,為了實現既定的目標,測試自動化框架提供了一組過程。這些流程必須將資源與需求匹配起來。采用的靈活性越高,資源優化就會越好。

2. 增加測試量

測試自動化框架增加了測試量。例如,新的移動設備每隔一天就會出現。不可能對所有對象執行手工測試。即使一家公司成功地做到了這一點,也要花很長時間。但是自動化測試使測試人員能夠同時在數千個移動設備上運行測試。

3.同時測試

測試自動化框架支持同時測試不同類型的設備。當測試腳本被自動化時,所有測試人員需要做的就是在不同的設備上運行它們。由于參數相同,測試人員可以快速生成比較測試報告。

4. 提高速度和可靠性

編寫和運行測試對于任何軟件公司來說都是非常耗時的。測試自動化框架減少了執行這些活動的時間。假設您正在測試網站的注銷功能。如果有多個測試場景,對于每個場景,您都必須手動測試注銷功能是否正常工作。但是如果您正在使用一個框架,您可以同時運行所有的場景并在很短的時間內獲得測試結果。此外,由于使用了自動化工具,自動化測試更加可靠。這減少了出錯的機會。

5. 用更少的時間產出更多的產品

測試自動化減少了同步、本地配置、錯誤管理和報告生成方面的挑戰。自動化腳本最小化了準備和運行測試所花費的時間。隨著效率和速度的提高,企業可以在更短的時間內獲得更多的產出。

6. 在早期階段修復bug

測試自動化框架有助于在早期階段修復bug。你不需要太多的人力來為你執行,這意味著工作時間和費用也減少了。測試自動化工程師可以編寫腳本并自動化測試。

7. 遠程測試

有了測試自動化框架,就沒有必要每天24小時呆在辦公場所。例如,您可以在離開之前開始運行一個測試。幾小時后你回來時,測試結果就會出來了。此外,你不需要買很多設備,因為你可以遠程測試。

可重用的自動化代碼

您可以在不同的應用程序中重用測試自動化腳本。假設您的組織的測試人員編寫了一些腳本來測試登錄功能。您可以對另一個具有登錄功能的應用程序使用相同的腳本。

總結

以上是生活随笔為你收集整理的小白必读-所有测试大咖都知道的自动化知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。