软件测试未来---机器学习来救援

原文
过去10年我们看到了对于更快交付软件的残酷压力。自动化测试的出现作为伸缩开发运维的一种最重要的技术,很多公司投入大量时间精力来构建端到端软件交付流水线,而容器机器生态系统正在坚守早期的承诺。

交付流水线和容器的组合帮助高效执行者比以往更快交付软件。即便如此,许多组织还挣扎在如何平衡速度和质量。许多组织卡在了如何让遗产软件、大量的测试套件、脆弱的流水线取得进展。所以你会如何走出这种境况?

在快速发版的驱动下,终端用户变成了软件测试者。然而他们并不愿意成为你的测试人员,而公司也注意到了这点。当前公司想要确保追求速度的同时质量不要被妥协让步。

测试是一种顶级开发运维控制器,组织可以用来确保他们的客户可以获得愉快的品牌体验。其它的控制器包括访问控制、活动记录、跟踪能力和灾难恢复。我们公司过去几年的研究表明缓慢的反馈周期、缓慢的开发循环和开发者生产力生产率仍将是接下来几年最高的优先级。

质量控制和访问控制是预防性控制,其它的是反应性控制。未来还会有越来越多的关注放到质量上,因为这会阻止客户受到不好的体验。因此,快速交付价值还是交付更好价值,今年及其以后我们会看到在正确质量等级快速交付正确价值将会是关键趋势。

下面是5个关键趋势。

1. 自动化测试

测试自动化的努力会继续增加。数量惊人的公司在他们的交付流水线中仍然有手工测试。但是如果价值链的关键路径有人类你就无法快速交付,这会降低事情进展速度。(探索测试是个例外,这里必须有人类。)

把手工测试转换成自动化是一个需要专注工程的长期过程。然而许多组织至少有一些自动化测试,还有更多的自动化工作要做。这就是自动化测试仍然停留在趋势之首的原因。

2. 建立持续的质量文化

随着团队把测试自动化,并采用开发运维,质量思维必须成为开发运维思维的一部分。这意味着质量会变成组织中每个成员共有的责任。
在这里插入图片描述
顶级执行者来回移动测试来创建新工作流程。为了更早验证而左移,为了加速交付而右移。图片来源:Launchable

团队需要对于测试在哪落地更有意图。应该左移测试来更早发现问题,还是在右侧增加更多质量控制?在房子的“左-右”两面,诸如混沌工程和金丝雀部署变成必要的。

左移大量测试套件非常困难因为你不希望由于在工作流程更早阶段运行测试而导致长时间延期。许多公司在代码合并前从大量测试套件中标记一些测试用例并运行,但缺点是这些测试可能跟特定的修改集合有关,也可能无关。预测性测试选择(参考第五个趋势)提供一个令人信服的解决方案,只运行相关的测试。

3. 数据驱动开发运维

过去的6-8年,业界一直把焦点放在连接各种各样的工具,以构建强壮的交付流水线方式。每种工具都产生大量冗余数据,但是这些数据很少被用到,甚至根本没用。在交付流水线的工具进化过程中,我们已经从“手工”或者“手工艺”方案转移到“大规模”阶段。

下一个阶段将是工具智能化。期待看到从业者在制定数据驱动决策时将该重点突出。

4. AI上升:测试生成工具

测试中有两个关键问题:测试不足,测试太多。测试生成工具旨在解决第一个问题。

今天,为了创建用户界面测试,你要么必须写大量代码,要么测试人员不得不手动点击所有用户界面,这是个难以想象的令人痛苦的并且漫长的过程。为了减轻这种痛苦,测试生成工具使用AI在多种不同的平台创建并运行用户界面测试。

举个例子,我的团队开发了一个工具,它使用“训练者”,可以让你记录网页程序上的操作来创建无脚本测试。虽然无脚本测试不是一个新概念,新奇的地方在于这个工具能根据用户界面的改动“自动修复”测试。

我们开发的另一个工具有AI机器人,能像人类一样行动。他们会点击按键,滑动图片,输入文本,并且在不同屏幕之间导航来检查问题。一旦发现问题,会在Jira里创建订单,进而让开发人员采取行动。

2021年更多的使用AI的测试工具将会越来越受欢迎。

5. 机器学习和预测性测试选择

除了测试生成,AI还有其它测试用途。对于正在和大量测试套件运行时间斗争的许多公司,一种被称作预测性测试选择的新兴技术越来越受欢迎。

许多公司一直以来有成千上万的测试需要运行。代码的一个微小改动可能花费数个小时或者数天测试才能获得反馈结果。虽然通常来说测试越多质量越好, 但是同时意味着反馈更慢。

迄今为止,谷歌和脸书已经研发了机器学习算法用于处理输入变化然后只运行最可能失败的测试。这就是预测性测试选择。

这个技术令人乍舌的地方在于你只需运行10%~20%的测试,却能达到90%的可信度–整体测试不会失败。一个在代码合并后需要运行5小时的测试套件,在代码合并前只需要30分钟,只运行跟源码修改相关度最高的测试。另一个场景是把一小时的测试运行时间减少到6分钟。

期待预测性测试选择在2021年变得更加主流。

真正问题:测试执行时间

自动化测试开始接管世界。即便如此,许多团队还挣扎在过度阶段。持续的质量文化将会变成开发运维思维的一部分。工具会变得更加智能。测试生成工具会帮助关闭手工测试和自动化测试之间的缺口。

但是随着团队增加越来越多的测试,他们面对的真正问题是测试执行时间。尽管更多的测试帮助提升质量,但是这也经常会变成提高生产率的一个阻碍。随着我们进入2021机器学习会来救援。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统根据B/S,即所谓的电脑浏览器/网络服务器方式,运用Java技术性,挑选MySQL作为后台系统。系统主要包含对客服聊天管理、字典表管理、公告信息管理、金融工具管理、金融工具收藏管理、金融工具银行卡管理、借款管理、理财产品管理、理财产品收藏管理、理财产品银行卡管理、理财银行卡信息管理、银行卡管理、存款管理、银行卡记录管理、取款管理、转账管理、用户管理、员工管理等功能模块。 文中重点介绍了银行管理的专业技术发展背景和发展状况,随后遵照软件传统式研发流程,最先挑选适用思维和语言软件开发平台,依据需求分析报告模块和设计数据库结构,再根据系统功能模块的设计制作系统功能模块图、流程表和E-R图。随后设计架构以及编写代码,并实现系统能模块。最终基本完成系统检测和功能测试。结果显示,该系统能够实现所需要的作用,工作状态没有明显缺陷。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。进入银行卡列表,管理员可以进行查看列表、模糊搜索以及相关维护等操作。用户进入系统可以查看公告和模糊搜索公告信息、也可以进行公告维护操作。理财产品管理页面,管理员可以进行查看列表、模糊搜索以及相关维护等操作。产品类型管理页面,此页面提供给管理员的功能有:新增产品类型,修改产品类型,删除产品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值