前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >敏捷软件测试(下)

敏捷软件测试(下)

原创
作者头像
用户6884826
修改2021-07-08 14:39:09
4790
修改2021-07-08 14:39:09
举报

缩短价值交付周期 开发团队通过提供最小化可用产品获取用户反馈,并在这个最小化可行产品上持续快速迭代,直到一个相对稳定的阶段产品。在此过程中,敏捷测试人员快速验证团队的目标,快速试错。

file
file

降低软件质量风险 敏捷测试要求测试人员尽早进入测试,与开发人员形成统一战线,尽早发现系统缺陷及其它问题,避免大量问题在项目后期才发现,形成质量风险不可控的结果。

启用日构建,通过BVT进行持续测试,让每天的迭代代码都能得到验证。

file
file

提高团队质量意识 敏捷测试人员以专业的能力,引导项目全体成员开展测试,编写自动化测试用例,关注自动化测试执行结果,以稳定的每次编译及测试均未发现缺陷为目标。

file
file

节省项目研发成本 敏捷开发偏向项目型的组织架构,测试人员与产品经理、程序经理、需求人员、开发人员等构成一个团队,采用扁平化的方式进行管理,构建一种和谐的工作氛围,共同为交付价值而努力。

file
file

加速个人能力提升 在一个敏捷迭代周期里,一般团队规模7~8人,敏捷测试人员至少2~3人,测试工作不在是一个萝卜一个坑,每个人承担的事情种类较多,要求的知识面更广泛,个人技术栈会越来越丰满,独挡一面的能力更强。

file
file

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

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

组织文化的改变

file
file

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

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

建立敏捷型测试组织

file
file

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

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

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

获得领导支持

file
file

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

领导制订一些KPI考核指标,制定一些奖励办法,提高大家工作的积极性。

尽早进入测试

file
file

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

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

建立有效沟通方式

file
file

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

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

引入CI、CD和CT

file
file

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

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

持续集成

file
file

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

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

file
file

自动化部署

file
file

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

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

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

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

file
file

自动化测试

file
file

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

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

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

在普元产品的敏捷测试中,我们主要是基于普元统一测试平台UTP完成自动化测试,它不仅支持微服务接口的自动化测试、Web UI的功能测试、移动App的兼容性测试等。

提升敏捷测试能力

file
file

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

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

五.总结

敏捷软件测试不是独立存在的,它依赖敏捷的软件开发过程,强调的是敏捷项目团队的整体对质量的负责,测试团队不再是质量职责的全部。但敏捷测试团队需要以专业的知识驱动团队的质量意识,通过团队之间的紧密合作,实现敏捷研发的过程,快速推进业务价值的交付。

问1:单元测试是应该由测试人员写,还是开发人员写?测试人员需要写代码吗? 答:如果测试资源配备充足,具备白盒测试的能力,可以由测试人员配合开发写单元测试,否则就由开发自己完成。测试人员最好有代码能力,但是否写代码实现自动化测试,取决于自动化测试的方式及工具。

问2:我们公司的测试人员只会鼠标点点点,是正常状态吗?自动化测试做不起来, 因为需求老是变怎么办? 答:每个公司都需要有手工测试人员,但当需要做敏捷开发,要快速发版的时候,执行自动化测试是一种比较好的实践。基于需求的频繁变化,实施自动化测试的策略需要重点考虑,稳定的功能优先做自动化,开展接口的自动测试的业务价值更高。

问3:一般用哪些自动化测试的工具? 答:行业内自动化测试工具比较多,开源的有类似Selenium、Appium、TestNG等,商业的如普元的UTP,支持UI、接口、移动App等功能的自动化测试。

问4:移动自动化测试一般是什么方式?开发人员有必要在开发Android/iOS过程中编写单元测试用例吗? 答:移动的自动化测试包括前端和后台的,前端的单元测试一般移动开发平台会提供,如普元的移动开发平台,具有调试客户端,无论是Android还是iOS,所见即所得,开发的功能即时更新,即可查看效果。后台的测试即使针对接口的测试,使用一般的开源工具也可以做到,普元也有类似的自动化测试平台,如UTP。

问5:请问测试人员、开发人员配比如何配?一般的软件公司、较大的公司、普元又是如何配置? 答:测试人员、开发人员配比取决了公司对软件质量的重视程度,一般来说,测试也是无穷尽的,也是需要考虑投入产出比。有关配比也没有统一的标准,国内开发与测试一般在5:1~3:1左右,普元对软件测试还是比较重视,从2006年就开始实施自动化,人员配比超过国内行业平均水平。

问6:请问测试人员怎么才能提高技术,该如何入手? 答:提高技术的方式挺多,途径包括参加培训、自学(包括线上文章、视频等),工作时可以多请教高人,参与一些群(包括QQ、微信),对于之前没有技术背景的同学,最重要的是制定一个计划,主要还是要围绕自己的工作展开,因为身边的资源也比较多,好多都是自己的导师,坚持下去,你就能成为测试专家,祝你成功。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 四.敏捷软件测试的经验分享
  • 五.总结
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档