【问题标题】:Newbie question about Continuous integration and selenium tests,关于持续集成和硒测试的新手问题,
【发布时间】:2011-02-01 15:07:25
【问题描述】:

我对 C.I. 很陌生。但我最近继承了一个刚刚实施 Team City 的项目,我正在慢慢地开始思考它。我们想做的一件事是在构建过程中运行一些 Selenium 测试。我已经创建了 selenium 测试,并且可以通过我的开发机器上的 nunit-console 成功运行它们。构建服务器构建项目,然后将其(发生时的 Web 表单应用程序)部署到临时服务器。

在每个 selenium 测试之前,我们将数据库设置为已知状态,即只保留某些记录 - 这样每个测试都独立于其他测试。问题是暂存服务器将由真正的“人类”测试人员使用,因此这将导致他们出现数据库不断重置的问题(记录被删除等)问题是我是否真的也应该将应用程序部署到虚拟目录构建服务器并针对它运行 selenium 测试,如果这些测试通过,则仅部署到登台服务器?

还是我把这些东西完全弄错了?如果是这样,您如何在您的组织中做到这一点?

【问题讨论】:

    标签: testing automation continuous-integration build-process selenium-rc


    【解决方案1】:

    我建议您不要混合使用自动测试和手动测试,允许测试人员访问为您的自动测试准备的服务器。这可能会在您的自动化和手动测试中导致误报。这些“错误”是不确定的,而且很可能永远无法重现(一个非常坏的消息)。这将导致您大量不必要的“错误报告”和构建失败。

    所以这是你可以做的......

    除了您当前的设置之外,您还可以为手动测试人员创建一个额外的暂存服务器。这是您应该做的最少。您可能应该创建 几个每个测试人员一个

    然后是咆哮...

    在我当前的项目中,我们最近发现我们的测试人员(我们有大约 10 个)重复使用了一台服务器。他们声称,由于我们的应用程序将有多个并发用户,因此在测试单个功能的同时,他们也在测试多个用户在同一台​​服务器上工作时这些功能的行为方式是一个好主意。 错了!

    如果涉及多个用户,则应该有针对特定问题的测试用例。如果功能#1 会干扰功能#2,则应对其进行专门测试,而不仅仅是“靠运气测试”。

    在向我们的手动测试人员解释这一点之前,我们收到了许多错误的错误报告,因为一名测试人员只是踩了另一名测试人员的脚趾。 (例如 tester1 删除了 tester2 引入系统的记录,等等...)。这产生了许多不必要的错误报告,并且这些错误永远无法重现。

    对不起,我希望这仍然有帮助:)

    【讨论】:

    • 谢谢,这听起来不错,我们怀疑混合自动化和手动测试会是一件坏事。我们打算在构建服务器上构建应用程序(显然)并在那里运行我们的自动化 selenium 测试,然后如果所有自动化测试都成功运行,则部署到登台服务器进行手动测试。谢谢你的建议。
    猜你喜欢
    • 1970-01-01
    • 2010-09-23
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多