标签归档:质量报告

BQConf演讲:软件测试人员该何去何从?

本文根据11月23日第39届BQConf北京的演讲《软件测试人员该何去何从》整理,为了便于阅读,稍作修改并增加了不同级别的标题。

三个故事

01. 面试中的他

两年前的一个下午,天气有些雾霾,在三楼光线不是特别明亮的会议室里,我和另外一位工作年限跟我差不多的同事面试一位有着10年经验的候选人。

对于跟一位工作十年的候选人见面,我和同事都挺期待,提前沟通好,做好了充分的面试准备。走进会议室,看到一位身材高大、略显疲惫的男士,没有我想象的那种阅历丰富、干练自信的样子。

简单寒暄之后,我们正式进入面试流程。他介绍了自己的工作经历,详细描述了自己这些年所从事的工作的点滴,听下来并没有太多的亮点。出于对候选人负责,我们想尽力去挖掘他的一些加分项,但是,很难,最终无果…

他来自某大公司,多年一直处于一个部门,从事几乎没什么变化的手动测试工作,工作强度不大,对技能要求也不是很高,他在那里做的得心应手。不料,公司业务发展调整,需要部分裁员,他不得不另谋出路。

02. 屏幕那头的她

一年前,我写了一篇文章《微服务测试的思考与实践》。有位朋友看了我的文章,给我发来微信,她觉得我的文章内容对她很有启发,就文章内容跟我进行了咨询和讨论。

她对内容很认可,但是执行起来她觉得没那么容易。我俩聊着聊着,她开始跟我讲她现在的困境:她有简单的编码技能,但是对于更多底层技术、架构方面的知识比较缺乏,在项目团队想推进一些技术变革重重受阻。她做QA也有好些年了,这两年老觉得行业技术更新太快,自己的技术热情和时间有限。而随着工作年限的增加,别人(团队)对她的要求也就更高。

她是一位妈妈,一方面需要照顾家庭和孩子,一方面感觉到工作技能提升的压力,她感觉自己遇到了职业瓶颈。

03. 放弃测试的他们

两个月前,两位好友一起吃晚饭。很久没有相聚,自然是有很多话题聊的。

他们两个都是曾经做测试的,现在分别转做了开发和管理。席间我们聊到了这个话题,身边做QA或者测试的朋友转角色的还不少。我被问到是否考虑转角色的问题,同时,我也听到一个说法:大家都从QA转别的,毕竟QA的地位还是要低一些。

故事讲完了,大家有何感想?

我们来看一下故事里提到的测试人员面临的问题有哪些:

  • 多年重复手动测试,只是关注自己手头的事情,大公司的部门壁垒,跟别的角色、别的团队较少沟通,相对比较封闭。但这些似乎并不影响做好手头的测试工作,觉得自己是“能力够用”的,在这个舒适区待着很爽,自然没有学习提高的动力。
  • 长此以往,应对变化的能力会越来越弱,随着年龄的增长,本应该同样增长的技能却没有相应的增长,感受到外界的压力增加;如果还有身份的变化,成为上有老下有小的夹层,来自家庭的压力导致用于技能提升的精力减少,更加难以提高。
  • 得不到技能的提高,在团队的影响力减小,话语权降低,不被重视,甚至自己也在怀疑所做工作的价值…于是,只好选择换一个角色…

当然啦,有些朋友是真的觉得测试工作不适合自己,转做别的更适合的工作,这些朋友除外。比如跟我吃饭的那两位好友,他们现在都干的很好!

那么,软件测试人员真的有这么悲惨吗?
World Quality Report

由Capgemini、Micro Focus和Sogeti联合组织问卷调查,每年出具一份《World Quality Report》(全球质量报告),今年已经是第10期了。报告列出了大家关注的质量趋势,也会给出一些推荐的做法。报告内容非常多,每期都是70页左右的英文版文档,去年和今年的报告我都有写文章解读,大家感兴趣的可以参考我博客网站上的文章《数字化时代的软件测试》和《关于质量,大家都在关注什么》获取更多细节。

下面来看今年的这份质量报告给我们带来了什么。

我们知道,软件系统首要的是满足功能需求,所以功能是最为核心的内容,但已经不能止步于此,在功能的外层还有更高的质量目标。大家请看图,在功能需求外还有四个方面,分别是:

  • 安全: 信息化时代安全的重要性不言而喻,不仅指应用程序本身的安全、对用户隐私的保护,也包括软件开发过程的安全性和软件资产的安全管理。
  • 速度:互联网时代瞬息万变,都在追求速度上的质量。同样,速度不仅指应用程序本身的性能,也包括交付的速度,从idea到成品交付到用户手里越快越好,抢占先机!
  • 便利性:应用程序能给用户生活提供多大的便利程度,比如说打开一个外卖软件,可以多短的时间找到需要的餐馆,是用户非常看重的一个质量指标。
  • 体验:第四个是用户使用系统的综合体验好坏,易用性、页面的布局和配色等都会影响到用户是否愿意给应用买单。
最高质量目标:终端用户满意度

这四条围绕功能而高于功能的就是终端用户的满意度,是今年质量报告反应出来的大家的最高质量目标!

质量备受关注,对质量的要求越来越高,软件测试或QA工作的重要性不言而喻,我们大家所做的工作毫无疑问是非常有价值的!

同时,随着质量要求的提高,软件测试也不再是发现缺陷那么简单,对我们测试人员的要求也有很大的变化。

为了走出前面故事中的那些困境,我们需要行动起来。

行动起来

01. 学习

面临的问题

显然,最关键的行动一定是学习!说到学习,我们有必要先来看一下大家学习可能面临的问题:

  • 技术日新月异,太多的东西要学,我该从何学起呢?

的确是这样,信息化时代,学习渠道、学习的内容都是无穷的,要学习先要甄别哪一个是值得学的,无疑给学习提高了门槛,这也使得有部分人无从下手,就干脆不学了…

  • 不知道从哪学起,那么我们就先学一个东西再说,学了总比没学好!

这种做法在过去知识比较匮乏的时代,是可取的,学了一定会比没学要好,说不定哪天就能用的上了。但是,现在处在信息化的时代,有些知识是可以不需要花太多精力去学,可以从互联网简单搜索获得的。毕竟精力是有限的,如果花时间学习了这种本可以轻松得来的知识,是很大的浪费。

  • 目的性不强,学到了零散的知识,也很难真正派上用场,最后这个知识还是会被遗忘。

比如说,现在Python很热,小学生都在学Python编程了,觉得我们要还不会就落伍了。可是呢,学了半天,也没有实际用上,过一段时间发现也记不得多少了…这样进行几次之后,会严重影响学习的积极性,发现学了也没用,好像还不如不学。久而久之,就放弃学习了…

学习这么麻烦,我们该怎么学习呢?

学习的过程

我们先来了解一下学习的过程。学习面对的是海量的知识,我们需要从中挑选自己需要的部分,进行加工和提炼,变成自己掌握的知识。到这是不是就结束了呢?并没有。还有最后非常关键的一步,那就是把学到的知识应用到不同的领域,或者总结分享出来供他人学习和使用。

学习的过程

也就是一个完整的学习过程应该包括三个部分,分别是:知识输入、加工提炼、知识输出。缺失其中任何一步,都不是正确的学习。

讲到这里,我想问今天到场的各位朋友一个问题:平常大家都会读很多书,请问大家怎么定义读完了某本书?

答1:我会根据书上介绍的做Demo在团队演示。

答2:我会总结书里的内容在团队分享。

前面两位朋友回答的都非常棒!我想介绍我的一位朋友的做法,他对读完一本书的定义是必须有输出,输出可能但不限于下列的一项或多项:

  • 写读书笔记分享;
  • 提炼书中观点,结合自己的经验总结成博客文章发出;
  • 运用书中理论到工作实践中,在团队以工作坊或小型演讲方式分享;
  • 或者以演讲的方式到大会上分享给更多人。

就是在这样不断反复学习、总结、分享的经历之后,他成为了某技术领域的专家!

学习的正确姿势

了解了学习过程,我们还需要了解学习的正确姿势,以确保学习是真正有效的。关于学习的正确姿势,我认为有两个比较关键的。

首先,根据前面讲的学习过程,最终是要把学到的知识应用起来的。我们可以先搞清楚要把学到的知识应用到哪里,也就是我们学习的目标,搞清楚这个目标,然后利用目标倒逼输入,再进行学习的正向过程,也就是以终为始的做法。

比如:目前工作的项目上需要某项技术,我们有针对性的去学习这一门技术,这样的效果会比较好,能够达到事半功倍的效果。

又或者,目前工作中暂时用不上,但是自己很感兴趣的技术,可以作为学习目标,深入学习和研究,最终的输出可以是集结成文,或者演讲的方式分享出来。这样,不仅可以让他人获益,更重要的是对知识总结提炼的过程,加深了自己对知识的掌握,最获益的还是自己。

目标驱动、以终为始的学习

这就是我要说的第一个正确姿势:目标驱动,以终为始

这里,我们要搞清楚三个问题,也就是

  • Why – 为什么要学?输出是什么?
  • What – 要学什么内容?输入是什么?
  • How – 如何学?学习的方式,对于不同的内容需要采用不同的学习方式。

第二个学习的正确姿势是持续学习。这一点,其实没有太多可讲的,知识在发生着日新月异的变化,现在是特别需要活到老学到老的时代,不然很容易落伍,跟不上变化的步伐。

可能有朋友会说,我在目前工作中的技能已经完全够用了,我也没有很明确感兴趣的方向,该如何提升自己呢?

接下来,我们来看如何确定学习目标的问题。

学习的方向指导

对于目标不是很明确的朋友,不太知道如何从海量知识选择自己需要学习的内容,可以多关注一些趋势性的内容,以此作为自己学习方向的指导。

比如,前面我们提到的全球质量报告(World Quality Report)就是一份很好的趋势方面的内容。

质量报告里提到大家关注的质量趋势集中在五个方面:AI和测试、敏捷和DevOps、测试自动化、环境和数据,以及质量保障方面的成本投入问题,报告分别列出了这几个方面的现状以及未来几年的发展趋势。

同时,报告还给出了一些推荐的应对策略。我们拿其中的质量工程技能方面的策略来详细介绍一下,包括以下几个方面的技能:

质量工程技能策略建议
  • P0 – 敏捷测试专家,包括必备的自动化技能和领域测试技能。敏捷和DevOps的越来越普及,使得对敏捷测试专家的需求成为最高优先级的。一方面,自动化测试是敏捷的基础,要求敏捷测试人员必备自动化技能;另一方面,敏捷测试提倡测试左移,测试人员需要在需求分析阶段开始介入,对领域知识和业务理解能力有相当的要求。
  • P1 – 测试开发技能,处于P1的优先级,要求必备高级自动化、白盒测试、开发技能和平台构建能力,同时,对于AI方面的基础算法应用处理和自然语言处理技能是个加分项。
  • P2 – 接下来的是专项技能集,包括安全、性能等非功能测试、测试环境和数据的管理技能等。前面提到过安全、性能的迫切需求程度,同时报告也指出测试环境和数据的管理水平低下,导致这些专项技能的培养的优先级还是很高的。
  • P3 – 最后一个是高级QA专家,主要是AI架构技能,要求能够构建执行重复、智能任务的“智能测试资产”。鉴于目前AI技术的运用水平,对于这方面技能的培养可以稍缓,但的确是未来的一个发展方向。

下面再给大家推荐一个非常值得关注的技术趋势类读物,那就是ThoughtWorks的技术雷达。ThoughtWorks TAB(ThoughtWorks技术咨询委员会)根据我们在多个行业中的实践案例,每年为技术者产出两期技术雷达,对百余个技术条目进行分析,阐述它们目前的成熟度,并提供了相应的技术选型建议。

关于技术雷达,也有朋友说上面跟测试相关的条目越来越少,对测试人员的参考价值不大。我们来一起看一下今年上半年发布的第20期技术雷达。

技术雷达V.20与测试人员关系密切的条目

技术雷达是按照技术、平台、工具、语言&框架四个维度,根据每个维度技术条目的成熟度分成暂缓、评估、实验、采纳四个环。乍一看,带测试字眼的条目较少,但这不代表跟测试相关的内容少。我尝试按如图所示的思维导图的方式做了一个总结,摘出测试人员需要关注的几个方面,并列出对应的技术条目。大的方面有DevOps&基础设施、微服务、自动化测试、线上监控与分析、安全、数据分析与机器学习、区块链等,对于每一块我们都可以相应的思考测试人员需要关注的点有哪些,这里就不详细讲了,更多的细节大家可以参考我的博客文章《软件测试人员的挑战与机遇》。

除此之外,还可以多关注一些技术社区、技术大会、技术类公众号,了解别人都在做什么、有什么新的技术等。相信大家也会有不少这方面的关注,欢迎一起来分享。

02. 沟通

学习是提升自身能力的途径,要想职业生涯更加顺畅,还有很关键的一个行动是需要增加跟他人的沟通,不可以独自处于封闭的状态下闷头学习。

首先,项目团队内跟不同的角色的沟通

我们一直在讲团队为质量负责,但是团队不同的角色对质量的理解可能不够透彻、对质量关注的意识也会不太够,作为团队的QA,是需要承担起质量协调者的角色的,需要把自身对质量的理解、当前项目产品的质量状态及时的跟团队反馈,需要跟不同角色有足够的沟通,让团队不同的角色能够更好的一起为质量负责。

当下流行的全流程测试,更是强调测试人员在各个环节的参与,跟不同角色的合作,比如说需求分析阶段需要跟业务分析人员合作,自动化测试需要跟开发人员合作,在生产环境下的QA又需要跟Ops的人员合作等。

在跟不同角色的合作过程中,不仅可以从对方角色那里学习到自身欠缺的技能,以丰富自身能力;同时,也可以让跟你合作的角色从你身上学习到测试考虑的角度,更好的做好质量的每一步。这是一个双赢的过程,1+1>2。另外,合作多了,大家也走得更近,工作更好开展,自然在团队的影响力就会增加,地位感也随之增加了。

团队内跨角色沟通

其次,更大范围的沟通

项目团队的充分沟通,有利于项目工作的顺利开展,但是,团队还是太小,需要扩大到更大范围。比如说,多参与技术社区、技术大会、技术讨论微信群等。相信今天来到现场的朋友们都是体会到这个方面的优势的,都非常积极的参会。

这里,我们要注意一点,如果只是看或者听别人分享的话,参与感是不太够的,效果不会太好。要多发表自己的看法,或者抛出自己的疑问,多跟人沟通,不是单向的吸收。除了一对一沟通,可以参与群体的讨论,或者对一些技术文章、所读书籍发表评论、读后感,还可以通过写文章、演讲的方式分享自己的经验所得。

请记住,有输出才会有收获。这个非常关键!

03. 突破

刚接触测试的从业人员,可能非常关键的一项技能就是要能尽可能的发现bug,于是我们有着很大的一个优势就是比较容易发现很多细节上的问题。这也同样带来一个问题,那就是有的测试人员过度关注细节,导致工作好几年还是容易抠细节,看不到大局。因此,我们的第三个行动是需要跳出来,做到突破,要有破局思维!

突破

首先,要培养系统思考能力。世间万事万物都是有联系的,构成众多大小不一的系统。

小的系统比如目前正在做的产品,当你发现某个功能有bug的时候,它真实的问题可能出在另一个你想象不到的模块,这个时候如果只是停留在你发现问题的模块,可能就浪费很多时间也难以定位问题;或者你发现一个bug,觉得它很严重需要紧急修复,但是当你结合市场情形、业务发布优先级、对终端用户的真实影响、修复所需成本以及开发人员手头其他工作的优先级综合来看,最后可能发现那个bug的优先级低了很多…

这是系统思考的两个简单的例子,由于系统思考不是我今天要讲的重点,在此就不多讲了。大家感兴趣的可以找相关资料,运用前面所介绍的学习方法去获取相关知识。

其次,需要扩大视野。前面讲到的关注技术趋势、参加技术讨论等都是扩大视野的途径。通过吸收这些信息,视野变大了,个人看问题的角度就会变的不一样,也就更容易去发现问题或者提出建设性的解决方案。

最后,遇到问题时,要运用系统思考的能力,跳出单一的小系统,利用曾经吸收到的各类有价值的信息,逐步建立自己的大局观

这几点,我认为都是测试人员非常需要培养的能力,也是帮助我们拓宽职业之路的有力助手。

前面讲到这么多,有些是通用的适合所有人,但是,我们还是需要结合自身特点去选择适合自己发展的方向和提升的方法,要结合自己的兴趣特长、性格特征来选择。如果没有跟自己兴趣特点匹配的也不用太过担心,相信兴趣特点也是可以培养的。我想送大家两句话:

选自己所爱,爱自己所选!

坚持就是胜利!

回顾与总结

今天通过三个我亲身经历的故事,我们看到了测试人员可能面临的问题。同时,给大家分享了我们可以采取的三个行动。最后总结一下,希望大家能够记住下面几个关键词:

  • 以终为始,持续学习
  • 沟通交流,让知识翻倍
  • 勇于突破,系统思考
  • 选自己所爱,爱自己所选

今天分享的这些是我在学习、摸索中的一些总结,我不是什么成功人士,所以这也只是抛砖引玉,希望大家更多的来一起分享和讨论,愿我们各位测试同仁们都有一个好的职业发展的明天!

关于软件质量,大家都在关注什么?

去年,我们在《数字化时代的软件测试》中看到了2017年软件质量方面的趋势和给测试人员的建议。又一年过去了,大家对软件质量保障和测试的关注有哪些变化呢?我们一起来看看这份质量报告《World Quality Report 2018-19》有些什么新的内容。

关键趋势

质量保障和测试的职责已从单纯的缺陷发现转变为客户满意度和业务成果的推动者了,这是个根本性的转变,它所带来的影响可以从今年这份质量报告的多个部分体现出来,而最能体现这个转变的是质量保障和测试的目标,受访者认为目前质量保障和测试策略的最高目标是“确保终端用户的满意度”。不断增长的以客户为中心推动的IT趋势也正在改变质量保障的目标和期望,比如业务数字化和敏捷、DevOps、云服务的采用。

以客户为中心要求我们的IT系统能够在速度、安全和便利性方面增加用户满意度,对应的关键IT趋势有以下几个方面。

1. AI在质量保障和测试中的作用

AI的发展对于质量保障和测试主要有两个方面的影响:一方面,AI会促使企业将测试转变成完全自生成、自执行和自适应的活动,也就是用AI技术来优化测试;另一方面,AI产品的开发需要一种新的特殊方法来验证和校验,就是对AI产品的测试。这两个方面正好是互补的,相互促进的过程。

AI在测试中的运用还处于初始阶段,有组织开始应用智能分析来制定关键决策以优化测试活动和早期的质量预测:

  • 57%的受访者表示有项目引入了IT到质量保障中
  • 45%的受访者在测试中采用AI做智能自动化
  • 36%的受访者正在使用AI做测试的预测分析

对于AI产品的测试还没有具体的、广泛被采用的方法、指南或方案,57%的受访者表示正在试验AI和ML(机器学习)的测试方法。

将AI技术用于IT也存在不小的挑战,55%的受访者表示他们在定位哪些业务可以用到AI技术的时候遇到困难;将AI技术用于测试则可能需要一些新的角色,比如AI质量保障战略家、数据科学家、AI测试专家等。

尽管挑战重重,AI还是有望成为接下来两到三年内最大的趋势,组织需要从以下几个方面考虑AI策略:

  • 要达到一定级别的自动化测试成熟度
  • 要实施分析(Analytics)技术
  • 实现能够自我学习、自我认知的系统并应用于测试中
2. 敏捷和DevOps

速度上的质量”宣言推动着敏捷和DevOps逐渐被采用,有多达99%的受访者称他们至少有一些项目在采用DevOps。但是,有些组织以质量为代价去追求速度,这样是不妥的。也有的组织认为敏捷与瀑布共存的模式比较适合他们的组织、文化和业务的需求。

敏捷和DevOps的转型打乱了原来的质量保障和测试部门,所有人都分散到不同的敏捷团队中,这样使得技术、最佳实践和测试场景的跨项目共享很难,从而有不同团队重复造轮子的事情发生。以角色组成的社区(Community),比如QA社区,很好的解决了这个问题,可以在社区内做到知识共享、能力共建。

3. 自动化

质量保障和测试活动的自动化已经有十多年的历史,测试自动化也从测试执行的自动化发展到了采用基于模型的工具来自动化生成测试用例。自动化的目标也从缩短运行时间转变成了采用更有效的测试用例实现更好的测试覆盖

但是,测试活动的自动化还是处于较低的水平,而且成为了企业成熟测试的头号瓶颈。自动化水平低下的原因有:

  • 61%的受访者表示由于应用程序每次发布都在变化,很难构建出健壮的、适应性强的自动化测试方案
  • 48%的受访者对于准备可预测的、可重复利用的测试数据和测试环境有挑战
  • 46%的企业表示由于技能和经验的缺失导致自动化实现很难

自动化测试应该是朝着智能、认知的方向发展,构建能够自执行、自适应的自动化平台。

4. 环境和数据

近几年,质量保障和测试部门都在朝着敏捷和DevOps转型,测试环境和数据的管理却跟不上,大部分企业在数据管理和创建方面没有成熟的方案:

  • 测试环境方面,31%的受访者主要还依赖物理机器环境
  • 58%的受访者表示他们仍然依赖手工方式创建测试数据
  • 66%的受访者用Excel等电子制表软件来手动生成测试数据
  • 62%的受访者用生产环境数据的副本来执行测试

目前,测试数据和环境成为企业成熟测试的二号瓶颈。当然,我们也看到了这方面正在得以改进的新技术趋势:

  • 不断增加的容器化测试环境的采用
  • API经济的增长
  • 零接触(Zero-touch)测试机器人的使用
  • 开放数据项目(Open data projects)的发展
  • 更好的数据采样智能方案的发展
5. 成本

在测试活动的成本和效能方面,我们看到两个有分歧的趋势:

  • 大量的自动化测试和测试外包的方式,使得基于瀑布式的核心IT和遗留系统的成本下降;
  • 数字化转型、迁移到云、敏捷和DevOps的采纳、质量保障和测试中自动化和分析技术的运用,使得在新的基础设施、工具、组织改组、工作流程重组方面的花销达到高峰

质量保障和测试的花费在2015和2016年分别占整个IT成本的35%和31%,在2017和2018年下降到了26%,并趋于稳定。但是,随着测试环境的虚拟化、测试数据的管理、测试自动化和测试生命周期分析技术使用方面的投资,在将来的两到三年内成本可能会升高到30%,并达到一个新的增长稳定的阶段。

推荐的应对策略

1. 以智能的、分阶段的方式提升基础测试自动化和智能测试自动化水平

自动化测试是质量保障和测试变革的瓶颈,因为:

  • 自动化的核心角色是敏捷和DevOps转型的推动者,随着敏捷和DevOps被越来越多的采用,自动化对交付“速度上的质量”的重要性也在上升;
  • 它也是AI、ML、分析等新技术的结果,这些技术在自动化可以带来的好处方面都具有很大的潜力;
  • 调查结果显示基础自动化水平还很低,还有很大的发展空间。

因此,自动化(尤其是智能自动化)将会在接下来两到三年给质量保障和测试带来重大的变化,组织需要有自己的策略和路线图去应对,报告推荐了一个三步走的方案:

  1. 优化测试
  2. 实施基础的自动化测试
  3. 采用智能的、自适应的测试自动化方案让自动化变得更加“智能”
2. 以非孤立的方式实施测试数据和测试环境的管理

53%的受访者表示在敏捷测试的数据和环境准备方面面临挑战。数据和环境的延迟使得云服务、敏捷和DevOps的采用所带来的效率不明显,这是一个需要特别引起重视的领域,建议采用集中的方式来管理。企业要开始生命周期的自动化,把测试自动化和数据、环境的准备工作一起开展,不要分离开来。另外,要采用更加智能的方式来管理测试环境和数据。

一定程度的集中化能够更有效的利用、共享各种知识、实践和经验,更好的风险管理,加速发布频率,缩减基础设施的开支,提高团队的生产力。

3. 构建超出测试开发(SDET)之外的质量工程技能

敏捷、DevOps、云、IoT、区块链和AI这些新趋势的发展,以及更加自动的、集成的质量保障方法的需求,企业需要关注新的质量技能。

推荐以下方式做好质量保障能力建设:

  1. 第一优先级是吸引敏捷测试专家,需要具备功能自动化技能和领域测试技能,自动化测试将是每个质量保障人员的必备技能;
  2. 第二优先级是吸引SDET,他们的必备技能要求有高级自动化测试、白盒测试、开发和平台构建能力,同时最好还有AI应用的基础算法应用能力和自然语言处理技能;
  3. 第三优先级是吸引拥有一些特定QA技能集的人员,比如安全等非功能测试、测试环境和数据的管理技能等;
  4. 第四优先级是吸引高级QA专家,需要有AI架构技能,以构建能够执行重复、智能任务的“智能资产”,这些技能由深度机器学习概念和算法组成,比如决策树、分类器、神经网络、高级统计学和数据优化技能。

当然,目前市场上还相对比较缺乏上面所列举的资源,建议组织要重点关注通过实习、专长培训、强制性的学习和发展计划来构建这些技能集。

4. 加强跟踪以优化各项花费

敏捷和DevOps模式下测试活动被多个不同角色承担,很难精确跟踪、掌握和优化质量保障相关花费。另外,对于云、虚拟化和容器化环境的投资回报也需要跟踪掌握。

因此,建议企业采用严格的、细粒度的跟踪机制来看各项预算分配到了哪里、各项开支都花在了什么地方。

5. 给AI解决方案开发一套测试方法

很多的企业开始开发AI产品,但是相应的质量保障方案并不成熟,有必要抓紧开发AI产品的质量保障策略和测试方案。组织应该意识到不正确的或者有缺陷的AI解决方案带来的业务和社会影响可能是巨大的。AI产品开发过程中校验和验证,以及自动化的持续监控都应该是AI质量保障策略的内容。

总结

通过前面的分析和总结,我们看到这次质量报告体现出的关键点主要有:

  1. 终端用户的满意度第一次成为质量保障和测试策略的最高目标,要求在关注速度的同时绝对不能忽视质量,要以客户为中心,在安全、便利性和速度方面关注用户的满意度。
  2. 低水平的自动化测试,以及测试环境和数据准备的挑战,影响了质量保障和测试效率的提升。要求组织加强自动化能力的提升、测试环境和数据的管理,让自动化朝着更加智能的方向发展。
  3. 质量保障和测试人员的必备技能发生了改变,需要有超出SDET的更加全面的QA技能集。

:以上大部分内容和图片均摘自这份《World Quality Report 2018-19》,更多详细内容请参考原报告。