简介:今天,首席CTO指出要与您分享如何删除DevOps的用例。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
什么是DevOps?
DevOps是一组实践,工具和文化概念,可以实现软件开发团队与IT团队之间的过程自动化和集成。这强调了团队的授权,交叉团体沟通和合作以及技术自动化。
DevOps运动始于2007年。当时,软件开发和IT操作社区开始担心传统的软件开发模型。在这种模式下,编写代码和运营商的开发人员将独立使用和支持代码。在两个单词“开发”和“操作”中,这反映了将这些领域整合到连续过程中的过程。
DevOps如何运作?
DevOps团队包括开发人员和IT运营商,他们在整个产品生命周期中合作以提高软件部署的速度和质量。这是一种新的工作方式,这也是一种文化转型,对组织产生了重大影响团队及其工作。
在DevOps模式下,开发和运营团队不再是“孤立的”。有时,这两个团队将合并为一个团队。合并后,工程师将参与整个申请生命周期的工作(从开发和测试到部署和运营),并具有多学科技能。
DevOps团队使用工具来自动化流程并加速流程,这有助于提高可靠性。DevOps刀具链可帮助团队处理重要的DevOps基本问题,包括持续集成,连续交付,自动化和协作。
DevOps的价值有时会应用于开发团队以外的其他团队。安全团队采用DevOps方法时,安全已成为开发过程中的积极组成部分。这是So所谓的DevSecops。
DevOps生命周期
由于DevOps的连续性,员工使用无限的周期来显示DevOps生命周期之间的相互关系。尽管它似乎是按顺序进行的,但此周期实际上表明在整个生命周期中需要进行持续的协作和迭代改进。
DevOps的生命周期包括六个阶段。它们代表开发所需的过程,功能和工具(周期的左半部分)和操作(周期的右半部分)。团队将在每个阶段进行合作和沟通,以保持一致性,速度和质量。
规划
DevOps团队应使用敏捷的开发实践来提高速度和质量。发展是项目管理和软件开发的迭代方法,可以帮助团队将工作分解为较小的部分,从而提供增量价值。
构造
GIT是一个免费的开源版本控制系统。GIT可以为分支机构,合并和重写存储库的历史提供出色的支持,这为开发和建筑过程带来了许多创新且强大的工作流程和工具。
连续整合和交付
CI/CD允许团队经常发布高质量的产品,该产品涵盖了从源代码存储到使用自动化工作流的生产链接。该团队经常可以合并代码更改,部署功能标记和集成的End -to-到 -结束测试。
监视和警报
快速识别并解决了影响产品正常运行时间,速度和功能的事务。
操作和维护
以客户为导向的端 - 端的IT服务交付的管理。这包括所有IT基础架构的实践,用于组织服务的设计,实施,配置,部署和维护支持。
连续反馈
DevOps团队应评估每个版本并生成报告以改善未来版本。通过收集持续的反馈,该团队可以改善其流程并采用客户反馈以改善下一个版本。
DevOps工具
DevOps工具可以应付DevOps的生命周期的关键阶段。他们通过帮助改善协作,减少上下文切换,引入自动化并实现观察和监视功能来支持DevOps实践。
DevOps工具链通常遵循两种方法:集成或打开的工具链。集成工具链提供了一个完整的解决方案,通常不与其他第三方工具集成。开放式工具链允许使用不同的工具来自定义。这两种方法具有他们自己的优势和缺点。
DevOps的优势是什么?
有“ 2020年DevOps趋势调查”显示,99%的调查对象表明DevOps对其组织有积极的影响。Devops的优势包括更快,更轻松的发布,团队效率,更高的安全性,更高质量的产品以及更高的团队以及更高的团队以及客户满意度。
速度
更频繁地练习DevOps的团队发行了交付结果具有更高的质量和稳定性。允许团队使用自动化工具来构建,测试和交付软件。
改善协作
DevOps的基础是开发人员和运营团队之间的协作文化。他们将分担自己的职责并协调工作。这可以提高团队的效率,并消除工作转移和编写为其设计的代码的时间。
快速部署
通过提高发行版的频率和速度,DevOps团队可以快速改善产品。快速发布新功能和维修缺陷有助于获得竞争优势。
质量和可靠性
诸如持续集成和连续交付之类的练习可以确保正常,安全地更改更改,从而提高软件产品的质量。Monitoring帮助团队实时了解性能。
安全
通过将安全性整合到持续集成,连续交付和连续部署管道中,DevSecops已成为开发过程中的积极组成部分。通过将主动的安全审核和安全测试集成到敏捷开发和DevOps工作流程中,可以将安全性植入产品中。
DevOps面临哪些挑战?
最初的习惯很难改变。在孤立工作中的团队可能很难应对,甚至完全抵制团队结构以采用DevOps练习。一些团队可能会错误地相信,使用新工具足以使用DevOps.ever。DevOps是人员,工具和文化的结合。DevOps团队中的每个人都必须了解从概念,开发到最终用户体验的整个价值流。它需要打破岛屿才能在整个产品的生命周期中合作。
DevOps不是任何个人的工作,而是每个人的工作。
从传统的基础架构到基础设施的使用,基础架构,代码(IAC)和微服务,开发和创新速度可以加速,但是增加的操作工作量可能极具挑战性。最好是为自动化奠定可靠的基础,配置管理和持续交付实践,以减轻负担。
过度的依赖工具将导致团队偏离DevOps的必要基础:团队和组织结构。建立结构,应建立过程和团队,然后确定该工具。
如何使用DevOps?
首先,DevOps需要致力于评估,并可能更改或删除组织当前使用的所有团队,工具或流程。这意味着需要构建必要的基础架构,以便团队可以独立地构建,部署和管理它的产品不必过多地依靠外部团队。
DevOps文化
DevOps文化是指团队采用一种新的工作方式(包括加强合作和沟通)的环境。这是人员,流程和工具的协调,以实现更统一的以客户为导向的服务。多学科团队负责负责产品的整个生命周期。
继续学习
在DevOps中表现良好的组织鼓励在一定程度上进行实验和风险。在这些组织中,跳出固有的思维模式是正常的,并且将失败理解为学习和进步的自然组成部分。
敏捷
敏捷开发方法在软件行业中非常受欢迎,因为它们使团队的内在灵活性,出色的秩序和对变革做出反应的能力。Devops是一种文化转型,可促进软件构建和维护人员之间的协作。DevOps,效率和可靠性可以提高。
DevOps练习
持续集成
连续集成是将代码更改自动集成到软件项目中的实践。IT使开发人员可以经常将代码更改为施工和测试的中心记忆。这帮助DevOps团队可以修复缺陷,提高软件质量并缩短所需时间验证和发布新软件更新。
连续交付
连续交付是通过自动将代码更改为测试/生产环境的连续集成的。它将沿着连续的交付渠道前进。在此管道中,自动结构,测试和部署将安排到工作流程中。
语境
对于组织中的每个成员,必须访问尽快,尽快完成工作所需的数据。团队成员需要接收部署管道中的故障警报(无论是系统性故障还是失败由测试失败引起的),并及时收到生产中生产中运营条件和性能的最新信息和性能。索引,日志,跟踪,监视和警报是团队了解他们的重要反馈来源工作进展。
自动化
自动化是最重要的DEVOPS实践之一,因为它允许团队快速完成高质量软件的开发和部署过程。利用自动化,将代码更改为源代码内存的简单操作可以触发构造,测试和测试和部署过程大大减少了这些步骤所花费的时间。
基础架构是代码
无论您的组织是否拥有本地数据中心或完全在云中的监护权,它都可以快速而始终如一地部署,配置和管理基础架构是成功采用DevOps的关键。国际构造(即代码(IAC))不仅是汇编的汇编。基础架构配置脚本,它还将基础结构的定义视为实际代码:使用源控制,代码审核,测试等。
微服务
Micro Service是一项建筑技术。在此技术中,该应用程序是一系列可以独立部署和操作的小型服务。EAVEAST服务具有自己的流程,并通过接口与其他服务进行通信。这是独立的分离功能和剥离支持DevOps实践,例如持续交付和连续集成。
监视器
DevOps团队监视开发,开发,集成和测试的整个开发周期。通过这种方式,团队可以快速自动响应客户体验中的任何降级。更重要的是,它允许团队“转向左“发展的早期阶段,并最大程度地减少破坏性生产的变化。
开始使用DevOps
开始使用DevOps的最简单方法是识别小价值流(例如小型支持应用程序或服务),然后开始尝试一些DevOps练习。类似于软件开发,使用一小组的一小组转换单个数据流要容易得多利益相关者比试图过渡到组织中的新方式。
DevOps工具的选择需要专注于各个阶段的需求。不同阶段的工具的选择是不同的。它可能分为规划工具,问题跟踪工具,SCM工具,施工工具,测试工具,连续集成和部署(CI/CD)工具,配置管理工具,云平台,容器计划程序,监视和记录工具,通信工具等。目前,行业中更常用的施工工具包括Maven/Gradle,Jfrog Artifactory,Sonatype Nexus等。在施工过程中使用多种语言来存储二进制输出。
本文涉及测试用例的写作规范和用例管理的共享。因此,无论是主要的测试工程师还是质量团队的经理,它都具有一定的参考意义。文章中涉及的方法和工具不是唯一的解决方案。我希望每个人都不会获得文本的表面,而是文本中分享的一些想法。
有人说:我不知道测试案例吗?不仅仅是描述测试步骤吗?
这样回答确实是正确的,但是如果您只是在心中这样思考,只能说您不了解测试案例。
除了将测试案例描述为测试行为,更多的是验证测试目标是否满足需求,这主要测试了测试工程师的组织归纳能力。对于业务领域知识的经验,软件测试工程师的专业精神通常是反映在他设计的测试用例中。
专业工程师设计的测试案例不仅可以描述他的行为,还可以指导其他人实施它。它不仅强调深度,而且具有出色的用户思考。
尽管从格式方面,但基本上是设置的:
关于这部分,互联网上只有很多教程,因此我不会详细介绍。
只是重点的重点是格式只能确保测试用例清晰并不能提高测试案例的设计能力。那么如何编写测试案例?仍然以结构性设计开始。要提及一个概念HLTD [高级测试设计],可以简单地理解为测试大纲的设计。
就像我们写一篇文章一样,在笔的文本之前,我们将起草一份草稿,以列出中心思想和段落大纲,然后写颜色。
编写测试用例也是类似的例程,首先将测试点列为概述,并具有结构化的布局。将大型功能或模块分类,然后完善第二类甚至第三类,最后列出特定的测试点。阶段,作者倾向于使用思维图(大脑图)。与传统的文档软件工具相比,思维映射的显示更加直观。
因为它最终将是一个大局,所以缺陷也会反映出来。它仅适用于梳理想法,不适合文档管理。
这些结构化测试点的文档是我们所谓的测试案例。
因此,我们可以从这里看到每个测试案例的目的非常清楚。它是验证一种或一种类型的测试点。粒度需要根据公司的实际状况进行权衡。精力充沛。
测试用例实际上是一个非常详细的文档,它不可避免地会消耗测试工程师的相当一部分。在传统软件开发时代,它甚至是KPI的指标。
但是随着敏捷时代的兴起,有一种声音开始影响这种认知。
早期的敏捷从业人员仅在敏捷宣言的解释上留在文本的表面上,认为“只需要软件,没有文件”。这直接导致了这一时期,许多团队缺乏详细的文件,甚至缺乏详细的文件一些基本文件没有。
如今,越来越多的敏捷从业者意识到,没有提倡敏捷的声明不是“没有详细的文件”。相反,《敏捷宣言》同意“详细文件很重要”,并提出高于更高的要求 - “工作软件更重要”
许多团队仍然留在传统的办公软件中,例如Word,Excel
但是,在当今更快的市场环境中,通过有效的协作和实时分享团队信息的团队成员的需求越来越高。测试用例的平台必须最终归因于。除文档外,它还使用平台公式计划来显示进度和结果。
实际上,在传统时代,较大的软件公司已经使用平台来管理测试案例,这再次证明了敏捷时代并不意味着要推翻过去的经验和成就,而是提出了更高的要求。
如今,相对良好的管理平台基于基于JIRA的插头 - 例如:Zephyr,Xray,Synapsert,TM4J和独立的开源平台:例如:TestLink或已收费的独立平台:例如:TestRail:TestRail
我们主要考虑他们的生态学,促销成本,可扩展性和费用。
Zephyr的声誉一直很棒,但实际上不符合使用中国人的习惯,并且使用JIRA问题直接使用案例,这是相对简单的。用例管理主要是在计划和周期的关联中。因为它是JIRA插件,它可能与JIRA上的其他问题(需求,任务,缺陷)有很好的关联。很好,也没有病例设置的概念。在迁移条款中,数据简介支持类型受到限制。在扩展条款中,如果要使用其API,则需要安装另一个插件-in。成本是中等的。
Xray非常令人满意,并且还使用JIRA的问题来创建测试用例。但是,有多达5类的新问题类型,它们非常复杂。关联能力与Zephyr相同。数据简介支持类型有限,并且可以在API本身中获得。成本是中等的。
突触者是由中国人开发的。中国化效果是最好和强大的。数据简介支持的类型仍然有限,并且本身可以使用API。成本相对较低。
TM4J使用独立的页面管理测试用例来摆脱复杂的JIRA问题页面,该页面很难开始。数据导入功能功能强大,涵盖了许多类型和一些众所周知的平台。关联能力与上述插件一致- 在API本身中可用,但成本相对较高。
TestLink是一个具有全面功能和免费开源的独立测试管理平台。它可以与诸如JIRA之类的著名平台有关,但是由于它不是Atlassian系统,因此生态体验不是很高的。Slutarians是丑陋的界面,很容易影响工程师的心情。我使用自己的API美化UI。
TestRail是一个强大的业务平台。作者没有太多联系,也没有发表评论。
全面的考虑,尽管TestLink是免费开源用例管理平台的顶级,但在用例管理方面做了非常科学的用途,并且一直值得学习。医院副院长的支持,TM4J成为最终选择:
生产者仍然非常强大。除TM4J外,Zephyr实际上是一种产品,Swagger已经是一种具有高认知性的产品。
从官方网站介绍可以看出,TM4J仍然相对较现代:
首先,让我们看看如何使用TM4J编写测试用例。
在层次结构方面,我们创建基于HLTD的目录和细分,以促进每个人的理解和阅读。最终的测试点是瞬时的测试案例。它具有整体情况下唯一的关键。
单击新按钮以创建新的测试用例,默认情况下的详细信息选项卡,并在此处定义名称,目的,先决条件,条件和先决条件。有关详细信息,您可以设置状态,优先级和组件,并添加一些简单的管理标签。
切换到测试脚本选项卡,默认值是步骤-By -step,并且根据步骤 - 检验数据预期的结果添加每个测试步骤。
此外,值得一提
通常,我们需要为每个产品发布制定一个范围,因此规划管理至关重要。
计划管理建议是根据发行版制定顶级目录,然后为测试类型创建一个辅助目录,例如回归,新功能,结束 - 端 - 端,界面,界面,性能等。
测试计划本身的创建并不复杂。除了定义计划名称,目的,状态,州和负责人外,还添加一些标签。
您还需要与需求或Confluence页面连接。在创建测试计划时,可能不存在测试周期。当稍后创建测试周期时,它将在两个方向上关联。
测试周期是上部和下部的关键,是向上相关的测试计划,并且特定的测试案例是相关的。
通常,交货将一次经过3-5个冲刺,每轮冲刺的范围可能并不完全相同。
在新的测试周期名称,描述和详细信息之后。
输入测试用例选项卡,然后单击 +添加测试用例以添加已编写的测试用例。
此步骤使测试案例具有项目属性。
最后,在测试周期的测试周期中测试计划背后的痕迹镜子。
找到已关联的测试计划。
创建测试周期后,您可以输入该名称中分配的名称的测试用例。这是所有测试执行者都需要使用的接口。您还可以根据各个组的不同规则将其分类。在周期内提出的不同目录。
为了执行案例步骤,TM4J提供了一些快捷按钮,可以直接标记,失败,阻止,并单击“齿轮”按钮快速创建并查找Jira Issuestagnsue,单击“单击问题”后,单击+▼。统一平台的好处在这里。
尽管我们可以在查看测试周期列表时看到测试的进度,但可以通过测试报告反映更多数据显示。
TM4J的报告功能为我们提供了丰富的模板,这些模板缺乏经验丰富的考试质量经理。
最后,我想说的是,测试工作不能用作独立业务。它应该与其他角色进行更多的合作,尤其是在当前的敏捷时代。因此,强烈建议我们的软件测试工作人员尝试选择一些交叉 - 乔布的协作平台。
结论:以上是首席CTO注释为您编写的DevOps相关内容的相关内容摘要,我希望它对您有所帮助!如果您解决问题,请与更多关心的朋友分享。这个问题?