Testing 关于持续集成和selenium测试的新手问题,

Testing 关于持续集成和selenium测试的新手问题,,testing,automation,continuous-integration,build-process,selenium-rc,Testing,Automation,Continuous Integration,Build Process,Selenium Rc,我对中情局很陌生,但我最近接手了一个刚刚实施了TeamCity的项目,我正在慢慢地了解这个项目。我们想做的一件事是在构建过程中运行一些Selenium测试。我已经创建了selenium测试,可以通过我的开发机器上的nunit控制台成功运行它们。构建服务器构建项目,然后将其部署到暂存服务器(实际上是一个web表单应用程序) 在每个selenium测试之前,我们将数据库设置为一个已知状态,即只保留某些记录,这样每个测试就独立于其他测试。问题是登台服务器将由真正的“人工”测试人员使用,因此这将导致他们

我对中情局很陌生,但我最近接手了一个刚刚实施了TeamCity的项目,我正在慢慢地了解这个项目。我们想做的一件事是在构建过程中运行一些Selenium测试。我已经创建了selenium测试,可以通过我的开发机器上的nunit控制台成功运行它们。构建服务器构建项目,然后将其部署到暂存服务器(实际上是一个web表单应用程序)

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


还是我完全搞错了?如果是这样的话,您在您的组织中是如何做到的?

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

所以这里是你能做的

除了当前设置之外,您还可以为手动测试仪创建一个额外的阶段服务器。这是你应该做的最起码的事。您可能应该为每个测试人员创建几个一个

这里是咆哮

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

如果多个用户是一个关注点,那么应该有针对特定关注点的测试用例。如果功能性#1会干扰功能性#2,则应专门对其进行测试,而不仅仅是“运气测试”

在向手动测试人员解释这一点之前,由于一个测试人员只是踩了另一个测试人员的脚,我们有很多错误报告。(例如,tester1删除了tester2引入系统的记录,等等)。这就产生了很多不必要的错误报告,这些错误永远不会重现


很抱歉,我希望这仍然有帮助:)

谢谢,听起来不错,我们怀疑混合自动和手动测试将是一件坏事。我们打算在构建服务器上构建应用程序(显然),并在那里运行自动化的selenium测试,然后部署到登台服务器进行手动测试(如果所有自动化测试都成功运行)。谢谢你的建议。