敏捷測試 - 工具



在敏捷專案中,測試人員負責以下日常任務:

  • 支援開發人員進行編碼,並澄清系統預期行為。

  • 幫助開發人員建立有效且高效的單元測試。

  • 開發自動化指令碼。

  • 將自動化測試工具/指令碼與持續整合整合,以進行迴歸測試。

為了有效且快速地執行這些任務,大多數敏捷專案都使用支援程式碼和測試元件持續整合的持續整合 (CI) 系統。

敏捷專案中的測試人員和開發人員可以利用各種工具來管理測試會話以及建立和提交缺陷報告。除了專門用於敏捷測試的工具外,敏捷團隊還可以從測試自動化和測試管理工具中受益。

注意 - 錄製和回放、測試後、重量級和測試自動化解決方案不是敏捷的,因為:

  • 此類工具鼓勵的測試後工作流不適用于敏捷團隊。

  • 使用此類工具建立的難以維護的指令碼成為變更的障礙。

  • 此類專用工具需要測試自動化專家,從而導致形成孤島。

廣泛使用的工具包括:

序號 工具及用途
1

Hudson

CI 框架

2

Selenium

功能測試 - 與 Hudson 整合

3

CruiseControl

CI 框架

4

Junit

Java 單元測試

5

Nunit

.Net 單元測試

6

Cobertura / JavaCodeCoverage / JFeature / JCover /

Java 測試覆蓋率

7

Jester

Java - 變異測試/自動錯誤注入

8

Gretel

Java 測試覆蓋率監控工具

9

TestCocoon

C/C++ 或 C# - 透過查詢冗餘測試並查詢死程式碼來減少測試量

10

JAZZ

Java - 分支、節點和覆蓋範圍,並實現 GUI、測試計劃器、動態檢測和測試分析器

11

Ant

Java – 自動化構建

12

Nant

.Net - 自動化構建

13

Bonfire

JIRA 的敏捷測試外掛

敏捷測試自動化工具

有效的敏捷測試自動化工具支援:

  • 使用測試優先方法進行早期測試自動化。

  • 使用真實的語言、領域特定語言編寫測試自動化程式碼。

  • 專注於系統的預期行為。

  • 將測試的本質與實現細節分離,從而使其獨立於技術。

  • 促進協作。

自動化單元測試(使用 Junit 或 NUnit)支援程式碼的測試優先方法。這些是白盒測試,確保設計合理且沒有缺陷。此類測試由開發人員在測試人員的支援下構建,並且可以獨立於所需的功能。這導致交付的產品可能不滿足客戶需求,因此沒有業務價值。

透過自動化驗收測試來解決此問題,這些測試是在客戶、其他利益相關者、測試人員和開發人員的協作下編寫的。自動化驗收測試由客戶或產品負責人/業務分析師編寫,反映了產品的預期行為。開發人員的參與確保根據需求生成程式碼。但是,如果測試僅側重於驗收,則生成的程式碼可能仍然無法擴充套件。

因此,自動化單元測試和自動化驗收測試是互補的,敏捷開發都需要兩者。

支援自動化驗收測試的敏捷工具和框架包括:

  • Fit
  • Fitnesse
  • Concordion
  • Ruby
  • Cucumber

Fit

Ward Cunningham 開發了 Fit 工具,可用於驗收測試自動化。Fit 允許:

  • 客戶或產品負責人使用 Microsoft Word 和 Microsoft Excel 提供產品行為示例。

  • 程式設計師可以輕鬆地將這些示例轉換為自動化測試。

Fit 1.1 支援 Java 和 .NET。

FitNesse

FitNesse 是一種 Wiki,它是一種 Web 伺服器樣式,允許任何訪問者進行任何編輯,包括更改現有頁面和建立新頁面。一個簡單的標記語言可以讓您輕鬆建立標題、使文字加粗、下劃線和斜體、建立專案符號列表以及執行其他各種簡單的格式化操作。

在 FitNesse 中,驗收測試自動化如下:

  • 將測試表示為輸入資料和預期輸出資料的表格。

  • 使用 FitNesse 將測試表放在您可以編輯的頁面上。

    • 或者,將測試表放在 Microsoft Excel 中,複製到剪貼簿,然後使用電子表格到 FitNesse 命令讓 FitNesse 正確格式化您的表格。

  • 執行測試。

  • 您可以透過測試表中單元格的顏色編碼獲取測試結果。

    • 綠色單元格表示獲得了預期值。

    • 紅色單元格表示獲得的值與預期值不同。

    • 黃色單元格表示丟擲了異常。

Cucumber

Cucumber 是一種基於行為驅動開發 (BDD) 框架的工具。主要功能包括:

  • 用於編寫 Web 應用程式的驗收測試。

  • 允許以易於閱讀和理解的格式(如純英語)自動化功能驗證。

  • 在 Ruby 中實現,然後擴充套件到 Java 框架。兩者都支援 Junit。

  • 支援其他語言,如 Perl、PHP、Python、.Net 等。

  • 可以與 Selenium、Watir、Capybara 等一起使用。

廣告

© . All rights reserved.