我应该将自动回归测试放在 Web 应用程序中吗?

Should I put my automated regression tests inside a web application?

问题

是否值得为我部门的自动回归测试构建 Web 应用程序前端?我已经搜索了很多,但我认为没有这样的东西存在。基本上,Web 应用程序将允许用户指定 URL、预期输入和预期输出以及预期 return URL。在后端,无头浏览器将 运行 在服务器上运行以测试用户刚刚定义的场景,很可能使用对无头浏览器的调用......我已经搜索了很多,看看是否存在如此简单的东西,但我没有任何运气。我发现了很多允许以编程方式操作浏览器命令的工具,但是我没有找到用于测试另一个 Web 应用程序的 Web 前端。

背景

我的团队有专门的自动化回归测试,测试人员 运行 在他们的本地机器上进行。测试用 Python 编写,利用一些 Selenium 集成插件,并使用 excel 电子表格作为测试内容的输入。它们由 QA 部门维护。

问题

这促使我考虑将我们所有的 Selenium 测试放在一个用户友好的 Web 前端后面的云中,任何人都可以从任何地方使用和访问。然后,他们可以使用下拉菜单轻松创建新测试。每个人,开发人员、测试人员和业务分析师,都可以看到测试序列中涵盖的内容,并在我们添加新功能时更新它们。我相信,如果 Web 应用程序为 jenkins 公开了 Web 服务挂钩,这也会让 Jenkins 作业更容易按时间间隔触发 运行 测试……但我觉得也许我正在重新发明轮子。我打算建造的东西值得吗?

就我个人而言,我不会花太多时间创建一个网站来接受用户输入来创建一个测试脚本。相反,我会花时间创建一个可靠的测试框架并使用 Jenkins 来触发测试。

您还需要考虑以后的'website'维护。如果必须在网站中包含某些新功能,会发生什么情况? QA/BA 团队将依赖开发人员来添加该功能。

我认为最好使用关键字驱动的框架 - 您可以在电子表格中编写整个测试。 [在我的项目中,不熟悉编程的 QA 人员使用这种方法创建测试脚本]。

作为基于 Web 的 Jenkins 应用程序 - 任何人都可以触发您的自动回归测试。甚至是 BA(在我的项目中,这就是我所做的)。不需要技术技能。我们也可以通过jenkins传递参数。参数可以是从文本到文件的任何内容。因此,您可以将包含要执行的步骤的文件上传到 jenkins 作业,其余部分应由您的测试框架处理。

您肯定需要一个中央存储库。这是必须的。你可以看看 VisualSVN 服务器。 简单且免费


使用 Selenium 的关键字驱动框架:

http://www.testautomationguru.com/keyword-driven-framework-for-localization-testing-using-selenium-webdriver/

连续回归&结果:

http://www.testautomationguru.com/continuous-regression-testing-best-practises/

每次构建后冒烟测试:

http://www.testautomationguru.com/automated-smoke-test-best-practises/