不确定这是否在正确的部分 - 如果没有,请告诉我。
我对在生产环境(实时网络应用程序)中进行测试和部署完全不熟悉,并且最近加入了一个具有以下设置的团队。
他们目前拥有可以在x.website.com上观看的测试服务器X,以及在website.com上查看的生产服务器Y.
我们作为开发人员的主要任务是解决GitHub问题,这些问题不同于前端内容(例如编辑错误的链接)等小变化,以及更大的后端修改。
目前,他们的测试系统是将Issue_X推送到服务器X上的远程git分支进行实时测试,并让其中一个团队测试人员查看它。如果一个人一直处理一系列小问题,他们通常会将它们合并成一批并将它们组合在一起进行测试 - 但是开发人员通常会自行决定他们是否认为这些问题足够小以便合并在一起。其他时候,当开发人员处理更大的问题时,测试服务器可能会在一段时间内超出限制,同时测试正在进行中。无论哪种方式 - 测试服务器一次只能由一个开发人员使用。由于我们的许多团队(以及所有测试人员)都是志愿者,因此并不总是可用,这进一步延长了这一点。
我的问题是 - 这与行业标准相比如何?这似乎是一种效率低下且不一致的方式。有哪些替代方案?
答案 0 :(得分:1)
以这种方式进行测试似乎效率很低。通常当人们说"测试"它经常通过宝石(Capybara或RSpec)进行单元测试。这种拥有测试服务器的做法通常被称为登台服务器,这是在实时部署之前捕获任何错误的最后一步。
非常担心您的登台服务器上只允许进行一次测试,有什么理由吗?
替代方案是使用我上面提到的测试gem来测试API的数据和端点。前端编写测试要复杂一些,但有像Mocha和Karma这样的框架。