如今的互联网系统,业务复杂、更新频繁、迭代迅速。在这种情况下,同时需要保持软件系统的长期稳定。对软件的研发迭代速度和质量控制提出了更高的要求。
在大型的软件系统中,一个业务需求的测试工作常常出现跨业务、跨系统的分工协作。只有各个系统间连接、调用畅通才能保证业务上下游数据的正常运转,满足各个业务测试场景。测试环境中各个系统的稳定、互联互通非常重要。
环境分层
为规避业务的风险,机房,办公网之间要通过专线链接,生产环境和研发工作中使用的测试环境要相互隔离。
研发工作主要由产品设计、开发、测试及上线发布组成。开发需要频繁提交验证功能需要,所以需要有独立的开发测试环境。测试人员在开发冒烟提测后,需要搭建相应版本的测试环境验证提测版本,需要有版本测试环境。
综上所述,测试环境和研发环境,生产环境进行了分离。如果有自动化的场景存在可以新增一套环境用于冒烟或迭代回归测试。在资源充足的情况下还可以依据版本建立多分支版本对应环境,但要分组管理,不同分支服务之间互不依赖,互不干扰。
服务器资源池化
当版本上线并不需要继续维护的时候,为让服务器资源合理利用,避免长时间空闲,浪费资源,避免随意部署的情况。所有的服务器需要资源池化管理,邮件申请服务器资源,审批分配。
开源工具ELK,或者收费的日志易都比较容易实现目的。
测试服务器信息化管理
出于成本考虑,一台服务器上可能会部署多个应用,发布频繁,因此不易于管理。使用测试环境时测试工程师需要知道:
有哪些测试服务器可以使用
服务器当前的状态
服务器资源不足时是否能及时预警
服务器上部署了哪些应用,运行状态怎么样
快速一键部署测试环境及操作测试环境
一般最基础的方式是使用手工部署:手工编译、打包、上传应用包到服务器、部署到服务器目录下,然后脚本启动服务、串行操作费时费力而且不方便管理。这些操可以采用自动化的方式去解决。
如果从零开始需要先统计信息
环境信息梳理完成后,即可通过自动部署相应平台采用自动化的方式去解决。
本文涉及相关知识,很多可以通过开源的平台进行实现,如果你认为写得好或者想学习后续的相关技能,谢谢关注!
领取专属 10元无门槛券
私享最新 技术干货