《架构世界》2020移动开发刊:建设移动统一消息管理中心
上QQ阅读APP看书,第一时间看更新

3.敏捷软件测试的经验分享

经过普元多年敏捷测试的项目实施,要支持产品的快速迭代,达到敏捷测试的预期效果,我们重点在以下几个方面开展了工作。

组织文化的改变

公司研发采用扁平化的管理模式,在敏捷的组织文化中,相比于流程,敏捷更关注人,所以敏捷测试组织是应该是以人为导向、自组织、协作式的一种文化氛围。

作为领导,工作中与大家一起共同进退,组织团队建设,发展团队成员间的友好关系。

建立敏捷型测试组织

从项目特点来看,敏捷是属于“强项目型”管理的方式,但敏捷人员可以来自于静态职能组织或将测试人员整合到敏捷项目中。

无论人员来自哪里,在敏捷团队中,测试和开发同属一个项目,大家的目标是一致的,敏捷测试人员可以在质量思想方面影响团队的其他成员。如测试人员可能会帮开发人员评审代码,开发人员也会帮测试人员执行测试,人员角色的职能可以模糊化。

敏捷测试团队还需要把客户纳入到组织中,学会一起工作并建立彼此间的信任,一起做好软件的质量保证。

获得领导支持

任何一个大的改变要想实施成功,都离不开领导层的大力支持。敏捷测试也强调领导的作用,从领导层的角度需要提供一个宽松的环境,让整个敏捷测试团队能够形成自组织的模式。当遇到问题时不是进行追责,而是给予足够的信任和支持,协调资源帮助团队解决问题,陪伴团队成长。

领导可以制订一些KPI考核指标,也需要实施一些激励措施,提高大家工作的积极性。

尽早进入测试

测试人员需要了解敏捷,掌握敏捷的基本知识和原则,从而才能在整个敏捷体系中更快的融入到敏捷环境中,从而更好的开展整个测试工作。

测试工作不再是软件功能实现后再进行,而是测试工作前移,功能实现前就已经对测试做好规划,做好测试用例的设计及准备,等待条件具备再做测试执行。

建立有效沟通方式

敏捷测试人员需要与需求人员、开发人员保持沟通,建立一种相互合作的氛围。传统测试不同角色之间的接口可能主要是文档,在敏捷测试过程中,我们在弱化文档,不为文档而文档,主要还是以沟通为主,做为敏捷测试人员我们需要去变被动为主动,积极去做些改变。

为了取得更好的沟通效果,敏捷测试过程中的沟通方式可以不拘一格,实行正式的沟通和非正式的沟通,正式沟通的形式可以是邮件或会议,非正式的沟通工具可以是面对面、电话、Wiki、微信等。

引入CICDCT

敏捷测试要取得好的效果,CICDCT3是必不可少,缺少任何一项,整个流程就会不顺畅,效果也就大打折扣。

但要做好这CICDCT,除了需要合适的工具提供支撑,还需要项目整体团队紧密协作。测试人员自身还需要具备一定的技术能力,在过程中提供驱动力,推动整个过程有序进行。

持续集成

敏捷研发过程中,测试的版本更换比较频繁,要求代码集成要快,构建一次一般需要控制在15分钟,由于构建的项目较多,我们通常采取分布式并行执行。

编译构建产物存放介质仓库,支持通过Web方式下载,供项目组成员取用。在我们的敏捷研发过程中,主要基于普元DevOps平台实现持续构建。

自动化部署

配置与介质分离,按不同环境进行组合,使用普元DevOps平台标准化的部署流程,快速部署程序包并启动,定时进行健康检查。

使用DevOps进行测试环境的部署,可以解决一些关键问题,如部署目录的规范化、部署行为的规范化、部署过程的透明化、对部署结果进行初步检查以及支持部署异常的快速回滚。

通过DevOps平台的支持,可以避免无关人员获得敏感配置值,避免无关人员操作无关进程,通过页面交互方式,可以方便快捷搭建好所需环境,也大大减少了手动部署带来的压力。

在我们的敏捷过程中,主要是基于普元的DevOps平台实现发布部署。

自动化测试

自动化测试是敏捷测试非常重要的组成部分。

在敏捷开发这种极短的交付周期内,仅仅靠手工测试,是难以满足快速发布要求的。所以自动化测试是必不可少的一种手段。

另外这里谈到的自动化测试不仅仅是指功能的自动化测试,还包括单元测试、静态质量扫描、性能测试、安全扫描等,也涉及自动化测试如何集成在整个交付管道中,缩减整个交付时间,最终给项目带来价值。

在我们的敏捷测试中,使用了普元统一测试平台UTP完成自动化测试,它支持微服务接口的自动化测试、Web UI的功能测试、移动App的兼容性测试等,是我们测试人员的好帮手。

提升敏捷测试能力

回到测试的本质,作为敏捷测试人员需要做好敏捷测试的知识储备,无论是测试基础知识还是测试的技术技能,个人都需要考虑提升,组织上需要为个人提升打开空间,组织相关的培训,与行业先进测试理念接轨。

团队内部要经常进行团队分享,需要传道。对于敏捷测试的新思维,如果没有进行相关培训和了解,会让具体执行人觉得没有底气。同样,敏捷项目中测试人员在进行测试前也需要接受敏捷知识的培训。如果可能的话,最好是邀请具有丰富经验的敏捷测试教练进行指导,避免走错方向。