Follow留言点赞,带你解最流行软件开发知识与最新科学行业势头,
你、你最喜欢应用程序之间每一次成功交互都是质量检查团队一道奋勉结果,
您与您最爱应用程序之间每一次成功互动都是质量保证 〔QA〕 团队一道奋勉结果,这些孜孜不倦难题猎手确保全球移动设备运用者日常需求所依赖应用程序每個方面都能在每次发布、更新中顺利运行,
当您在早晨闹钟声中醒来、查看天气或向所爱人发送消息时,咱们必需感谢这些往往是默默无闻英雄,
当该团队奋勉失败时,他们绝对会听到这样消息:很多运用者会毫不犹豫地在流行〔且非常明显〕评论网站上供应负面反馈,
现代移动应用程序运用者——也就是咱们现在接近所有人——期望是完美,QA 团队最先选意向是确保每次部署都没有错误产品,
错误、难题存在会很快让应用程序沉没,不幸是,要确保无错误体验绝非易事,况且它只会变得越来越复杂,今天软件开发世界变得越来越复杂,而针对这些复杂性带来很多潜力、场景实行测试意味着测试自身变得越来越复杂、资源密集,
鉴于移动应用程序开发历史,预计应用程序只会变得更加复杂同时须要更高级、更频繁测试是非常合理,但一定要这样吗?咱们是否注定须要越来越多员工、越来越大 QA 团队?
1980 年代:手动测试
让咱们花点时间探究一下咱们是如何走到这一步,直到最近——“哇——我猜这真是很久以前 1980 年代”——软件 QA 团队严重依赖手动测试他们设备,以确保推向市场产品性能良好.
那是一個更简单阶段,设备功能、活跃场景都少得多,因为这個手动编码是一种足够测试方法,虽说繁琐就业在百分之百执行时会花费大量时间,但手动测试对测试人员来说疗效很好,
但是技术作为连续发展、改进野兽,以自动化格局迎来更迭,极大地改进测试过程,软件连续进步并变得更加复杂,
1990 年代 – 2010 年代:编码测试自动化
在接下来几十年里,测试进步使 QA 测试人员摆脱经由测试用例实行实际操作要求,他们不再须要手动找出意大利面条式代码堆中错误,
他们在软件难题战争中有新武器:大规模手动测试已经变得不切实际,倘若任何 QA 团队要在合理时间内百分之百测试一個大概发布版本,他们须要经由以下方法执行测试脚本一种自动化工具,
那么,复杂性之战赢吗?不百分之百,最卓著别将自动化测试视为一种革命性独创,而应将其更多地视为与软件连续发展复杂性实行军备竞赛又一步,
时间在流逝,但地平线上还没有明显胜利,伴随移动应用程序流行并变成咱们很多日常生活重心工具,自动化测试逐渐失势,幸运是,一场期待已久变革就将来临,一场真正革命,
2020 年代:无代码测试自动化
直到最近,QA 测试团队困境确实变得相当可怕,为确保高质量产品发布,自动化测试须要越来越复杂代码工具,这意味着 QA 团队须要将越来越多程序员特意用于测试,而不是其他任务,比方说生成新功能,这不光本钱越来越高,况且还意味着将发布日期越来越往后推,但另一种选择,就灾难性发布,大概要昂贵得多〔正如很多备受瞩目失败发布所证明那样〕,
但无法防止事情来,经由抽象原则——根据接口表达为极其复杂过程铺平道路〔比方说,探究隐藏在你正在阅读文章后面 1 、 0〕——很多专家早就预示着一個新抽象层,一场“无代码革命”,这确实在过去几年取得成果,
最近发生一些平台,允许在各個行业中运用无代码搞定方案,无代码革命一個更明显例子是真正所见就所得网站编辑器〔想想 Squarespace 或 Wix〕流行,而在软件测试不那么明显领域,我创立公司 Sofy 是一個前无古人后无来者平台,可为移动应用程序供应无代码测试,
无代码革命带来翻天覆地更迭,让非专家也能搞定复杂任务,让专家有更多时间搞定其他任务,因为这個,在不久之后将来,咱们无疑会看到越来越多面向各個行业无代码搞定方案,
2025?真正智能自我测试软件
也就是说,在事物计划中,无代码革命只是向前迈出又一步,我相信软件测试下一步是测试自身软件,
在这方面我并非孤单:就像无代码革命一样,自我测试软件多年来一直是一個预期现实,以技术更迭、增长速度,可以想象到 2025 年,无需人工干预就可测试 AI 运行智能测试自动化〔就自测试软件〕将大大扩展,这一点也不荒谬,
目前,智能测试有限实施经由依赖机器学习 〔ML〕 、人工智能平台提高软件发布速度、质量,这允许实行高速、连续测试〔并由此提高投资投资回报〕,另外,AI 可以复制人类智能,而 ML 则可以让计算机在没有人为干预情况下实行学习,
人工智能、机器学习采用根据深度学习算法来访问数据,并经由提取模式从数据中学习,于是更有效地实行调试、决策,另外,这项技术允许 QA 团队跨各类设备、各异外形规格执行很多测试,
不是几天,而是几小时,现在这是一场革命,
没有代码依旧须要人;人不是机器:他们会犯错误,就使没有代码——虽说大大减少——人为错误依旧是导致严重难题一個因素,探究由人工测试引起资源、时间、精力过度运用,
智能测试自动生成、维护测试用例并引发有价值收益,这些收益可以概括为提高生产力、输出质量,但要实行智能测试自动化,必需先说结合以下要素:
- 从人类输入中学习:当机器实行测试时,它必需像人类一样行动,它必需解人类须要、想要什么,以及人类如何运用设备,正如咱们所讨论,这大概很难占卜,复杂应用程序意味着复杂测试场景、模式,反而,机器必需从这個有利角度理解、操作,
- 从实际运用产品数据中学习:机器必需解应用程序在不同样生产环境中运用方法,这涵盖解大概正在运用设备、设备设置语言及其运用流程,涵盖菜单、屏幕、操作运用,
- 训练数据就像自动驾驶汽车〔一個尚未破解坚果〕一样,机器学习须要训练数据来协助概述软件模式,
这三项必需内化并针对每次代码更改实行百分之百测试,而后,必需以无缝、智能方法对它们实行聚合、优先级排序,这是一项不小壮举,但咱们将继续面向下一步奋勉,
咱们还没有,在咱们继续前进之前,必需完成这些步骤中每一步,但这实际上只是时间难题,
自我测试软件只是最先個步:我占卜咱们可以期待其他刚刚投放市场无代码示例向机器学习方向发展,我相信根据一些运用者指定参数生成整個网站变成现实只是时间难题,今天,无代码革命终于到来,但随之而来是另一场革命开始。