首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REST和UI的黑/灰盒测试

REST和UI的黑/灰盒测试
EN

Stack Overflow用户
提问于 2014-07-30 19:50:36
回答 2查看 1.2K关注 0票数 3

我们正在选择什么样的系统来进行自动验收测试,以便在我们公司开始使用(开关)。目前,大多数后端测试用Python编写,对于新的测试人员,很难使用和维护它;对于UI,我们使用机器人框架

我想使用一些标准,以便新的“典型的街头测试人员”可以开始使用,但它应该是相当灵活的。

在我以前的工作中,测试人员使用了SoapUI,甚至Apache脚本,但出于某种原因,我现在的公司里的人不喜欢它。

我们正在考虑菲尼斯或机器人框架。

要求:

  • 它应该同时用于后端(REST,一些DB检查)和UI测试。
  • 它应该使用一种简单的语言,这样即使是非程序员/测试人员也可以理解测试用例(产品负责人应该能够看到是否涵盖了所有的验收标准)。
  • 它应该支持与Jenkins的集成。
  • 它应该支持测试用例的版本控制,因此对于特定的产品版本,我们现在也可以检查相关的测试用例,我们使用的是TestRail (测试用例管理软件);所以如果它与它集成(至少可以将测试结果发送到那里)或完全替换它,那就更好了。

我很快就和Fitnesse一起玩了,在我看来,表格的形式看起来很难看。第一次看,文档不是很好(我没有找到可能的“命令”,例如断言、一些循环)和文档,例如RestFixture更糟糕(没有)。

另外,我没有看到任何用于DB检查的夹具。因此,最终,开发人员需要参与编程和维护一些定制的补丁,在我看来,使用我们自己开发的Python测试套件更糟糕。

有什么想法和经验吗?

谢谢,Radek

PS:我也在QA论坛上问过这个问题,但是它比StackOverflow要活跃得多,对这种重复很抱歉。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-30 21:20:10

我不能说适合的使用,但是机器人框架满足了所有你想要的东西和更多的东西。我选择它是为了我的项目,原因如下:

  1. 您可以为肥皂休息-based服务、数据库验证、基于web的用户界面测试甚至桌面应用程序测试使用单一的工具(因此是单一的报告格式)。它也可以用于集成和单元测试,尽管通常有更好的工具用于该工作。
  2. 您可以使用机器人测试来使用对话库或自定义库实现手动测试。在运行机器人编写的手动测试时,测试人员的吞吐量比运行Microsoft编写的类似测试时有显著的提高。不幸的是,web上并没有多少关于这个强大功能的文章,但是对于所有的验收测试,无论是手动的还是自动化的,您都可以获得相同的报告、版本控制、标记等功能。
  3. 如果您花时间创建一个好的关键字库,那么测试就可以轻松可读性(而且是可写的!)由非测试人员
  4. 有一个詹金斯的机器人插件可以使浏览测试结果变得容易。
  5. 机器人框架测试套件是纯文本文件,因此它们可以与您的代码一起进行版本化。
  6. 测试输出是一个非常简单的理解和解析XML文件。它还可以生成X单元式输出,以便与其他工具集成。机器人还提供了将这个xml转换成友好的日志和报告的工具。侦听器接口使捕获或流实时测试结果变得更加容易。
  7. 有越来越多的工具和编辑器插件与机器人一起工作,所以您的团队成员可以使用他们最熟悉的工具。
  8. 机器人是非常可扩展 --关键字库几乎可以用任何语言编写--本机使用python编写,如果使用jython运行,也可以用java编写;如果使用IronPython,则使用.NET语言。使用远程库接口,您可以用任何可以打开套接字并充当服务器的语言编写关键字。

至于DB测试的补丁,有一个通用的基于java的数据库库和一个可以连接到几乎任何公共数据库的通用基于python的数据库库。还有一个专门用于与MongoDB对话的库。

与版本控制相关的问题是,机器人有一个非常强大的标记机构,您可能会发现它很有用。例如,您可以使用它们所附带的产品版本来标记所有测试。然后,您只需检查所有内容,只需使用机器人命令行选项来选择带有特定版本标记的测试。作为标记的另一个好处,报告通过标记来分解pass/fail统计信息。

机器人不是一个完美的测试系统,但它是一个非常好的测试系统。我认为有许多同样好的测试框架,但我不确定在客观上有没有更好的测试框架。当然,对于你列出的那些对你来说很重要的事情,机器人框架可以完成你所需要的一切。

票数 3
EN

Stack Overflow用户

发布于 2014-07-30 21:06:53

我之前也有过类似的情况。我们不得不在RF、fitnesse和IBM的STAF/STAX之间做出决定。

我们选择了机器人框架,它运行得很好。

  1. 它应该用于后端(REST,一些DB检查)和UI测试-对于REST,RF的请求库以及各种DB库可以一起使用。
  2. 它应该使用一种简单的语言,这样即使是非程序员/测试人员也可以理解测试用例(产品负责人应该能够看到是否涵盖了所有的验收标准)- RF正是要这样做的。
  3. 它应该支持与Jenkins - RF有一个詹金斯插件的集成。
  4. 它应该支持测试用例的版本控制,因此对于特定的产品版本,我们现在也可以查看相关的测试用例-RF的标签特性将在这方面很好地工作。

由于有一个机器人框架API接口,所以它可以根据集成的要求进行编程。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25045709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档