2011-04-26 77 views
6

我正在評估少數測試自動化框架,並希望得到一些輸入。我們有一個大型的信用處理業務應用程序,它有三個端點:web ui,soap和基本的http/post。我的要求如下。爲我的方案建議測試自動化框架

我們的QA非常適用於數據驅動的測試(所有輸入數據來自excel,因此斷言的預期結果也是如此)。基本上,Excel表格中的每一行都包含輸入數據和相應的預期結果。我們希望我們的QA只編輯Excel表格。我們的開發團隊將負責提供必要的測試庫/夾具。鑑於上述情況,我想使用1個自動化框架,可以讀取這些Excel表格並測試我的應用程序的所有端點,即web ui,soap和http/post。請讓我知道哪個測試自動化框架適合我的需求。欣賞一些指針和教程讓我開始。

回答

2

我已經通過幾所建議的框架,但我做出了最終選擇了是寫在

  1. Spock
  2. Geb
  3. Groovy的頂自己的域名庫(DSL如果你願意)和
  4. HTTP Builder
  5. 聲納和Hudson

作爲CI的一部分,我們目前每天晚上運行14000+(以及不斷增長的)迴歸測試。

3

推薦使用Fit/Fitness。這是允許業務分析師自行運行測試的好方法。

+0

感謝您推薦Fit。雖然我喜歡它,但用wiki語法編寫測試的整個過程對於QA來說是壓倒性的,而且我們想要版本控制測試 – 2011-04-26 01:26:07

+0

Fitnesse非常適合這一點,它可以使用selenium for webui並且有一個可以執行的restfixture肥皂位。它也可以在任何VCS下正常工作,並且嚴格地說,部分訓練過的猴子可以使用wiki ... – Bill 2011-04-26 14:38:25

1

我不知道有一個工具可以讓你用存儲在電子表格中的數據來測試所有的端點。您需要着眼於編寫一個基於現有測試運行器的自定義測試運行器,以便從電子表格中讀取數據。但是,我會更專注於選擇一個適合您嘗試測試的端點的工具。對於Web UI,我會推薦seleniumHtmlUnit。您需要查看替代方法,以便將電子表格中的數據導入到這些測試中。但是,這些將盡可能地使用戶界面儘可能接近用戶。

爲了測試肥皂終點,我建議使用JUnit編寫單元測試並嘲笑後端。您可以使用單元測試單獨測試後端,以確保其正常工作。根據您的應用程序體系結構,這可能不適合您。您可能希望將它們設置爲集成測試,並通過JUnit執行並聲明返回的消息。再次,您需要編寫一個從電子表格中獲取數據和期望值的庫。

希望這對你有所幫助。

0

我可以推薦soapUI(http://www.soapui.org/)或JMeter應用程序(http://jmeter.apache.org/)。

使用SoapUI我已經對我的(soap-)webservice進行了功能測試。您可以自動執行這些測試。

使用Apache JMeter我在Web UI上完成了自動性能測試。測試數據也基於Excel表格。

親切的問候,帕特里克

0

你可能想看看Twist來自ThoughtWorks的。這是一個功能測試IDE。 QA/BA可以使用自然語言來定義測試用例。 Twist使用Selenium和JUnit,因此生成的測試用例可以受版本控制。

我同意@stuartf,你不會找到一個開箱即用的解決方案,它將載入excel數據並對其進行斷言。您可以使用POI或其他一些Excel閱讀器在您的測試框架中加載數據。

5

Robotframework可以使用來自外部文件的測試數據。我還沒有嘗試使用Excel工作表,但是我已經使用CSV格式的數據以及JSON完成了它。在最糟糕的情況下,您可能必須將Excel數據導出爲Python友好的格式,但可以對維護電子表格的人員透明地完成。

簡而言之,您可以在python(或使用jython的任何基於JVM的語言)中創建一個關鍵字,該關鍵字讀入電子表格並將其轉換爲測試用例可用的數據。

儘管如果絕對所有的測試都是從這個數據文件驅動的,你不需要一個框架。只需用任何遍歷每行的語言編寫一個簡短腳本,然後調用一個函數,該函數的作用與curl或wget相當。如果您需要一種方法來表示您的測試場景,但您已經擁有該場景,則框架非常有用。

儘管如此,使用機器人的好處是 - 即使您只有一個測試說「使用電子表格的每一行進行驗證」 - 也就是您可以獲得機器人具有的良好報告,並且可以很容易地將它與jenkins/hudson整合在一起。