为我的场景建议一个测试自动化框架

时间:2011-04-26 01:13:52

标签: java testing automation fitnesse robotframework

我正在评估一些测试自动化框架,并希望得到一些意见。我们有一个大型的信用处理业务应用程序,它有三个端点:web ui,soap和基本的http / post。我的要求如下。

我们的QA非常习惯于数据驱动的测试(所有输入数据都来自excel,因此断言的预期结果也是如此)。基本上,Excel工作表中的每一行都包含输入数据和相应的预期结果。我们希望我们的质量检查只需编辑Excel工作表。我们的开发团队将负责提供必要的测试库/夹具。鉴于上述情况,我想使用1个单独的自动化框架,可以读取这些excel表并测试我的应用程序的所有端点,即web ui,soap和http / post。请告诉我哪个测试自动化框架符合我的需求。感谢一些指导和教程让我开始。

6 个答案:

答案 0 :(得分:5)

Robotframework可以使用来自外部文件的测试数据。我没有尝试过excel表,但我已经用CSV格式的数据和JSON完成了它。在最坏的情况下,您可能必须将您的Excel数据导出为python友好格式,但这可以透明地对维护电子表格的人员进行。

简而言之,您可以在python(或任何基于JVM的语言,如果您使用jython)中创建一个关键字,该关键字读入您的电子表格并通过测试用例将其转换为可用的数据。

但是,如果绝对所有测试都来自此数据文件,则不需要框架。只需用遍历每一行的任何语言编写一个简短的脚本,并调用一个相当于curl或wget的函数。如果您需要一种方法来表示您的测试方案但是您已经拥有它,那么框架非常有用。

尽管如此,使用机器人的优势 - 即使您只有一个测试说“使用电子表格的每一行进行验证” - 就是您获得了机器人所具有的良好报告,并且可以很容易将它与jenkins / hudson集成。

答案 1 :(得分:3)

建议Fit / Fitness。这是允许业务分析师自己运行测试的好方法。

答案 2 :(得分:2)

我已经完成了一些建议的框架,但我最后的选择是在

之上编写我自己的域库(如果你愿意的话)。
  1. Spock
  2. Geb
  3. Groovy和
  4. HTTP Builder
  5. Sonar和Hudson
  6. 作为CI的一部分,我们目前每晚运行14000多个(并且正在增长的)回归测试。

答案 3 :(得分:1)

我不知道有一个工具允许您使用存储在电子表格中的数据测试所有端点。您需要编写一个基于现有测试运行器构建的自定义测试运行器,以允许从电子表格中读取数据。

但是,我会更专注于选择适合您要测试的端点的工具。对于Web UI,我建议seleniumHtmlUnit。您需要查看替代方法,以便将电子表格中的数据导入这些测试。但是这些会尽可能地让用户尽可能接近用户。

为了测试soap端点,我建议使用JUnit编写单元测试并模拟后端。您可以使用单元测试单独测试后端,以确保它正常工作。根据您的应用程序架构,这可能不适合您。您可能希望将它们设置为集成测试并通过JUnit执行它们并断言返回的消息。同样,您需要编写一个从电子表格中获取数据和期望值的库。

希望这对你有帮助。

答案 4 :(得分:0)

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

使用SoapUI,我已经为我的(soap-)webservice进行了功能测试。您可以自动执行这些测试。

使用Apache JMeter,我在Web UI上完成了自动性能测试。测试数据也基于excel表。

亲切的问候,帕特里克

答案 5 :(得分:0)

您可能需要查看Thoughtworks中的Twist。它是一个功能测试IDE。 QA / BA可以使用自然语言来定义测试用例。 Twist在引擎盖下使用Selenium和JUnit,因此生成的测试用例可以进行版本控制。

我同意@stuartf你不会找到一个开箱即用的解决方案来加载excel数据并断言它。您可以使用POI或其他一些Excel阅读器在测试框架中加载数据。