TestOps:如何以DevOps的速度自动化您的软件流水线
Posted CTO老王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestOps:如何以DevOps的速度自动化您的软件流水线相关的知识,希望对你有一定的参考价值。
TestOps是测试和运维(Ops)的混合体,它提供了对传统测试概念的变形以保证服务的质量。测试是一方面完成的,一旦完成,测试人员就有效地把交付的工作交给运营团队,部署到生产环境中。
现在,作为这种方法的替代方案,测试人员需要专注于现场制作网站,以提高质量并获得更快的结果。
TestOps创新了开展测试的方式,将开发团队和测试团队结合在一起,发挥与运维相同的作用。他们有助于加快进程和支持提高产品的可靠性和质量。
TestOps:这是什么意思
传统上,开发人员和测试人员在干净的几乎不重叠的环境中工作。开发人员一直被限制在进行单元测试,但是现在他们可以构建无错代码并运行功能测试用例。这使测试人员更容易把重点放在生产和高环境的情况下。测试人员现在专注于收集和识别正确的数据。他们需要设置工具来运行生产测试,检查数据并进行分析。
与开发者一样,运营也同样改变了他们的方式。 Op的任务是监控产品质量的数据并执行严格的测试以实现高级的上下文用户场景,现在已经被添加到测试人员技能组中。这是一个典型的开发人员编码责任的奢侈品。 TestOps确保质量保持一致,将测试部分与Dev和Ops混合在一起。
没有必要实现1:1的开发测试比例,测试人员现在专注于工具并保持数据的质量,而不是编写测试用例。像谷歌,亚马逊和微软这样的公司维护着中央团队,并且设法保持了他们的测试规范,从开发到测试的高比例从3:1到8:1。这使得开发人员和测试人员可以更轻松地创建部署和监视工具。
测试覆盖率和零错误政策
为了确保TestOps应用程序功能正在高效运行,可以使用的技术是对内部构建的测试工具的高度单元测试覆盖率以及零错误策略。单元测试策略确保每个功能都经过测试,在构建时没有发生故障。这使我们能够更专注于编写比测试覆盖更好的代码。零错误策略有助于解决生产系统随时出现的任何错误。如果这个错误被认为不会影响客户,那么只需要简短的解释即可。
持续集成和框架
TestOps同时运行在3条战线上。持续构建,持续验证和持续交付。持续测试或持续测试关注系统开发生命周期,有助于产品的开发和成功发布。开发人员将代码推送到存储库,并在每次提交代码后进行构建和编译。 CI监视存储库中存在的代码。它在调度程序的帮助下保留了任何新代码的选项卡。当构建被触发时,代码从存储库中被取出。持续验证侧重于正在实施的工具和流程。对代码执行单元测试,并执行QA检查以确保代码无缺陷。持续交付确保代码正常运行,并始终处于可部署状态。
该框架围绕测试管理,环境管理,软件配置管理和技术发布管理展开。 测试管理确保自动构建与环境中的测试数据正常工作。 环境管理适用于供应,访问控制和环境调度的工具。 软件配置管理着重于持续集成,应用程序部署管理。 最后,技术发布管理审查产品的能力,是否获得适当的调度和服务请求是否达到。
TestOps功能
传统的测试方法在完成产品建立之后就会出现。 TestOps的工作原理是,它专注于提供产品团队需要测试的内容。
与DevOps集成
TestOps提供了一个透明的工作流程。构建系统作为一个中央应用程序。测试人员和开发人员访问构建系统中的代码。他们检查所有的API,并确保它们正常运行。在这里,完成的构建被标记为成功。每个构建都通过TestOps中的侦听器应用程序在启动时指出,并且在完成时,API显示“status”构建的值:“success”。
什么测试运行,什么时候运行
为了使产品顺利工作,团队需要清楚应该测试什么,什么时候测试。每次提交之后,应该测试代码,并且应该删除错误。这必须在没有任何人为干预的情况下完成。 TestOps保证QA团队已经检查了所有的测试API并且产品正在运行。
无需站出来整个系统测试
排除了整个测试平台的娱乐性,因为模块和微服务是分开测试的。个人测试确保在原始阶段检测并移除错误或错误。随着更快的产品交付,API的一致性也应该保持。测试服务意味着,从原始服务发送消息,并且该消息由消息代理接收。
只要接收到该消息的服务维护了它们的API,那么在这一点上,就不一定需要测试次要服务和下游服务。例如,当一个团队的服务依赖于一个消息代理,将消息发送到另一个服务,并依赖于多个服务时,服务之间的连续性就成为主题。
使团队也可以测试上游和下游用户的变化
某些测试功能很难独立工作,因为它依赖于许多外部服务,或者对其他产品/功能做出贡献。消费者往往不在相同的位置或代码库中。 TestOps应该提供一种机制来配置其他模块可以在构建后使用,以确保一致性,并在没有人工干预的情况下,彻底根除下游用户的任何中断变化。
代码的一致性是在构建后维护的。 TestOps提供了可以使用的所有模块,并将其提供给下游用户,无需人工干预。该配置最好放置在与其他配置相同的位置进行测试。
结论
与测试常规应用软件相比,TestOps为自动化测试和挑战提供了一个独特的方面。它与开发团队合作,建立一个自动构建和部署流程。它创建了一个云或虚拟技术来按需建立测试环境。为自动环境配置创建新的测试环境。它将自动化测试与开发团队集成在一起,对于持续集成起着至关重要的作用。
以上是关于TestOps:如何以DevOps的速度自动化您的软件流水线的主要内容,如果未能解决你的问题,请参考以下文章