首页>>互联网>>DevOps->devops怎么删除用例(devops使用)

devops怎么删除用例(devops使用)

时间:2023-11-30 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于devops怎么删除用例的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

什么是DevOps

什么是DevOps?

DevOps 是一套实践、工具和文化理念,可以实现软件开发团队和 IT 团队之间的流程自动化和集成。它强调团队赋能、跨团队沟通和协作以及技术自动化。

DevOps 运动始于 2007 年左右,当时软件开发和 IT 运营社区开始担忧传统的软件开发模式。在此模式下,编写代码的开发人员与部署和支持代码的运营人员会独立工作。DevOps 这一术语由“开发”和“运营”两个词构成,它反映了将这些领域整合为一个持续流程的过程。

DevOps 如何运作?

DevOps 团队包括开发人员和 IT 运营人员,他们在整个产品生命周期中进行协作,以提高软件部署的速度和质量。这是一种全新的工作方式,也是一种文化转型,对团队及其工作的组织具有重大影响。

在 DevOps 模式下,开发和运营团队不再是“孤立”的。有时,这两个团队会合并为一个团队,合并后工程师会参与整个应用生命周期中的工作(从开发和测试到部署和运营),并具备多学科的技能。

DevOps 团队使用工具实现流程自动化,并加速流程,这有助于提高可靠性。DevOps 工具链可帮助团队处理重要的 DevOps 基础事项,包括持续集成、持续交付、自动化和协作。

DevOps 的价值有时也会应用于开发团队以外的团队。当安全团队采用 DevOps 方法时,安全性则成为开发过程中一个活跃的组成部分。这就是所谓的 DevSecOps。

DevOps 生命周期

由于 DevOps 的连续性,从业人员使用无限循环来展示 DevOps 生命周期各个阶段之间的相互关系。尽管看似是按顺序进行的,但此循环实际表示需要在整个生命周期进行持续协作和迭代改进。

DevOps 生命周期由六个阶段组成,它们分别代表开发(循环的左半部分)和运营(循环的右半部分)所需的流程、功能和工具。团队会在每个阶段进行协作和沟通,以保持一致性、速度和质量。

规划

DevOps 团队应采用敏捷开发实践来提高速度和质量。敏捷开发是一种用于项目管理和软件开发的迭代方法,可帮助团队将工作分解成更小的部分,从而提供增量价值。

构建

Git 是一个免费的开源版本控制系统。Git 可为分支、合并和重写存储库历史记录提供出色的支持,而这已为开发构建流程带来了众多极具创新且功能强大的工作流和工具。

持续集成和交付

CI/CD 可让团队频繁且可预测地发布高品质产品,其范围涵盖从源代码存储库到使用自动化工作流的生产环节。团队可以频繁地合并代码变更、部署功能标记以及集成端到端测试。

监控和警报

快速识别并解决影响产品正常运行时间、速度和功能的事务。自动通知您团队有关变更、高风险操作或故障的信息,以便保持服务的运行。

运维

管理面向客户的端到端 IT 服务交付。这包括设计、实施、配置、部署和维护支持组织服务的所有 IT 基础架构过程中涉及的实践。

持续反馈

DevOps 团队应对每个版本进行评估,并生成报告以改进未来版本。通过收集持续反馈,团队可以改进其流程,并采纳客户反馈以改进下一个版本。

DevOps 工具

DevOps 工具可应对 DevOps 生命周期的关键阶段。它们通过帮助改进协作、减少上下文切换、引入自动化以及实现可观察性和监控功能来支持 DevOps 实践。

DevOps 工具链通常遵循两种方法:一体化或开放式工具链。一体化工具链提供完整的解决方案,通常不会与其他第三方工具集成。开放式工具链则允许使用不同工具进行自定义。这两种方法各有优缺点。

DevOps 有哪些优势?

有“2020 年 DevOps 趋势调查”表明,99% 的调查对象表示 DevOps 对他们的组织产生了积极影响。DevOps 的优势包括更快且更轻松的发布、团队效率、更高的安全性、更高品质的产品,以及更高的团队和客户满意度。

速度

更频繁地实践 DevOps 发布可交付成果的团队具有更高的品质和稳定性。事实上,DORA 2019 年 DevOps 状况报告发现,精英团队的部署频率和速度分别比表现不佳的团队高出 208 倍和 106 倍。持续交付使得团队可以使用自动化工具来构建、测试和交付软件。

改进协作

DevOps 的基础是开发人员和运营团队之间的协作文化,他们会分担责任,协调工作。此举可以提高团队的效率,并省去工作交接和编写专为其运行环境而设计的代码的时间。

快速部署

通过提高发布的频率和速度,DevOps 团队可以快速地改进产品。快速发布新功能和修复缺陷有助于获得竞争优势。

质量和可靠性

持续集成和持续交付等实践可确保变更正常运行且安全无误,从而提高软件产品的质量。监控则有助于团队实时了解性能。

安全性

通过将安全性集成到持续集成、持续交付和持续部署管道中,DevSecOps 成为开发过程中一个活跃的组成部分。通过将主动安全审计和安全测试集成到敏捷开发和 DevOps 工作流中,可将安全性植入产品内。

采用 DevOps 会面临哪些挑战?

原有的习惯很难改变。深陷孤立工作方式的团队可能会难以应对,甚至抗拒彻底改变团队结构以采用 DevOps 实践。某些团队可能会错误地认为有了新工具就足以采用 DevOps。但是,DevOps 是人员、工具和文化的结合。DevOps 团队的每一个人都必须了解整个价值流,从构思、开发到最终用户体验。它要求打破孤岛,以便在整个产品生命周期中进行协作。

Devops 不是任何一个个人的工作,而是每个人的工作。

从传统的基础架构转向使用基础架构即代码 (IaC) 和微服务可以加快开发和创新速度,但增加的运营工作量可能极具挑战性。最好为自动化、配置管理和持续交付实践奠定坚实的基础,以帮助减负。

过度依赖工具会使团队偏离 DevOps 的必要基础:团队和组织结构。一旦建立了结构,就应该建立流程和团队,然后确定工具。

如何采用 DevOps?

首先,采用 DevOps 需要致力于评估且可能更改或删除组织当前所用的所有团队、工具或流程。这表示需要构建必要的基础架构,以便团队能够自主构建、部署和管理其产品,而不必过分依赖于外部团队。

DevOps 文化

DevOps 文化是指团队采用新工作方式(包括加强合作和沟通)的环境。这是人员、流程和工具的协调一致,以实现更加统一的客户导向服务。多学科团队负责产品的整个生命周期。

持续学习

在 DevOps 方面表现良好的组织鼓励进行实验和一定程度的冒险。在这些组织中,跳出固有思维模式是常态,而失败则被理解为学习和进步的自然组成部分。

敏捷

敏捷开发方法在软件行业中非常受欢迎,因为它们赋予了团队内在的灵活性、出色的有序性以及响应变化的能力。DevOps 是一种文化转型,可促进软件构建和维护人员之间的协作。搭配使用敏捷开发和 DevOps 时,可提高效率和可靠性。

DevOps 实践

持续集成

持续集成是将代码更改自动集成到软件项目中的实践。它允许开发人员频繁地将代码更改合并到执行构建和测试的中央存储库中。这有助于 DevOps 团队更快速地修复缺陷、提高软件质量以及缩短验证和发布新软件更新所需的时间。

持续交付

持续交付通过自动将代码更改部署到测试/生产环境中来扩展持续集成。它会沿着持续交付管道推进。而在此管道内,自动化构建、测试和部署会被编排为一个发布工作流。

情境意识

对于组织中的每个成员来说,能够访问他们需要的数据以尽可能高效和快速地完成他们的工作可谓至关重要。团队成员需收到部署管道中的故障警报(无论是系统性故障还是由于测试失败引起的故障),并及时收到在生产中所运行应用的运行状况和性能的最新信息。指标、日志、跟踪、监控和警报都是团队了解其工作进展所需的重要反馈来源。

自动化

自动化是其中一个最重要的 DevOps 实践,因为它能让团队更快速地完成高品质软件的开发和部署流程。利用自动化,将代码变更推送到源代码存储库的一个简单操作便可触发构建、测试和部署流程,从而大大减少这些步骤所花的时间。

基础架构即代码

无论您的组织是拥有本地数据中心,还是完全托管在云中,能快速、一致地调配、配置和管理基础架构是成功采用 DevOps 的关键。基础架构即代码 (IaC) 不仅仅是编写基础架构配置脚本,它还将基础架构定义视为实际代码:使用源控制、代码审查、测试等。

微服务

微服务是一种架构技术。在此技术中,应用被构建为一系列可以相互独立部署和运行的小型服务。每个服务都有其自己的流程,并通过接口与其他服务通信。这种关注点分离和剥离的独立功能支持 DevOps 实践,例如:持续交付和持续集成。

监控

DevOps 团队监控从规划、开发、集成和测试、部署到运营的整个开发生命周期。如此一来,团队就能迅速、自动地对客户体验中的任何降级做出响应。更重要的是,它允许团队“左移”至开发的早期阶段,并最大程度地减少具有破坏性的生产变更。

开始使用 DevOps

开始使用 DevOps 的最简方法就是识别小型价值流(例如:小型支持应用或服务),然后开始尝试一些 DevOps 实践。与软件开发一样,与一小群利益相关者一起转换单个数据流比尝试在组织内一次性过渡至全新的工作方式要容易得多。

如何选择正确的DevOps工具?

DevOps工具选择需要着眼于各个阶段的需求,不同阶段时对工具的选择都是不同的,大概分为规划工具、问题跟踪工具、SCM 工具、构建工具、测试工具、持续集成和部署(CI/CD)工具、配置管理工具、云平台、容器调度程序、监控和记录工具、通讯工具等。比如构建工具,在构建阶段主要是为了保持打包的一致性,自动执行容易出错的活动,生成早期质量信号,目前业内比较常用的构建工具包括 Maven/Gradle、JFrog Artifactory、Sonatype Nexus等,JFrog Artifactory 支持多种语言,用来存储构建过程的二进制输出。

【经验分享】软件测试用例管理

本文涉及到测试用例的编写规范,以及用例管理的分享,因此,无论是对于初级测试工程师,还是质量团队的管理者,都有一定的参考意义。文中涉及到的方法和工具并不是唯一解决方案,希望大家收获到的不仅仅是文字表面,而是文中分享的一些思路。

有人说:测试用例还不知道?不就是描述测试步骤吗?

这么回答确实没什么错,只是如果内心上也仅仅这么认为的话,只能说并未理解测试用例。

测试用例除了作为测试行为的描述,更多的是作为被测目标是否达到需求的验证,主要还是考验了一个测试工程师的组织归纳能力,其输入来源往往是承诺书、用例(Use Case) 以及自身对业务领域知识的经验,一个软件测试工程师的专业度往往体现在他设计的测试用例上。

专业的工程师设计出的测试用例集,不仅能够描述自己的行为,还能指导别人实施,不仅强调深度,还具有优秀的用户思维。

虽然从格式上来说,基本就定型了:

关于这部分,网络上的教程只多不少,就不赘述了。

只不过要强调的重点是, 格式只能保证测试用例明晰,并不能提升测试用例的设计能力 。因此,测试用例该怎么写?还是要从结构化设计开始。这里需要提到一个概念 HLTD [ High Level Test Design ],可以简单粗暴的理解为测试大纲的设计。

就如同我们写文章一般,提笔正文之前,会先拟个草稿,列出中心思想及段落提纲,然后再攥写润色。

写测试用例也是类似的套路,先列出测试点作为大纲,并且具有结构化布局。通常以大的功能或模块进行分类,再细化二级甚至三级类别,最终列出具体的测试点。该阶段的设计,笔者倾向于利用思维导图(脑图),相较于传统的文档软件工具,思维导图的展现更直观。

由于最终会是一张大图,所以硬伤也随之体现,只适合用于思路梳理,不适合用于文档化管理。

把这些结构化好的测试点文档化,就是我们所说的测试用例了。

所以从这里我们可以看出,每一条测试用例的目的很明确,是验证一个或一类测试点,颗粒度需要根据公司实际情况权衡,太粗不利于对于测试点覆盖的总结,拆太细会消耗更多的精力。

测试用例其实是一个非常详尽的文档,必然会消耗测试工程师相当一部分的精力。在传统软件开发时代,甚至作为 KPI 的一项指标。

但随着敏捷时代的兴起,有一种声音开始冲击这种认知。

早期的敏捷实践者,对敏捷宣言的解读仅仅停留在了文字表面,认为“只需要软件,不需要文档”。这直接导致了这一时期,大量的团队缺失了详尽的文档,甚至连一些基本的文档都没有。

如今,越来越多的敏捷实践者认识到,敏捷宣言所宣扬的并不是“不用详尽的文档”,恰恰相反, 敏捷宣言认同了“详尽的文档很重要”这件事,并且提出了更高的要求 —— “工作的软件更重要”

对于测试用例文档化工具的选择,很多团队仍然停留在传统的办公软件,如 Word、Excel

但如今凡事比快的市场环境下,团队成员高效协作、团队信息实时共享的需求越来越高,测试用例平台化管理必然还是最终归属,除了文档化,还利用平台制定计划,展示进度和结果。

事实上,在传统时代,大一些的软件公司就已经使用平台来管理测试用例了,这再一次证明了敏捷时代并不意味着推翻过去的经验和成果,而是提出了更高的要求。

如今,相对知名的管理平台有基于 Jira 做插件的,如:Zephyr、Xray、synapseRT、TM4J,也有独立的开源平台: 如:TestLink,或收费的独立平台: 如:TestRail

我们主要从其生态、推行成本、可扩展、费用角度去综合考虑。

Zephyr 的名气一直都很大,但实际上并不太符合国人使用的习惯,使用起来诸多不便。用例直接使用 Jira issue,功能比较简单,用例管理主要在计划和循环的关联上。由于其是 Jira 插件,因此能很好的跟 Jira 上其他 issue (需求、任务、缺陷) 进行关联。但其用例管理的可视化不是很好,没有用例集的概念。迁移方面,数据导入支持类型有限。扩展方面,若要使用其 API,还需要另外装一个插件。其费用中等。

Xray 算中规中矩,也是使用 Jira 的 issue 来创建测试用例。但其新增的 issue 类型多达 5 类,显得极其复杂。关联能力与 Zephyr 相同,数据导入支持类型有限,本身有 API 可供使用。其费用中等。

synapseRT 是国人开发,汉化效果最好,功能强大。有用例集的概念,用例也是用的 Jira issue 来扩展。数据导入支持了 TestLink、Zephyr 这样的其他平台。关联能力同 Zephyr,数据导入支持类型依旧有限,其本身也有 API 可使用。而费用相对较低。

TM4J 使用独立页面管理测试用例,脱离复杂的 Jira issue 页面,上手难度低。数据导入功能强大,覆盖很多类型及一些知名平台。关联能力与上述插件一致,本身也有 API 可使用。但费用相对较高。

TestLink 作为独立的测试管理平台,功能全面,开源免费。可以关联 Jira 这样的知名平台,但由于不是 Atlassian 体系,所以生态体验不高。硬伤是界面丑陋,容易影响工程师的心情。笔者曾经使用其本身的 API 进行 UI 美化。

TestRail 是一个强大的商业平台,笔者接触不多,不乱作评论。

综合考虑,虽然 TestLink 作为免费开源用例管理平台中的 TOP,在用例管理上做得非常科学,一直值得学习,但笔者所在公司已经在使用 Jira,并在落地 DevOps,外加笔者常受 Atlassian 中国社区研究院副院长的支持,TM4J 成为最终选择:

出品方还是挺强的,除了 TM4J,Zephyr 其实也是其下产品,Swagger 也已经是目前认知度很高的产品了。

从官网介绍上可以看出,TM4J 还是比较现代化的:

首先我们看看利用 TM4J 如何来编写测试用例。

层级结构上,我们根据 HLTD 来创建目录以及子目录,以方便所有人理解和阅读,最后的测试点则实例化为一个测试用例,它拥有全局唯一的 Key。

点击 New 按钮创建新测试用例,默认在 Details 标签页,在这里定义用例名称、目的、前提条件,详情中可以设置状态、优先级、所属组件,并可以添加一些便于管理的标签。

切换到 Test Scripts 标签页,默认是 Step-by-Step 类型,按照 STEP - TEST DATA - EXPECTED RESULT 添加每一个测试步骤。

另外值得一提的是,在 Traceability 标签页,可以关联 Jira issue、Confluence page

通常我们针对每次产品发布交付,需要制定范围,因此计划管理是必不可少的。

计划管理推荐按照发布版本来制定顶层目录,然后针对测试类型创建二级目录,如回归、新功能、端到端、接口、性能等等。

测试计划的创建本身操作倒并不复杂,除了定义计划名称、目的、状态、责任人,外加一些标签。

还需要关联一下需求或者 Confluence 页面。测试周期在刚创建测试计划的时候可能并不存在,可以在之后创建测试周期的时候,会双向关联。

测试周期是一个承上启下的关键,往上关联测试计划,往下关联具体的测试用例。

通常一次发布交付会经历 3-5 次冲刺,每轮冲刺的范围不一定完全相同。

在新建完测试周期名称、描述以及详情之后。

进入 Test Cases 标签页,点击 + Add test cases 添加已经编写好的测试用例。

这一步操作使得测试用例具备了项目属性。

最后在测试周期的 Traceability 标签页点击 Test Plans 后面的放大镜。

通过查找来关联已经做好的测试计划。

创建完测试周期,就可以进入该周期浏览到分配到自己名下的测试用例了,这是所有测试执行者都需要用到的界面,还可以通过 Group by 根据不同规则进行归类,比如根据测试周期中制定的不同目录。

对于用例步骤的执行,TM4J 提供了一些快捷按钮,可以直接标记通过、失败、阻塞,并且可以点击齿轮按钮,快速创建、查找 Jira issue 进行关联,当然,除了对于步骤关联 issue,也可以针对该用例标记 issue,点击 Issues 后面的 + ▼ 可进行操作。统一平台的好处便是在此了。

虽然我们在查看测试周期列表的时候可以看到测试的进度,但更多数据展示可以通过测试报告来体现。

TM4J 的 Reports 功能给我们提供了丰富的模板,方便一些经验不足的测试质量管理者。

最后,笔者想说, 测试工作不能作为一个独立的业务,应该更多的与其他角色协作 ,特别是在现在的敏捷时代,测试用例的执行可以要求开发工程师关注,测试的状况可以要求产品经理随时介入,因此,强烈建议我们软件测试工作者尽量选择一些跨职能协作平台。

结语:以上就是首席CTO笔记为大家整理的关于devops怎么删除用例的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/DevOps/2760.html