-->

在生产运行的代码测试/服务器(Running test on Production Code/Ser

2019-09-18 23:19发布

我相对缺乏经验,当涉及到单元测试/自动化测试,所以原谅的问题,如果它没有任何意义。

当前代码库我的工作是如此紧密耦合的,我会永远需要能够在其上运行单元测试之前重构大部分代码,所以我看了一些帖子,发现硒,我认为这是一个非常酷的程序。

我的客户想具体的自动化测试来运行我们的生产服务器上每隔十分钟,以确保我们的网站是可操作的,并且某些特征/方面运行正常。

我从来没有真正想过运行测试对生产服务器,因为您要添加附加应力的网站。 我一直以为你会跑反对临时服务器所有的测试,如果这些工作,你可以假设prouction网站运营,只要托管服务提供商不会遇到的问题。

在实际的生产服务器上的测试生产代码对你到底有什么想法?

非常感谢你们!

Answer 1:

也许如果你认为硒脚本作为“监视”,而不是“测试”的,这将有助于? 我希望每一个主要的网站,在那里有某种监控的事情,哪怕它只是一个周期性的PING,或每隔一段时间加载网页。 虽然可以采取这种方式太远,不要怕一般的概念。 所以,什么才是一些这方面的监测/检测到你和你的客户的好处是什么?

  1. 不知怎的,不是所有在世界上最好的测试可以预测奇怪的事情的用户会做,无论是有意还是纯靠人多势众力(如打字机百万只猴子可以写哈姆雷特,想象一下几百点击快乐的用户可以做什么?ping一台网站可以告诉你,如果它是由,但如果一个表已损坏,报告现在失败都是因为用户在使用中有一个变音符号的值类型。

  2. 当你的网站可能执行的临​​时服务器上的伟大,也许它会开始随着时间的推移。 如果要监视的硒测试的性能,可以保持领先缓慢的投诉。 正如你所说的当然是确保您的监控不会造成任何问题! 您可能需要说服你的客户,某些测试适合于每X分钟运行一次,和其他人应该每天只有一次运行,在凌晨3点。

  3. 如果你最终做出紧急更改到直播现场,你会更放心,测试运行,以确保一切正常。



Answer 2:

我已经从很长一段时间类似的生产服务器的工作。 从我的经验,我可以说的是,始终这是更好地测试我们的改变而改变/补丁阶段环境和公正的部署,在生产服务器。 这是因为,无论是分段和生产环境是完全一样的,除了数据的音量。 如果真的需要,这将是确定,到生产服务器上运行一些测试,一旦安装了代码/补丁。 但不建议在生产服务器上始终运行测试/好办法。



Answer 3:

我的建议是下降到一个临时/测试环境阴影每晚的基础上生产数据库和夜间运行单元测试那里。 由客户提出的办法将有利于确保引入新系统的数据并没有在系统内引起的异常,但我不生产这样认同。

在暂存环境中运行它会给你新的数据,而无需使用生产环境作为一个测试床流入系统评估功能的能力。

[编辑],以确保该网站是,你可以写一个简单的程序,它执行ping命令每10分钟而不是反对它运行你的整个测试套件。



Answer 4:

什么将在生产环境改变,你将需要运行自动化测试? 据我所知,您可能需要监控和报警,以确保服务器正常运行。



Answer 5:

无论选择,无论是监视或测试类型的解决方案,你应该首先做你的客户端,警告他们的东西。 正如你所提到的,在生产测试是几乎从来没有一个好主意。 一旦他们意识到危险的,如果没有其他逻辑的选择,精心构建非常小的测试。 应用这些分层和监视宗教,以确保它们不会导致到应用程序的任何问题。



Answer 6:

我与彼得同意,这听起来更像是比对监测测试。 一个小区别,但一个重要的我觉得。 如果客户的要求涉及到的服务水平协议,然后他们的要求不健全,太古怪。

此外,它可能不是安全的假设,如果服务提供商没有遇到任何问题,该网站目前运作正常。 如果什么部位变得与请求淹没? 或许运行在测试精细SQL启动造成的问题(超时,阻塞等),具有较大的生产数据库?



文章来源: Running test on Production Code/Server