2011-04-26 70 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整合在一起。