6

想象一下,您有一个由不同组件组成的相当复杂的面向服务的架构。组件用不同的语言(Java、PHP、Ruby)编写,并以不同的方式相互通信(即 UI、REST API,在某些情况下共享一些数据库表等)。

我正在尝试为一些端到端测试设计一个集成测试框架。我们已经对单个组件进行了单元/集成测试,但是我们希望构建一些东西来对我们部署的系统(在真实环境中)进行端到端的全面测试,以确保功能(就个人的预期行为而言)组件)正确提供并且架构也正确配置。

我面临的第一个问题是我们的大部分 UI 都是用 PHP 编写的,并且 UI 集成测试已经用 Cucumber 和几个插件编写了。我正在编写的测试框架(用 Java 编写)应该触发这些功能测试,然后检查相关组件的行为是否符合预期。

显然,我可以使用 Selenium 之类的 Java 友好组件重写 UI 测试,但重复这些工作是没有意义的。

另一种解决方案是在 Java 中使用 exec() 调用运行现有测试,等待它们返回,可能解析输出并继续需要完成的其他操作/检查。

考虑到项目的编写方式,在 Java 中嵌入现有的 PHP 代码似乎不是一个可行的解决方案。

没有一个解决方案对我来说听起来令人信服。理想情况下,最好有某种多语言(和多技术)集成框架,该框架可以插入到用不同语言和不同环境/组件编写的相同测试套件测试中。

有人知道朝这个方向发展的一些工具或框架吗?如果不是,那么解决此类问题的好方法是什么?

4

2 回答 2

1

不确定这是否有帮助,但也许看看https://github.com/nablex/glue。这是我开发的一种脚本语言,专注于(集成)测试。

如果您插入https://github.com/nablex/glue-selenese ,它支持开箱即用的 selenium 脚本,并且非常可扩展。

我目前在一个客户那里使用它,它带有一些自定义扩展来运行用 fox pro 编写的遗留脚本(我实际上重新实现了 fox pro 方法...... shiver)和遗留模式,因此它们只启用遗留脚本,而不是新脚本. 我还插入了基于 SOAP 的自定义 Web 服务,其中一个可用于在远程系统上进行数据库调用,为我提供了广泛的集成级测试工具。

虽然脚本语言功能齐全,但我仍在充实默认可用的方法纲要,并仍在尝试将其定位为集成测试工具。让我知道它是否有帮助或 - 如果没有 - 为什么它不能满足您的需求,总是对反馈感到满意!:)

PS:“Main”类是启动和运行它的好地方,因为它包含一个工作 CLI 客户端(支持断点!)

于 2014-10-23T09:05:51.590 回答
0

您是否考虑过使用 Jmeter 之类的全栈测试?

您可以构建针对完全部署的软件运行的测试

  • 创建用户
  • 确认显示用户成功创建屏幕
  • 确认用户按预期在数据库中
  • 删除用户
  • 确认用户已被删除

这样您就可以同时测试您的用户界面、业务逻辑和数据存储。它也可以用来做负载测试。

测量仪

于 2013-03-19T12:53:49.860 回答