精华内容
下载资源
问答
  • 转载本文需注明出处:微信公众号EAWorld,违者必究。Devops作为技术中台的重要组成部分之一,其下“自动化测试”功能也是不可或缺的一环,如何结合DevOps自身提供的自动化测试功能...

    转载本文需注明出处:微信公众号EAWorld,违者必究。

    Devops作为技术中台的重要组成部分之一,其下“自动化测试”功能也是不可或缺的一环,如何结合DevOps自身提供的自动化测试功能,做好DevOps的接口自动化呢?首先要先了解DevOps为自动化测试提供了哪些功能,如何使用该功能进行自动化测试,以及如何设计测试框架等等,本文将会为大家一一解答。

    DevOps作为技术中台的“效率&精益“平台,集成了多方测试工具供使用。目前集成的自动化测试工具有:robot-framework 、Jmeter。

    目录:

    1.为什么采用RobotFramework?

    2.什么是RobotFramework?

    3.RF如何做接口测试?

    4.如何在DevOps中执行rf脚本并生成测试报告

    一、为什么采用RobotFramework?

    针对接口、web网页、app自动化测试的工具有很多:selenium、jmeter、soapui、robotFramework、postman等,如何选择适合自己的自动化测试工具?此时便要看具体需求和业务。

    应需求:为DevOps产品做自动化接口测试,那DevOps自身集成了jmeter和rf框架,且采用jmeter或者rf工具,能使自动化测试过程在DevOps中“数据可视化”,每次执行后的各项测试数据指标(包括测试结果、测试报告、成功率、失败率等)直接在DevOps中进行展示、更是省略了自行配置jenkins进行自动化执行部署等操作,对于管理人员以及测试人员而言,均有受益。

    又考虑到测试人员技术水平,相对而言,rf简单易上手,所以rf突出重围,成为此次自动化工具角逐的“冠首”。

    二、什么是RobotFramework?

    Robot Framework是一款python编写的功能自动化测试框架,可导入各第三方测试库(例如:Selenium2Library、RequestsLibrary、DatabaseLibrary、HttpLibrary.HTTP),通过关键字进行web或接口自动化测试。

    RF特性:

    1、rf测试用例支持文本文件保存,使用制表符分隔数据,可方便使用任何文本编辑器,或者excel编辑测试用例,也可使用HTML格式创建用例;

    2、测试用例支持变量使用,可使用IF、ELSE以及For循环语句;

    3、支持关键字驱动、数据驱动和行为驱动;

    4、利用已有关键字,测试人员可进一步“封装”,形成更高级别的行为;

    5、测试人员可使用Python编写自己所需的关键字;

    6、测试报告和日志为HTML格式,便于阅读;

    7、使用简单,更好理解以及上手等

    三、RF如何做接口测试?

    1、RF脚本编辑工具:可通过RED工具(该工具百度文献参考多,这里不做介绍)或者eclipse来编辑Robot FrameWork测试用例;个人用的eclipse,更方便进行关键字的查看,具体可参考文献:https://www.cnblogs.com/Simple-Small/p/9229397.html。

    2、准备好rf环境【python环境、robotframework安装、JDK1.8+Eclipse+RED插件】;

    3、安装第三方库,提供接口测试的关键字:RequestsLibrary(在rf中,python语言的接口测试库名称为RequestsLibrary)、DatabaseLibrary、HttpLibrary.HTTP等;

     

    若导入httplibrary库出错,可参考以下文献进行调试:

     

    4、在robot脚本中引入所需各库:

     

    5、认识RequestLibrary以及DatabaseLibrary中的关键字。

     

    掌握各关键字含义以及用法,是利用RF做自动化测试的核心。在.robot文件中,鼠标悬浮在关键字上,会显示该关键字用法,或者按住CTRL键,鼠标点击可进入到py文件中,直接查看该关键字的实现和描述,RF接口测试主要用到以下红框关键字,还有其他语法例如FOR循环、json数据格式转换等需要掌握。RF基本语法以及关键字用法此处不做详细解析,对此有兴趣者可通过各学习网站搜索关键字:robotframework,查看对应视频学习即可;接下来主要以笔者实践rf接口自动化框架的二次封装为主线展开(为笔者个人实践,多处还有待后期改善,不完善处请谅解)。

     

    6、下图为笔者根据使用场景和需求,设计的RF接口自动化的基本框架:

     

    这里将rf框架封装为5层:工具类层、关键字层、基础数据层、测试数据层和用例层。

    工具类层:若rf已存的关键字不满足需求,可自行编写py函数实现;

    关键字层:将复用率高的代码块进行提取封装,成为新关键字。例如:

    • connectDatabase -连接数据库;

    • initDocData -执行数据库脚本;

     

    点击“Test cases”Tab页,可以表格形式展示rf测试用例;也可切换到“source”Tab页,直接以源码形式展示,看个人习惯选择视图编写脚本即可;

     

    测试数据层:分为“sql脚本” 和“ py文件”两类。

    • sql脚本中存储insert语句,为“删改查”接口准备基础数据,在测试用例执行之前进行数据库脚本初始化操作(使用Suite Setup);

    • Py文件 : LIST__addIDoc为新增接口的测试数据,其校验数据对应为:LIST__assertAddIDoc。.py文件中存储list类型数据,作为“增”[post]接口的测试数据以及各接口的校验数据;如图所示,其中“删改查”[delete/put/get]接口的校验数据需根据sql中的数据进行设计,一条测试数据对应一条校验数据,其List下标相同,保证进行数据遍历时测试数据和校验数据能一一对应。

     

    测试用例层:使用关键字,编写测试用例脚本。

    获取测试数据组,利用FOR循环,根据测试数据的List长度【即测试数据组数】遍历请求参数:

     

    发送相应请求,获取返回值,同时校验返回值是否与预期相符:

     

    关键字assertResult:为自定义关键字,参数有三个:接口返回值response、当前接口校验数据List、测试数据下标,若返回值状态码与预期状态码一致,则继续通过testcase关键字校验responseContent值是否与预期值相等,若状态码不相等,则直接跳过进入下一循环【这里校验和测试数据需严格按照“下标一一对应”规则 ,否则在校验时则无法正确匹配,且测试数据有几组,则校验数据也应有几组,否则将报错】。

     

    关键字testcase:有两个参数:response返回值和对应的校验数据,主要用作responseContent内容与校验数据的比对,若校验数据中所有key对应的value值,都与responseContent里同一key的value值相同【responseContent包含校验数据】,则校验通过。

     

    总结:

    1、预置测试数据和校验数据(通过sql脚本和Py文件中存储List类型数据) ;

    2、通过testcase前置条件,连接数据库并执行sql脚本初始化数据,且进行登录操作,将“认证”值设置为全局变量,供后续接口使用;

    3、编写测试用例,利用for循环遍历测试数据,发送请求,并获取同List下标的校验数据,进行返回值的校验;

    至此整个测试流程结束。小伙伴们get到我的整个框架设计了吗?

    四、如何在DevOps中

    执行RF脚本并生成测试报告

    到这里可能会有人问:测试报告和日志如何处理?这时候就要结合我们的DevOps产品,前言讲过DevOps为自动化测试做了哪些工作,是的,就是利用DevOps集成的rf任务,和拉取代码库代码任务,进行rf脚本的执行,执行完毕后,会将生成的测试报告存储在:与发布到nexus的工件路径一致。

    1)添加Robotframework任务,输入测试用例路径以及介质仓库,选择测试执行机(测试执行机需提前安装好robotframework运行环境),点击执行。

     

    2)robotframework任务执行完毕后,点击进入“自动化测试”tab页,显示本次运行相关信息(包括测试环境、运行开始结束以及持续时间)和测试报告、日志链接。

     

    查看每次运行后的测试报告。这就让我们的自动化工作变得更加简单,只考虑如何将测试用例写好即可,无需考虑CICD工作。

    题外话:

    普元devops产品,以自身提供的RF自动化测试功能为基础,极大程度的简化了自动化测试的CICD工作,让测试工程师更专注于维护测试用例和框架的编写,且提供自动化测试报表,让自动化过程透明化。整个rf框架历时两个月,中间不断修正,在这个过程中又接触到其他的自动化测试方案,还有很多需要完善和更改的地方,期待后面的框架订正吧【测试数据将更改为写在excel中,从excel中读取测试数据,并将每条测试用例的测试结果写在excel中】。欢迎各位小伙伴来沟通RF或者其他自动化测试方案~

    关于作者:冰糖糯米,普元测试工程师,目前参与Devops项目的功能测试以及接口自动化测试工作。致力于测试技术的研究和开发。

    关于EAWorld:使能数字转型,共创数智未来!长按二维码关注!

    展开全文
  • DevOps自动化测试

    2021-02-24 16:10:16
    本文讲的是DevOps自动化测试DevOps概念从2009年提出已有近8个年头,每个人对DevOps的理解可能都不完全一样,下面是普元对DevOps的理解和定义。我们认为DevOps不仅需要打通开发运维之间的部门墙,更多的需要从...
  • 自动化测试devops DevOps测试自动化是实现快速交付,可伸缩性,安全性,协作和监视的关键,这可以使当今的敏捷团队保持高生产力。 测试自动化使企业可以通过以下方式提高效率并提高投资回报率: 缩短开发周期...

    自动化测试devops

    DevOps测试自动化是实现快速交付,可伸缩性,安全性,协作和监视的关键,这可以使当今的敏捷团队保持高生产力。

    测试自动化使企业可以通过以下方式提高效率并提高投资回报率:

    • 缩短开发周期和实施时间。
    • 缩短上市时间。
    • 提高业务部门和IT团队的生产力。
    • 降低与开发和部署相关的成本。
    • 通过流程标准化简化工作流程。
    • 减少人为错误。
    • 提高系统组件的质量,可靠性和可重用性。

    但是,具有自动化能力并不意味着您应该使任何事情都自动化

    由于在购买软件,标准化流程,编程自动化和提供员工培训方面进行了前期投资,因此,从战略上实施测试自动化以最大化成本效率和优化ROI至关重要。

    提高测试自动化成本效益的7种方法

    以下是如何充分利用DevOps测试自动化的方法:

    1.确定涉及的工作流程

    清点开发过程中的所有应用程序,数据存储和工作流程。 确定通用组件(例如重复性任务),以确定哪些组件值得花费时间和精力来建立自动化。

    2.选择要自动化的过程

    选择最能从自动化中受益的工作流程。 例如,处理量大,需要三个或三个以上用户手动执行,依赖于时间敏感的活动以及影响各种系统的流程都是自动化的理想选择。 另一方面,那些需要人工参与多个决策点并显示出较低的ROI的流程不应自动化。

    3.改进和规范流程

    您要自动化的工作流程应进行优化,以使其尽可能高效。 毕竟,自动化有缺陷的流程只会使不良的工作流程更快地发生! 选择要自动化的工作流程后,请在设置自动化之前检查并修复所有效率低下的问题。

    4.逐步增加测试范围

    从最简单的工作流程和重复性任务开始自动化。 他们中的许多人实际上可能会占用您的大部分测试时间,因此对它们进行优先级排序可以立即产生投资回报。 这也将帮助您了解如何最有效地利用自动化软件,并使您的团队熟悉测试工具。

    5.建立隔离每个元素的测试用例

    创建测试用例,使每个用例都可以测试一个方面,以便在测试用例失败时很容易识别出问题所在。 另外,构建可重用的组件,而不是捆绑多个测试。 然后,您可以在不同的测试用例中重用该逻辑,以最大程度地减少编写新测试用例所需的时间。

    6.创建独立且独立的测试用例

    通过创建彼此不依赖的测试用例节省时间并提高生产率,从而可以在不同环境中同时计划和执行它们。 需要以特定顺序执行的测试用例会破坏QA流程的灵活性和敏捷性,这是自动化的固有优势。

    7.选择正确的测试自动化工具

    选择具有功能的测试自动化软件,该软件可以支持您当前的所有工作流程和测试用例。 此外,确定组织中可能成为自动化目标的应用程序和技术,以便最大程度地提高投资的长期投资回报率。

    寻找一种测试自动化工具 ,该工具

    • 使用基于云的平台来提供可扩展,可靠且可访问的服务。
    • 使您可以快速轻松地开发和维护脚本。
    • 实现连续开发,连续集成,连续测试和连续部署。
    • 在各种环境中提供跨浏览器和跨平台的测试。
    • 允许您将功能脚本重用于多个测试,从而节省了质量检查时间和精力。
    • 支持关键字和数据驱动的测试。
    • 使您可以一站式管理从测试生成到详细报告的完整质量检查生命周期。
    • 提供24/7支持,例如,您可以从客户服务,自助服务知识库和用户社区获得帮助。

    结论

    测试自动化是降低成本,提高质量保证效率和缩短开发周期的关键。 但是,您需要从战略上计划和实施流程,以优化工作流程并获得最高的ROI。

    此外,在选择测试自动化解决方案时 ,重要的是要牢记组织的独特情况和优先事项,以便您可以创建满足业务目标的流程。

    翻译自: https://www.javacodegeeks.com/2019/06/cost-effectiveness-devops-testing-automation.html

    自动化测试devops

    展开全文
  • DevOps 自动化工具

    2019-04-30 12:28:57
    所有测试流程自动化并对其进行配置以实现至关重要的速度和灵活性。此过程称为 DevOps 自动化。 维护庞大的IT基础架构的大型 DevOps 团队面临的困难可以简要分为六个不同的类别。 基础设施自动化 配置管理 部署...

    DevOps 自动化工具

    所有测试流程自动化并对其进行配置以实现至关重要的速度和灵活性。此过程称为 DevOps 自动化。

    维护庞大的IT基础架构的大型 DevOps 团队面临的困难可以简要分为六个不同的类别。

    1. 基础设施自动化
    2. 配置管理
    3. 部署自动化
    4. 性能管理
    5. 日志管理
    6. 监测

    让我们看看每个类别中的工具以及它们如何解决痛点:

    基础设施自动化

    亚马逊网络服务(AWS):作为云服务,您无需建立实际的数据中心。此外,它们易于按需扩展。没有前期硬件成本。它可以配置为自动根据流量配置更多服务器。

    配置管理

    Chef:它是一个有用的 DevOps 工具,用于提升速度,规模和一致性。它可用于简化复杂任务并执行配置管理。使用此工具,DevOps 团队可以避免在一万台服务器上进行更改。相反,只需要在一个地方进行更改,这些更改会自动反映在其他服务器中。

    部署自动化

    Jenkins:该工具有助于持续集成和测试。通过在部署构建后快速查找问题,更​​轻松地集成项目更改。

    日志管理

    Splunk:可以解决在一个地方聚合,存储和分析所有日志的问题的工具。

    性能管理

    App Dynamic:它是一个 DevOps 工具,提供实时性能监控。此工具收集的数据可帮助开发人员在发生问题时进行调试。

    监控

    Nagios:在基础架构和相关服务出现故障时通知相关人员也很重要。Nagios 就是这样一种工具,它可以帮助 DevOps 团队找到并纠正问题。

    展开全文
  • 自动化测试devops 在开发软件时,专业知识和策略在采用开发和运营(DevOps)策略中起着至关重要的作用。 这是因为为了实现测试自动化目标,需要一组专用的测试人员。 自动化测试是一项艰巨的技术活动,如果没有...

    自动化测试devops

    在开发软件时,专业知识和策略在采用开发和运营(DevOps)策略中起着至关重要的作用。 这是因为为了实现测试自动化目标,需要一组专用的测试人员。

    自动化测试是一项艰巨的技术活动,如果没有有效实施,它就有能力破坏项目的总体DevOps策略。

    仅了解应用程序的基础是不够的。 团队需要使用敏捷方法进行规划和开发。 如果您希望测试自动化策略在DevOps设置的上下文中起作用,那么协作将起着至关重要的作用。

    自动化测试

    考虑到这一点,这里有四个有用的技巧,通过这些技巧我们可以在DevOps设置中自动进行测试。

    1.具有应用程序用户环境的完整知识

    知道应用程序的不同部分并不是了解测试自动化的确切要求的解决方案。 为了全面了解测试自动化要求,了解应用程序用户环境中的所有因素非常重要。

    例如,如果应用程序用于财务目的,那么安全性至关重要,自动化测试将集中于安全性测试。 开发团队必须协同工作,并协助测试团队考虑所有的重要方面,当测试 纳克的应用。

    由于开发团队不断提供及时可交付成果的支持,因此测试团队将能够创建更好的自动化策略,并完美地配合开发功能。

    在一个金融应用程序的示例中,自动化测试将仅专注于安全测试工作,而开发团队将通过使测试团队始终参与代码的任何开发,来安排有效的测试。

    2.联合技术和管理经验

    DevOps设置中,测试自动化和开发工程师一起工作以创建测试脚本并扩大其测试范围。 这些代码和脚本的创建是为了支持持续的开发和集成活动。

    但是,技术和管理经验的系统结合对于开发该应用程序也很重要。 技术技能使开发人员可以确保没有故障,并且用户体验非常出色。

    此设置也会影响管理体验。 想象一下这样一个环境:一切顺利进行,每个人都知道他们应该做什么,应该向谁报告和交付,以及应该与哪些团队进行交互。 这样的设置是任何公司成功的必经之路。

    3.创建一个测试人员团队以仅处理测试自动化

    了解不同类型的测试需要不同类型的专业知识非常重要。 对于手动测试人员而言 ,自动化测试是相当大的挑战。 因此,将测试自动化任务分配给执行其他类型测试的测试人员组是无效的。

    自动化需要专业知识以及对计划和实施的深刻理解。 因此,建议组建一支在DevOps环境中拥有测试自动化专业知识和经验的独特团队。

    自动化不仅限于执行测试; 它包括对测试进行排名和计划。 一支经验丰富的专业团队可以为整个自动化流程创造价值,并确保取得切实的成果。

    4.鼓励文化转变

    DevOps并不局限于技术应用以及开发和测试活动的实施。 这是一种文化变革,在这种情况下,有利于DevOps的环境对于确保紧密监控和协作计划至关重要。

    在任何组织中,健康的DevOps文化都可以帮助公司实现许多组织价值的增长。 不仅如此,公司还可以享受更大的投资回报(ROI),更高的客户保留率和更大的市场规模。

    运营和开发人员需要共同努力,以减少不足之处并加快开发活动。 必须创建有利于DevOps的环境,以实现预计的测试自动化目标。

    目的是编写有助于在较小的开发周期内创建健壮的应用程序的代码。 只有在系统开发期间接受DevOps文化,而不是仅针对特定任务时,才能保证速度和质量。

    拥抱向DevOps的过渡

    像大多数更改一样,将自动化测试集成到DevOps设置中是许多企业必须习惯的。

    自动化测试

    为此,您必须对应用程序的用户环境有完整的了解,并且能够融合技术和管理经验。 最好只为自动化测试建立一个单独的团队,并鼓励建立DevOps设置不可避免地带来的文化转变,该设置还要求采用测试自动化策略。 此外,随着物联网时代和数字转换需求的增长,一切都在加速,因此拥有DevOps至关重要。

    谁愿意坚持使用传统技术或资源? 现在是时候进行改进了,以获得更高的ROI,客户保留率和市场价值。

    翻译自: https://www.javacodegeeks.com/2019/06/automate-testing-devops-setup.html

    自动化测试devops

    展开全文
  • 内部分享材料,现有工作应用中的自动化框架及应用场景介绍分享ppt
  •   自动化DevOps 实践的关键需求,使一切自动化DevOps 的基本原则。自动化过程从开发人员机器上的代码生成开始,直到将代码推送到代码中,然后再监视生产中的应用程序和系统。   自动化基础架构设置和配置...
  • 自动化测试devopsThis overview highlights why people should not overlook DevOps methods when planning their IoT automation projects 此概述重点说明了为什么人们在计划其物联网自动化项目时不应忽视DevOps...
  • DEVOPS自动化测试

    千次阅读 2016-08-15 17:34:20
    大家好,我是冀博,目前负责新一代数字化企业云平台 “The Platform” 的测试工作,很荣幸有这次机会和大家分享交流,今天向各位分享的主题是《DevOps自动化测试》,主要包括以下几部分内容: 1.DevOps不可或缺的...
  • DevOps自动化测试的新挑战 DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。 它是一种重视...
  • 以下视频详细介绍了GeneXus DevOps自动化构建和部署流程,包括通过MS Bulid来管理自动化流程,自动化的架构,以及在GeneXus Server上使用Jenkins做为自动化引擎。 视频链接:...
  • 对于自动化测试这部分,相信不是专门做测试的人接触的还是比较少的,那么我们怎么实现自动化测试代码编写就是我们首要解决的问题。 自动化测试框架 自动化测试框架,即是应用于自动化测试所用的框架。按照框架的...
  • 自动化测试体系不完善、缺少自助式的持续交付平台、系统间耦合度高服务拆分难度大、成熟的DevOps工程师稀缺,缺少敏捷文化……这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任重道远,不断学习...
  • DevOps自动化流程 一、解决方案 1、对组织人员培训,转变四思维向自动化/规范化转型 2、配合效率工具(自动化)对流程进行简化/标准化 3、全员参与并实践 二、DevOps工作流程 DevOps工作模式属于敏捷开发流程...
  • DevOps自动化工具集合

    2019-02-15 19:10:04
    版本控制&协作开发:GitHub、GitLab、BitBucket、...自动化构建和测试:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPUnit 持续集成&交付:Jenkins、Capistrano、Build...
  • 自动化测试是一项艰巨的技术活动,如果没有有效实施,它就有能力破坏项目的总体DevOps策略。 仅了解应用程序的基础是不够的。 团队需要使用敏捷方法进行计划和开发。 如果您希望测试自动化策略在DevOps设置的上...
  • 一、了解什么是DevOps DevOps的目标是实现软件系统的快速交付、并且提升系统稳定性和获得用户良好的反馈。...包含:基础设施即代码、CI/CD、自动化测试、容器化、服务编排、自动化部署和软件度量等。 CI/CD流水线是决
  • jenkins+newman+postman实现api自动化测试。安装过程+思路整理+实现步骤详解
  • 简单了解了什么是DevOps以及自动化测试DevOps这种新的开发模式中的重要性。简单来说DevOps提倡的是加强开发团队与运维团队之间的合作,从而加快产品开发周期以及上线频率。快速的产品发布导致的必然结果就是加强...
  • Devops自动化集成部署(1)-jenkins安装配置 https://blog.csdn.net/qq_40554364/article/details/88131362 1.安装git yum install -y git 2.安装maven wget http://repos.fedorapeople.org/repos/dchen/apache...
  • 微软Azure DevOps自动化部署

    千次阅读 2018-12-05 13:19:00
    1.准备一个 ... 创建docker远程镜像库   ...给这个项目加上Dockerfile文件(AzureDemo/AzureDemo/.....最后在Azure DevOps测试   转载于:https://www.cnblogs.com/shitong/p/10070393.html
  • 9.是否需要开机的时候自动启动 输入y是,输入n否 这里我输入了y,设置为开机自启 10.确认安装,输入i确认,输入e退出不安装 输入i+回车进行安装,然后慢慢等待安装完成 11.是否现在就启动JIRA,y是,n否 ...
  • DevOps建设中,主流的测试分层体系可以分为单元测试、接口测试和界面测试。Google曾提出一个经验法则:70%的小型测试,20%的中型测试,10%大型测试。当然,这...
  • CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外关于持续集成、持续交付,持续部署、自动化测试devops、敏捷开发等实践教程、资源与工具,以及一些工程师文化相关的程序员 Tips。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,316
精华内容 10,526
关键字:

devops自动化测试