广州某在线公司—韩毅
虽然容器技术其最大的威力就是结合流水线来去使用疗效比较明显docker容器化技术,这么结合测试人员的具体工作来说,通过个人经验+对公司的相关同学进行定向督查后,结合使用经验总结出形成的价值主要如下:
1、从技术前瞻性来说
容器化技术作为云原生四大体系之一已成为国际标准化技术标准,做为一名合格的测试人员似乎对docker原理及其常用的命令把握变得愈发重要,同时也是其个人能力的彰显;
2、从DevOps交付流水线来说
我司DevOps流水线CI/CD能力由原有的依赖虚拟机切换至k8s+docker的容器云平台作为依托,在这一转变过程中:
·测试环境的日常搭建与维护效率提高比较显著redhat linux,如可以使用集群的公共镜像库房来一键搭建测试环境、遇到测试资源不足的情况可以直接一键扩缩容,除了提高资源借助率
在项目须要压测时,也可以按照不同的场景,快速扩容。
·滚动发布的优势:传统的虚机环境发布模式在测试环境须要发布升级时可能须要进行强制杀坠入程、停止服务后再进行测试,除非是有多个节点并行测试,容器化下可以实现服务滚动升级,在不停服下一遍发布一遍测试,防止难堪的hardwait;
·最主要一点就是能否通过流水线的容器化发布才能实现一次建立、多次布署,既解决了因环境不仍然造成问题的出现,更主要是可以解决了不同环境的流水线都须要重复进行CI导致的时间和资源消耗,提高整体项目的交付效率;
~以上为个人的见解,希望还能抛砖引玉!感谢!
广州某建行—王伟亮
容器技术对测试的益处,个人总结如下:
1、提升测试环境的稳定性。未使用容器,测试人员常常遇见的一个问题是,XX系统又访问不了了。须要测试人员将问题反馈给开发或则环境管理人员进行问题定位和环境维护,环境稳定性得不到保障。使用容器后,容器的健康检测机制,实时监控系统服务状态,发觉异常服务,容器平台会依照规划好的处理机制进行自维护,后端测试人员是无感知的,提高了测试环境的稳定性。不仅健康检测机制以外,容器的弹性扩容,解决了因服务器资源不足导致的测试卡顿问题,在性能方面保障了测试环境的稳定性。
2、提供隔离测试环境。测试人员应当遇见过这样的问题,举例:在A环境的前台了一段时间,发觉做的交易都发往了B环境的后台系统,造成测试无效。诱因可能是前台系统的配置文件错误致使。容器的房客使用了namespace(命名空间),即同一住户下网路相通,不同住户间网路是隔离的。若果按环境维度界定住户,即可避免里面的问题发生。虽然配置文件配置错误linux设置环境变量,在服务启动或则做第一笔交易的时侯才会报错,由于A、B环境的网路是不通的,而不会在测试一段时间后,才发觉环境配置错误,容器可以保障各个测试环境的独立性。
3、消除环境差别。测试人员常常遇见的一个问题,测试发觉一个bug提给开发,开发拒绝,缘由可能是环境问题,同样的代码版本,该bug在A环境下可以复现,在B环境不能复现。由于布署版本中不包含基础环境,有可能是2套环境的软件版本或则环境变量不一致引起。容器解决了环境差别,由于容器布署的对象不是代码版本而是镜像,镜像中除了包含代码版本,还包含了系统运行所需的基础环境,使用同样的镜像版本进行测试,不会存在环境不一致的情况。容器清除了环境差别,增加了环境类bug。
4、提升测试环境交付速度。在测试环境搭建方面,容器比传统化学机或则虚拟机上搭建环境速度更快。1个系统手工搭建测试环境可能须要1-2天,容器搭建1h左右即可完成;在版本同步方面,由于容器采用“一次建立多次布署”,所以节约了应用建立时间。大大提高了测试环境交付速度,节约了测试人员的等待时间。
山东某公司工程师—武韬
在之前搞cicd的时侯,基本所有的工程都用到了docker,用处主要有以下几点:
1、环境隔离,不同的任务运行在不同的容器中,互不干扰。
2、多样化,docker能提供不同的镜像,无需使用多台不同系统的机器,减少了使用成本。
3、方便移植,直接把容器打包带走,或则放在镜像库房,旁边重新布署的时侯就可以开箱即用。
4、便于管理,使用k8s或则dockerswarm就能很轻松的编排容器,快速搭建环境或则执行任务。
某公司测试工程师—吕俊杰
用处是可以接近完美的做到环境隔离和便捷布署,隐忧是维护成本和硬件成本以及外部依赖处理上去比较麻烦。
我的观点
我对容器化的理解还逗留在对docker的简单实用上,所以前面你们提及的:环境隔离等我没有实际的经验可以分享,不过近来我刚好在搞seleniumgrid,我认为用docker去搭建hub和node真是相当便捷,直接拉取镜像,之后运行镜像能够将seleniumgrid搭建上去,所以从这个角度看,容器化才能提高我们的工作效率。
另外是结合我们公司目前的服务端上线形式,一般将跟环境有关的配置和镜像分离开,这样的用处是前面你们提及的:一次编译,多次布署。诸如:之后我们在验证rc环境功能时,建立一次,验证通过,真正上线时就直接用之前建立好的镜像就可以了。
总结
容器化应当弄成每位工程师必备技能,只有熟悉上去,能够在平常的工作中找寻更多的场景。我旁边为你们整理容器化相关知识点,例如:docker的使用/原理、如何环境隔离等。
本文内容不用于商业目的,如涉及知识产权问题docker容器化技术,请权力人联系博为峰小编(-8017),我们将立刻处理。