专栏名称: 前海征信中心
深圳前海征信中心是独立的第三方商业征信机构。我们致力于为消费者普及信用知识、培养信用意识,也帮助广大中小金融机构提升风险管理和信用评估专业能力。
目录
相关文章推荐
上海BANG  ·  城市活动指南|上海近期超BANG的活动资讯 ·  6 天前  
上海BANG  ·  城市活动指南|上海近期超BANG的活动资讯 ·  6 天前  
KLOOK客路旅行  ·  韩国 | ... ·  1 周前  
地道风物  ·  山东人种水果,真的很让人服气 ·  1 周前  
51好读  ›  专栏  ›  前海征信中心

零道书院|敏捷当道,测试人员如何应对?

前海征信中心  · 公众号  ·  · 2017-05-11 18:48

正文




上周我们探讨了敏捷开发模式的质量管理模型,敏捷开发其最大特点就是高度迭代,有周期性。在敏捷开发模式下,作为一名测试人员,如何去理解敏捷模式呢?又如何从传统开发模式迁移到敏捷模式呢?面对敏捷模式下快节奏的迭代,测试人员也要不断学习,不断思考,如何能更好的把控产品质量,踩准项目节奏?




什么是敏捷测试



敏捷测试不是具体的测试方法,不是黑盒、白盒、自动化测试,而是在测试人员具有一定测试技能的基础上,并对项目特点和业务背景有深入的了解后,得出来的一整套项目测试解决方案,由此形成一个特定的测试流程。


正如一百个观众眼中有一百个哈姆雷特,一百个人看敏捷测试就会有一百种看法。根据项目的不同,敏捷测试的方法也不尽相同。



敏捷测试要做什么



在一个敏捷项目的sprint中,测试人员的工作内容主要分五个部分:需求评审、user story 分析、测试用例设计、新功能测试执行、回归测试。


需求评审


敏捷项目每次迭代的新功能中,如何提高测试效率呢?


测试人员在敏捷测试中应该更积极主动的参与到PRD评审中去。与传统的开发模式不同,敏捷开发由于迭代周期短,产品PRD可能写的并不是很详尽,测试人员需要在PRD评审会前先浏览PRD,理解需求,将有疑问的需求及时记录下来,在PRD评审会上提出。对于认为不合理的需求也要和产品进行沟通。


敏捷的一个重要特点就是变化,作为测试人员也要积极拥抱变化。在项目中遇到需求变化,需要以积极的心态去面对,及时评估影响,提出潜在风险。测试人员对于需求变化需要做好记录,同时对测试工作进行相应的调整。


user story 分析


敏捷测试是不断确认用户需求得以圆满实现,因此,对于需求的分析和理解要一直持续下去,发现有偏差及时与产品讨论。


对于story的分析,如果发现story有遗漏或者和PRD中不同时,也要及时提出。


Story的拆分要遵循独立性、可协商、有价值、可评估、短小和可测试的原则,测试人员在story分析过程中用这个原则来检查story颗粒度,如有疑问,应及时提出。


我们约定测试人员需要给每个story添加提测的冒烟测试用例,冒烟测试用例通过才能达到提测标准,以此来提高提测质量。


测试用例设计


与传统的项目模式不同,快速迭代及变化的项目模式,留给测试人员的测试用例开发时间不多了。


敏捷测试中,根据迭代具体情况的不同,测试用例的设计可以不拘泥于形式。在保证各个功能点被覆盖的前提下,测试用例可以通过思维导图、测试要点描述等方式实现。


对于功能简单的story,可以在验证功能的基础上进行探索性测试;对于流程逻辑复杂的story可以先梳理出流程图,根据整理出的流程路径设计测试案例。


新功能测试执行


敏捷方法中,往往将一个大的系统开发分解成多个小的模块,这样集成测试和端到端测试就会显得更为重要。


在完成本次迭代模块功能点全覆盖测试后,需要加强对系统的流程性测试及场景测试,尽可能把精力集中到模拟用户的真实操作上来,实施更多的探索性测试、组合交互性测试和用户场景测试,更有效地发现埋藏较深的缺陷。


测试执行阶段,不只是测试用例的执行还有测试反馈,测试人员可以通过每日的站立会了解开发进度,汇报沟通测试进度和bug情况。遇到bug不收敛或者重复打开的情况,需要及时提出,以督促开发查找原因。考虑到整体的质量,需要对开发在单元测试上提出一定要求,以保证功能的可测试性。


回归测试


回归测试是敏捷测试中需要面对的难点。


经过十几次、甚至几十次的功能迭代,产品功能可能已经非常多,版本的整体回归也会变的非常大,而回归测试的时间非常有限,所以回归测试很大程度上依赖于自动化测试。


以计费项目为例,计费项目的最主要功能是计费,在计费账单正确的基础上实现运营、财务的功能。对于计费项目来说,正确快速的生成账单是基础。对于这样的模块,理所应当的考虑自动化实现,此功能测试的难点在于前期数据的铺设。不过好在铺设的数据可以重复使用,这就为自动化实现此模块的功能提供了极大的便利。在实际应用中,目前我们实现了95%的产品的计费覆盖,并备份了数据,新产品也会在功能测试完成后立即补充,大大减少了测试成本。


如果在全量回归测试不能实现的情况下,如何确认回归范围呢?


测试人员可以从以下几个方面考虑:


通过code Diff了解代码变更的内容,关联分析修改代码涉及的功能模块,调用情况等确定回归范围;

评估本次迭代的功能,对其他无关联功能只做主流程回归以减少回归测试的工作量,节省时间。



如何走得更远




如何在敏捷测试中做得更好、走的更远呢?我们可以在实现测试自动化的基础上进行持续集成。


代码集成通过自动化构建,在构建过程中要尽快检测集成错误,避免开发代码集成的冲突;在正确构建完成后,自动运行回归测试自动化脚本,以确保新功能的代码提交没有影响到原有的功能实现,极大程度上提高新代码的可测性。另外可引入测试覆盖率的统计,从类覆盖率,行覆盖率等方面统计测试覆盖程度,补充和完善测试用例,确保测试执行的广度和深度。

 

每个迭代对于需求,进度,成本的目标和策略是不同的,敏捷测试人员应该根据各迭代版本的情况合理安排测试计划,确定测试范围,编写合适颗粒度的测试用例,评估测试范围,并把沟通反馈时刻灌输在整个项目迭代之中,在每个版本后持续改进测试方法,保证每个迭代的质量。




长按左侧二维码关注



 关于“零道书院” 

我们是来自于中国平安集团旗下前海征信的fintech先锋团队。定期分享互联网金融的前沿技术,探讨热点专题。有料!有态度!欢迎关注。





(部分图片来源于网络)


信用·让你我更好互联



看你靠不靠谱,点阅读原测分