优品软件培育计划【第八期】—— 敏捷测试 回归本质(下)
2021/02/03
优品软件培育计划百场前沿技术系列讲座直播的第八场邀请到的是Micro Focus资深技术专家陈学锋,他从业18年,在开发,测试,项目管理和运维领域都有丰富的理论和实践经验。对DevOps和Agile有深刻的认识,积极推广自动化领域的技术和测试的AI技术,如:测试自动化,测试AI和RPA机器人等。
现将整场讲座的内容整理出来,供大家继续学习使用。另外讲座现场还有一些问题未来得及解答,已经整理出文字解答附于文末,请需要的朋友拉至底部自取。
敏捷的本质就是一个团队、两个工具、三个角色、四个仪式
开发人员,他们也需要改变思维,从把代码提交了就行了,到我如何帮忙创建可测试的代码。
大家都有deadline的压力,在压力之下,大家都会去借时间,找捷径,这样就会省略很多的事情,这样有一个概念叫做技术贷款。
敏捷团队开发测试配比,就算是12:1,也能做。
如果有条件,我们还是一定要把性能的指标构建到前期的发布要求中。
以下是讲座全文(下):
敏捷回归本质的四大点,我们一起探讨过了,在这里,大家可能会有一些疑惑,在这里先来跟大家探讨一下这3个问题:
很多情况下,大家会问这个问题。每个人都对质量负责,这里强调的是一个主人翁的精神,每个人都应该去自律,我为质量奉献了什么?我能帮助做什么,具体要到事情上去,而不是泛泛而谈。具体到具体的事情层面,任务层面。希望大家能有主人翁的精神,自发地从前面讲到的我要改变思维的方式去做这件事情,这样就不会人人都负责就没有人负责。
前面我们说过开发人员做测试也特别好,他们既能编代码、技术又强,学得也更快。但其实应该是这样的概念,每个人都是测试人员那是很好的,可是测试类型有那么多,工具有那么多,测试人员给大家带来的其实是测试的各种理念、各种测试的模式、各种测试的细节、这又回到了原来的测试的深度和广度。这个绝对是开发人员不能覆盖的。术业有专攻,开发人员还是会回到他的编码工作和比较贴近他们的组件、单元测试这一块,他们会通过测试人员的协助,去更好地提高。如果没有测试人员的协助,由于缺少大局观,很多人会忽略很多的风险。这个问题的答案不是唯一的,我遇见的有1:1的、3:1的,也有极端的12:1的。就是整个开发团队12个开发人员只有1个测试人员,也有这种情况。在这个case里面,他是最佳配比吗?其实在某种程度上它是,为什么这么说呢,我们就以12:1这个case来说,这一个测试人员他肯定是一个测试顾问,具体的测试工作肯定是开发人员去做,测试顾问要做的是,我告诉开发,哪些测试是现在缺失的,做性能测试怎么样去看测试结果,怎么样去分析,做功能测试怎么样去做,怎么样去看结果,怎么样去分析?由这个顾问去做指导,提升测试效率,把很多测试的工作去分配给开发人员去做。
所以在我们团队成长的过程中,我们也会发现,现在这个团队很困难 ,做不下去了,或者说资源真的很紧张,这个时候希望大家稍微停下来想一想,先发现问题,团队里面哪个问题最多?就像前面的例子,我就是12:1,那我也能做。以上这3个问题是在敏捷测试里面问的比较多的问题。接下来我们一起看一下,敏捷测试如果真的开始干了,需要做哪些事情,下面我们就通过敏捷测试象限这张图去探讨一下:第一象限里面是技术-开发,第二象限是开发-业务,第三象限是业务-产品,第四象限是非功能性的关注。这里我们可以具体细化一下,第一象限要做哪些事情,要做单元测试、组件测试。第一象限聚焦的是代码,我要创建能被测试的代码,可以支持重构、快速反馈,增加自己和团队的信心,形成回归测试的基础。第二象限的关注点其实就是站在开发的角度去看业务,所以叫做开发-业务。我们这里有很多的demo或者说叫范例可以去展示,确保我们是在做对的事情。
第三象限其实是可以快速反馈给第一第二象限的,它要去模拟产品的使用,评估产品或者说叫边测试边学习,确保我们做对的事情,然后一直是做对的事情,往下去扩展,慢慢地去形成产品。
第四象限就是关注非功能性的测试,那很可能就是功能测试、性能测试等,这些测试有个特点,就是需要专业知识来测试,更多地去协作。质量真正的体现或者说质量过硬的产品的促成其实是在第四象限里面。第一象限是基础,第四象限是质量真正的一个体现。
接下来我们就回到,怎么提升敏捷测试的效果。敏捷测试展开来讲,有可能会超过我上面讲的四个象限的内容,但是基本上已经很全了,这里面最容易取得成效的就是自动化测试了,所以今天把功能自动化和性能自动化给大家也展开讲一下。
功能测试的自动化其实是满足交付的基础,我们可以做界面测试、API测试、单元测试,我们往右图来走,我们可以做单元自动化测试,也叫测试左移,在敏捷测试中,它是属于Task level的一个测试,这个是基础。这一块在中国现在做的不够好,大家的重视度其实没有那么高,或者说还不够高。第二个叫API自动化测试,或者叫功能的连接,其实是可以属于Story这个level的。还有UI自动化测试其实是属于Feature level的。上面还有一个层次,叫探索型测试跟手工测试,这个领域其实也是非常重要的,也是有很多工具可以协助我们去做一些手工探索型的测试。另外就是性能的测试,它是满足应用程序成功交付的保障。所以成功的企业加速数字化转型以赢得市场都有一个共同的特点,把客户的体验放在第一位。提高客户的满意度与提高业务成果之间有没有直接的关系呢?客户是不可预知的,他们的忠诚度是很容易就转移的,所以如果应用有性能问题,那将很容易流失客户,对企业的品牌伤害也是不可逆的。另外一个层面是说,软件和应用程序变得越来越复杂,上线的时间又紧张,测试的资源又少,性能测试往往被看做是“最后一公里”,这也是为什么我们在第四象限要把性能测试先拎出来先讲。如果把性能测试放最后去做,那往往会导致应用程序的设计有性能的缺陷,后面再改的话,成本肯定会成倍的增加,后面再做版本发布,产生的问题就会更多。
所以说,我们就引出“采用性能工程”这个理念。我们前面也提到了,第四象限也是最容易被人忽略,回到我们前面说的“倾听”的一个概念,客户以为我们不会忽略这方面,他认为我们做的这个应用肯定会在性能上做把关,所以还是强调在开发之前,如果有条件,我们还是一定要把性能的指标构建到前期的发布要求中,让开发一开始就确认性能的上限,那我们在最后一公里的时候去做一个快速的回归的性能测试。为了符合性能测试敏捷测试的要求,团队需要一种超越了传统的性能测试,能够识别高负载的客户行为,能确认跟识别性能问题的根源,让有限的资源能够虚拟出更多的环境和用户。
自动化的话,肯定是需要测试工具的,性能测试中市场占有率最高的性能测试工具就是LoadRunner了,今天也很简单地给大家介绍一下这个工具,它支持测试左移、支持共享和管理脚本、支持虚拟环境、支持自动化测试、端到端的一个监控、动态的缩放、支持迁移到云、支持持续测试,协议覆盖也非常广。
另外它支持24小时全天候的测试,全球的测试团队的支持,允许项目经理、开发人员和性能工程师很方便地去查看测试数据、进度和运行信息,支持敏捷本身要求的协作。
另外工具本身支持业界最广泛的协议,支持虚拟用户的资源共享,支持十多种CI/CD工具的集成,可以完美地自动化,提高性能测试的效率。有强大的网络虚拟的技术,可以很快地虚拟出2G、3G、4G、百兆、千兆、万兆或者说网络有质量问题、抖动问题这些都会非常贴近真实环境的网络。另外还支持智能的根源快速寻找。最后在一起总结一下,希望大家听完讲座,回到工作中去尝试一下、注意一下团队比较薄弱的一些环节。我们可以先去找团队谈谈敏捷的本质,探讨一下改变的思路或者提升的技能,在敏捷象限里选择合适的测试类型,什么时候更适合做什么样的测试,比如我们可以先挑自动化功能测试去尝试,或者自动化性能测试,或者说自动化单元测试也可以。要比较早的把质量的承诺放在心上,从初始的阶段就去关心质量。时刻有大局观,像前面讲到的,技术人员有局限性,测试人员如何去帮助他,测试人员也有局限性,开发人员也需要去协同。通过这几个环节去推进敏捷测试的落地。

答:这个问题在现场已经解答过了,在这里再补充一点:技术贷款没法避免,因为赶工期是不可避免,只是贷多贷少的问题。消除的办法是:贷款后记得还,还的概念是,需要提升技能或者增加资源,提高敏捷的层次。

答:1)没有文档:不管什么模式下都需要文档,敏捷测试也是需要有文档的,没有文档也可以归入技术贷款类,迟早要还的。要协作沟通质量的承诺,需要什么水准的质量,投入多少资源是相对需要匹配的。2)没有界面:这种情况更需要做好单元和组件的测试自动化。如果有工具,积极使用起来,如果没工具需要依靠开发和测试联合解决,另外尝试部分模拟的来减少实体的依赖。3)时间少:回归测试的自动化程度需要提高。考虑和开发合作,多考虑做测试左移

答:1)冒烟我偏向于抓快:快速过,快速改,不影响后续测试进行,目标是更多的测试可以开展了。2)回归测试:能重复做的测试,在新的版本中验证原来的测试内容。3)系统测试:模拟产品使用,评估产品.整个系统的测试,涉及软硬件和人。

答:最佳配比,不存在唯一答案。1:1 成果可以很好;1:3也可以成果很好;1:12也成果很好,可以回看下讲座的里说的理念。 严格区分测试和开发就不能做好敏捷。

答:课上讲了一个极端的例子是1:12,这时候,测试人员基本是顾问角色. 所以3:100是更极端。这也是可以采用测试顾问的方式。可以对比一下测试象限,总结下你们目前做哪些测试?建议去发现质量瓶颈,发现哪些是必要的测试,现在又缺失,评估出缺失的资源在哪里。敏捷是开发和测试都考虑,开发人员极端的多,那就多考虑测试左移,这样也能减少后面象限的测试压力。 这期直播结束后,就已经临近春节啦,接下来我们计划组织多位在行业中工作十几年的技术专家,为大家梳理和汇总这一年来值得学习收藏的知识干货,送给大家。来年的直播排期也在紧锣密鼓的准备中,敬请关注“道普云测”微信公众号,以便随时关注消息动态。
直播活动已经开展了八期,为了更好地为大家带来价值,我们发起了一个调查问卷(耗时1min左右),您有任何需求和建议都可以反馈给我们,我们去做优化和调整。拉直文末,点击“阅读原文”即可进入问卷。