回到网易8个月来的测试团队转型实践

发表于:2017-7-19 11:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李乐    来源:InfoQ

  自研的API管理和测试平台
  过去后端的API规范是通过word文档进行管理,版本变更是需要手动通知相应人员,而且每个人编写的格式不统一,容易造成冲突,解决上有时间开销,另外修改跟踪反馈上的成本很高,开源项目中也没有能够适合交友团队模式的工具,因此投入开发API管理和测试平台。
  考虑到客户端与后端交互是通过API进行,将API平台化管理带来效益:
  1.使用平台化管理清晰呈现MobileAPI接口分布图,有效减轻了后端同学管理接口规范的工作;
  2.方便客户端同学快速查阅和版本对比;
  3.API修改历史记录对比,修改后第一时间系统自动通知相关人员;
  4.在接口定义完之后,可直接生成API Mock,节约手工写mock接口的时间,客户端同学可以直接开始开发工作,与后端开发并行;
  功能点包括以下三个方面:
  API 统一规范
  支持在线管理接口规范文档:接口规范管理功能有很多特性,包括自动生成change log,自动生成技术审查的规范文档,review通知,接口版本管理,支持任意历史版本的对比,方便追踪每个版本的变化。
  后端同学只需要专注于接口定义,大大节约了文档维护的时间,更早投入开发工作。
  图-API规范示例
  
图-历史版本diff对比
  API 模拟调试
  平台支持从接口规范文档直接生成API Mock,在后端接口开发完成之前,前端、客户端的同学利用Mock Server摆脱后端接口的依赖,直接开始开发工作,与后端开发并行。
  
图-API模拟调试节省时间
  API 自动化测试
  平台支持从接口规范文档直接生成API测试用例,测试人员集中参与关键场景编写,执行用例之后自动生成测试报告咯,测试同学可以在后端开发的同时,写好测试用例,在开发完成后做冒烟测试,以及回归测试,提升测试效率。
  图-API自动化用例流程
  
图-API自动化测试报告
  持续集成与静态代码分析
  过去代码构建在开发人员本地进行,每次提交在解决冲突上时间开销大,每个环节发现的问题滞后,无法自动化集成、按需构建,以及代码的质量没有数据参考。
  团队需要引入有效的自动化构建平台,以及静态代码分析平台,用以指导日常开发过程的质量改进,将代码问题的反馈机制自动化,构建数据可视化。
  持续集成
  为了让产品可以快速迭代,同时还能保持高质量。技术团队对各产品的各端都建立了持续构建平台:在代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。保证持续地发现、反馈和解决问题。
  图-美聊持续集成
  静态代码分析
  为了保证代码质量,从代码层级降低线上出错的可能性,技术团队引入了静态代码分析技术:在不执行计算机程序的条件下,对源代码进行分析,找出代码的设计缺陷,例如代码规范、内存泄露,以及体现总体质量:代码覆盖度、技术债务的趋势图,通知技术改进,拦截在上线之前,这些数据都成为QA统计的数据来源。
  图-Sonar静态代码分析qa仪表盘(Java、iOS、Android)
  客户端手工覆盖度数据收集工具
  过去执行完测试用例之后,无法考量哪些代码覆盖了,哪些没有覆盖,测试用例写的好不好,为了解决这些困境,在客户端Android、iOS植入手工测试覆盖度工具,收集代码覆盖度展示,目的是找出测试过程中未被覆盖的代码,指导测试人员调整测试策略,开展探索式测试。
  图-客户户端UI手工测试报告
  下图是执行美聊2.8版本iOS相关用例后的统计结果,可以根据结果调整测试策略,例如:如果改动了登录模块,目前用例覆盖度比较低,那是需要加强特殊场景测试,还是其他方面呢?这个需要团队review下做出决定。
  图-美聊2.8-iOS手工覆盖率

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号