软件测试新趋势

最近十到二十年,软件业迎来了一个超高速发展期,其中软件测试相对于软件开发进展稍微缓慢一点,不过也出现了不少新的思想、技术以及趋势。基于现阶段在客户现场、业界大会、与专家的讨论以及从网上看到的相关内容,我尝试在本篇文章中总结出几个测试新趋势:

AI+测试

利用AI(深度学习等)系统来辅助测试工作绝对是最近几年最为热门的一个测试趋势,其中包括测试用例,测试数据和测试代码的自动生成、大规模测试结果分析、自动化探索性测试、缺陷定位等,美国已经有多个公司推出了商用的AI测试工具。在朱少民老师的公众号“软件质量报道”中就有一篇名为《未来已来,人工智能测试势不可挡:介绍9款AI测试工具》的文章,里面介绍了9款基于AI的测试工具。

虽然已经有很多公司开始研究AI辅助测试,也有很多工具问世,但是它们都存在一个很大的问题:准确性不够高。由于现在AI学习算法本身存在一些问题,其学习并生产的测试用例和验证条件的准确率都不是很高,我曾经参加过几个大会,其中有几个中国一线互联网厂商分享的AI辅助测试的准确率也只有80%多,不足90%。这种准确率在金融等一些要求很高的系统中很难获得认同。

我将AI辅助测试分为三步走:

第一步,通过深度学习模型自动生产测试用例的输入,人工验证输出。

第二步,通过深度学习模型自动生产测试用例的输入,并通过规则模型自动验收输出。

第三步,通过深度学习模型自动生产测试用例的输入和输出,并自动验证输出。

现在业界基本上能实现第一步了,有部分公司已经可以实现第二步了,而对于第三步,只有少量大公司实现了,并且准确度还不是很高,所以AI辅助测试还有很长的路要走。

新型业务和架构系统的测试

随着AI系统、区块链、微服务以及大数据等系统的出现与繁荣,对其进行专项测试也将是一个测试领域的趋势。这其中会涉及到一些新的挑战,比如测试AI系统可能会用到和以前完全不一样的方法与理论体系;测试区块链的时候如何模拟真实环境来进行测试;微服务在规模变大的情况下,是不是需要使用到与以前不一样的测试策略与一些特殊的测试技术;大数据系统如何在测试环境下,模拟真实的大规模数据,并进行业务测试等。

测试基础设施

随着软件系统规模的增大,测试环境的搭建变得越来越复杂,其成本也越来越高。而且在很多实际的项目中都对测试环境有一些特定的需求,比如每轮测试之前,回滚上一轮测试影响到的所有数据;或者可以快速将集群中的多个节点上的被测系统回滚到之前的某个版本等。随着这些需求的增多以及成本压力的增加,建设现代化的高效的测试基础设施已经成为了一个大型系统的必然趋势。比如可以利用DockerAnsible等来搭建高效的测试基础设施等,然后它还有另外一个新的名字:TestOps。

产品环境下的测试

去年阿里云和腾讯云都发生不同类型的线上故障,其中阿里云对于其在2018年6月27日线上故障的说明中写到:“这一功能在测试环境验证中并未发生问题,上线到自动化运维系统后,触发了一个未知代码bug”。由此可见对于大规模、高复杂度的服务器系统来讲,仅仅是在测试环境进行测试已经无法满足质量需求了,如何在产品环境下进行测试必将会在现在以及未来云时代中占据重要位置。比如Netfix一直在宣传其在产品环境做大量的FIT和其好处,我的公司同事Martin Fowler 2017在其博客上有一篇文章专门介绍 《QA in Production》,还有一个同事林冰玉也发表了一篇文章《产品环境下的QA》

基于故障注入的测试(混沌工程)

随着云平台越来越庞大,越来越复杂,普通的测试用例已经很难满足高可用的需求了,所以基于故障注入的测试(FIT-Failure Injection Testing)也越来越重要。其中Netflix甚至在其产品环境中大规模的使用FIT,而不仅仅是在测试环境中。Netflix在其官方博客中发表了多篇关于故障注入测试的文章。在未来云的系统的越来越多、越来越复杂的时代,对于一个追求质量的系统,基于故障的注入的测试肯定是必不可少的。

安全开发流程与自动化安全测试

现在一谈到安全,一般都是聊渗透测试或者是安全防护,比如WFA等,很少有人谈到安全开发和开发流程中的安全测试。其实安全开发才是最有效的安全防护办法,比如早在本世纪初微软就提出了自己的安全开发流程SDL(Security Development Lifecycle),但是由于微软的SDL十分笨重,成本也十分高,导致在其当前需要敏捷和快速开发软件的互联网时代很难推广。而在其10年后,ThoughtWorks又基于敏捷实践提出了另外一套安全开发流程BSI(Build Security In),把各种安全实践内建到软件开发的各个关键节点之中,通过尽早引入安全实践以及快速获取安全反馈的方式,尽可能早地发现安全问题。

其中BSI就是结合了敏捷方法论和实践的一种安全开发流程,并需要在开发流程中嵌入各种不同类型的安全测试,比如基于业务功能的安全测试,基于威胁建模结构的白盒安全测试,以及基于各种黑盒自动化的安全扫描和测试等,对于需要持续交付的敏捷团队特别适合。

可测性分析与设计

现在很少有公司会对系统进行可测试分析和设计,只有一些大型公司的部分大型系统会使用它。其实可测试是一个非常古老的话题,就像契约测试早在上个世纪80年代就被提出了,但是由于其对于中小型项目的投资回报比不高,很少有公司会用到。直到规模化微服务的出现和盛行,契约测试这个老古董也逐渐成了一个新的热点。但是随着软件规模的增加,特别是当云平台等大型系统成为一种趋势时,通过提高其可测试性来使其各种测试更加有效也将成为一种趋势。

敏捷测试

敏捷测试也许在国外很多公司(比如Atlassian,Netflix,Google等)已经是常态了,但是在国内,在未来很长时间内还是一种奢望。其中测试前移、测试驱动开发(业务功能级别的ATDD),以及预防缺陷优于发现缺陷等理念和实践,使得敏捷测试能有效的减少缺陷代码和返工,从而有效节约开发成本,提高交付速度和软件质量,所以敏捷测试中的各种实践也一定会在国内成为一种趋势。

小结

虽然测试方法、测试分析和测试策略非常重要,但是随着技术的发展,测试领域中技术占比越来越大。在这些趋势里面,虽然不少还需要长时间的发展或者还没有大规模被业界所采用,但是其中大部分都依赖技术的发展。所以,在未来想成为一名测试专家,除了需要精通传统的测试方法、测试分析、测试策略以外,技术也是无法避免的一项技能了。


文/ThoughtWorks刘冉
更多精彩洞见,请关注微信公众号:ThoughtWorks洞见

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容

  • (此文曾先后发表于TW洞见和InfoQ) 2015年11月,ThoughtWorks发布了新一期的技术雷达。技术雷...
    BY林子阅读 1,041评论 0 13
  • 本篇文章来自于HPE和msup共同举办的技术开放日HPE测试中心总监徐盛的分享,由壹佰案例整理编辑。 从HPE全球...
    Cynthia成阅读 575评论 0 1
  • 英文原稿来源丨Katalon 软件测试环境持续的发展。我们已经看到了发展趋势的延续和2019年新趋势的出现。今年,...
    测试之心阅读 285评论 0 1
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 125,152评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,055评论 0 4