测试 – 关于持续集成和硒测试的新手问题,

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

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

或者我把这些东西弄错了?如果是这样,你如何在你的组织中做到这一点?

最佳答案 我建议您不要混淆自动和手动测试,只允许测试人员访问为自动测试而上演的服务器.这可能会导致自动和手动测试中出现漏报.这些“错误”是不确定的,而且很可能永远不可复制(一个非常坏的消息).这将导致您进行大量不必要的“错误报告”并构建失败.

所以这就是你能做的……

除了当前的设置,您还可以为手动测试仪创建额外的分阶段服务器.这是你应该做的最少的事情.你应该创建几个,每个测试一个.

咆哮……

在我目前的项目中,我们最近发现我们的测试人员(我们有大约10人)重用了一台服务器.他们声称,由于我们的应用程序将拥有多个并发用户,因此当他们测试各个功能时,他们也在测试这些功能如何在多个用户在同一服务器上工作时进行测试.错误!

如果需要考虑多个用户,则应针对特定问题进行测试用例.如果功能#1可以干扰功能#2,它应该经过专门测试,而不仅仅是“运气测试”.

在向我们的手动测试人员解释之前,我们有许多错误的错误报告,因为一个测试人员只是踩着另一个测试人员的脚趾. (例如,tester1删除了tester2引入系统的记录等).这创建了许多不必要的错误报告,这些错误永远不会重现.

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

点赞