• 数字化时代的自动化测试


    转   https://www.sohu.com/a/251121145_487103

    https://www.sohu.com/a/410189082_100233510

    测试自动化正在通向智慧、智能和认知QA之路:

    测试自动化不仅应该复制现有的手动测试过程,38%至42%的组织将认知自动化、机器学习、自我修复和预测分析视为测试自动化未来的有前途的新兴技术。

    智能解决方案是DevOps、移动和物联网中的新趋势。通过增加智能自动化,企业适应快速变化的业务环境能力将得到增强。

    将智能分析和机器人解决方案引入测试流程和平台;采用持续监测,预测分析和机器学习工具,利用生产环境数据,提供基于业务风险和实际问题定义测试策略。

    1. 智能测试自动化和智能分析

    智能测试自动化和智能分析将成为支持测试的关键,因为它们可以实现智能决策,快速验证和自动调整测试套件。测试自动化的范围从简单地将测试活动(计划、设计和执行)自动化发展到自动化测试环境和测试数据配置。

    然而,调查结果显示目前自动化还处于不足的状态,尽管从自动化中获益的组织数量在增加,但产生的价值没有根本变化,测试自动化水平仍然很低(低于20%)。

    速度将推动更智能的自动化需求,需要找到提高自动化水平的方法。

    2. 智能测试平台

    智能测试平台需要应对测试环境、数据和虚拟化日益增长的挑战。真正的智能测试平台的远景超越了生命周期自动化,需要实现自动配置的完全自我感知和自适应环境,以及支持自动化测试数据生成和测试数据管理。

    测试环境、测试数据和虚拟化是三大挑战,同时也为自动化提供了巨大的机会。结合智能生命周期的自动化,将使QA和测试进入下一个演进阶段,称之为智能QA,这已经成为行业重要的关键成功因素。

    3. 提高智能测试自动化水平
      自动化是满足日益增长的数字化转型测试需求的关键,建议组织制定一个中心战略,确定企业首选的测试工具,确定自动化计划的战略业务目标,并确定衡量结果的指标。
      同时,引入基于分析的自动化解决方案,向智能化QA和智能化测试自动化转变,以确保能跟上数字化转型的速度,做到持续的发展。

    就Devops的现况来看QA测试人员同样跟开发人员一样有足够的压力与动力,在这个全民持续集成的潮流中共同进步,成为中流砥柱。

    DevOps的实践落地即不是一个成功案例经验的复制,也不是一套工具的引入与使用,更不是单纯的获取能力成熟度认证,它本身是一项体系化的、持续化的工程,需要在实践的过程中不断的针对DevOps的各个环节进行优化。

    从测试的角度来说,如果想要拥抱DevOps,则必须要向敏捷测试转型。

    敏捷模型强调快速迭代、拥抱变化。采用了小步快跑的方式,所在实践中可以快速试错,从而降低风险。

    敏捷不仅是一种软件开发模式和方法论,更是一种企业文化和组织形式的转型。

     

    挑战:

    时间:采用敏捷和DevOps来支持数字化转型的话,使得测试生命周期缩短,确保高质量交付软件的前提下,测试时间是一个挑战;

    成本:如果测试预算投入有限的话,有限的测试资源与不断增多的测试需求矛盾冲突可能会比较突出。

    环境和数据:物联网(IoT)的快速增长意味着更多的软件系统在许多不同的环境中运行,在敏捷项目中进行测试时,缺乏测试环境和数据是最大的挑战。

     

    企业做数字化转型,无非就三个目的:业务转型、业务创新、企业增长

    数字转型的目的和核心都是实现业务转型、创新和增长,而我们的基石就是数字化技术

    数字化转型是企业战略层面的概念,它并不是追求眼前效益的机灵战术,其本质,是用数字化技术对业务的重构、流程的重构和组织的重构

    所以从本质上比较,传统信息化是“人”驱动“IT系统”,“IT系统”是人的流程中的一环

    而数字化的数字化的本质则是“IT系统”驱动“人”,人是系统流程中的一环,“好不好”由系统决定

    从架构上比较,传统的信息化架构是以流程线性自动化为核心,而数字化企业是数据和业务能力服务化形成网络聚合为核心



    作者:帆软
    链接:https://www.zhihu.com/question/338401583/answer/826553894
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
     
    敏捷测试:

    首先,可以明确的是,敏捷测试既不是一种方法(如黑盒方法、白盒方法等),也不是一种方式(如探索式测试)。

    因为在敏捷测试中可以采用已有的各种方法,包括白盒方法、黑盒方法;在敏捷中也可以采用探索式测试(exploratory test),也可以采用基于脚本的测试(scripted test)。

    那敏捷测试是什么?敏捷测试应该是一套解决方案、一类测试操作与管理的框架、一组实践或由一定顺序的测试活动构成的特定的测试流程。

    就像Scrum一样,Scrum可以理解为敏捷方法的具体实现的框架、一组实践或具体的解决方案。

    简单地说,敏捷测试就是顺应敏捷开发方法、力求达到质量和效率平衡的一系列的测试实践。

     敏捷测试是基于自动化测试的,自动化测试在敏捷测试中占有绝对的主导地位。在传统测试中也提倡自动化测试,但由于传统开发的周期比较长(几个月到几年),即使没有自动化测试也是可以应付的,一般来说,回归测试能够获得几周时间,甚至1-2个月的时间。而敏捷测试的持续性迫切要求测试的高度自动化,在1-3天内就有完成整个的验收测试(包括回归测试)。没有自动化,就没有敏捷。

    3、结论

    敏捷测试就是符合敏捷宣言思想,遵守敏捷开发原则,在敏捷开发环境下能够很好地和其整体开发流程融合的一系列的测试实践,这些实践具有鲜明的敏捷开发的特征,如TDD、ATDD、结对编程、持续测试等。和传统测试的区分,可以概括如下:

    1)传统测试更强调测试的独立性,将“开发人员”和“测试人员”角色分得比较清楚。而敏捷测试可以有专职的测试人员,也可以是全民测试,即在敏捷测试中,可以没有“测试人员”角色,强调整个团队对测试负责。

    2)传统测试更具有阶段性,从需求评审、设计评审、单元测试到集成测试、系统测试等,从测试计划、测试设计再到测试执行、测试报告等,但敏捷测试更强调持续测试、持续的质量反馈,阶段性比较模糊。

    3)传统测试强调测试的计划性,认为没有良好的测试计划和不按计划执行,测试就难以控制和管理,而敏捷测试更强调测试的速度和适应性,侧重计划的不断调整以适应需求的变化。

    4)传统测试强调测试是由“验证”和“确认”两种活动构成的,而敏捷测试没有这种区分,始终以用户需求为中心,每时每刻不离用户需求,将验证和确认统一起来。

    5)传统测试强调任何发现的缺陷要记录下来,以便进行缺陷根本原因分析,达到缺陷预防的目的,并强调缺陷跟踪和处理的流程,区分测试人员和开发人员的各自不同的责任。而敏捷测试强调面对面的沟通、协作,强调团队的责任,不太关注对缺陷的记录与跟踪。

    6)传统测试更关注缺陷,围绕缺陷开展一系列的活动,如缺陷跟踪、缺陷度量、缺陷分析、缺陷报告质量检查等,而敏捷测试更关注产品本身,关注可以交付的客户价值。在快速交付的敏捷开发模式下,缺陷修复的成本很低。

    7)传统测试鼓励自动化测试,但自动化测试的成功与否对测试没有致命的影响,但敏捷测试的基础就是自动化测试,敏捷测试是具有良好的自动化测试框架支撑的快速测试。

     
     

    敏捷测试展望

    达尔文在《物种起源》中阐明“自然界中的物种不是不变的,而是由低级向高级逐渐进化发展,能够生存下来的物种,并不是那些最强壮的,也不是那些最聪明的,而是那些对变化做出快速反应的”。在数字化转型和金融科技快速发展、新技术频繁更新换代的新常态下,测试作为软件产品有效的质量控制手段,需要不断提升其工艺能力,逐步实现测试的数字化和智能化,做到快速转变、快速提升,以应对内外部快速发展带来的变化。对于敏捷测试,因每个金融企业具有不同的特点,需要根据企业的自身情况,基于敏捷测试价值的理念,不断探索研究新兴技术的测试方法,创新和优化不同开发模式下的测试管理模式,持续提升测试的敏捷度和在产品交付中的价值。

     

  • 相关阅读:
    Keil(MDK) 5 软件安装教程
    JPA 的specification动态查询
    idea 建立JPA项目(二)
    HBase单节点的安装与配置
    【codevs3012+codevs3037】线段覆盖4+线段覆盖5(DP)
    MySQL下载和安装教程
    二、单线程的 JavaScript
    #JS 基础之异步(一)
    JS 基础之: 继承的 六 种实现方式
    源码浅析-Vue3中的13个全局Api
  • 原文地址:https://www.cnblogs.com/apple2016/p/13962406.html
Copyright © 2020-2023  润新知