持续集成与静态代码分析
过去代码构建在开发人员本地进行,每次提交在解决冲突上时间开销大,每个环节发现的问题滞后,无法自动化集成、按需构建,以及代码的质量没有数据参考。
团队需要引入有效的自动化构建平台,以及静态代码分析平台,用以指导日常开发过程的质量改进,将代码问题的反馈机制自动化,构建数据可视化。
持续集成
为了让产品可以快速迭代,同时还能保持高质量。技术团队对各产品的各端都建立了持续构建平台:在代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。保证持续地发现、反馈和解决问题。
图-美聊持续集成
静态代码分析
为了保证代码质量,从代码层级降低线上出错的可能性,技术团队引入了静态代码分析技术:在不执行计算机程序的条件下,对源代码进行分析,找出代码的设计缺陷,例如代码规范、内存泄露,以及体现总体质量:代码覆盖度、技术债务的趋势图,通知技术改进,拦截在上线之前,这些数据都成为QA统计的数据来源。
图-Sonar静态代码分析qa仪表盘(Java、iOS、Android)
客户端手工覆盖度数据收集工具
过去执行完测试用例之后,无法考量哪些代码覆盖了,哪些没有覆盖,测试用例写的好不好,为了解决这些困境,在客户端Android、iOS植入手工测试覆盖度工具,收集代码覆盖度展示,目的是找出测试过程中未被覆盖的代码,指导测试人员调整测试策略,开展探索式测试。
图-客户户端UI手工测试报告
下图是执行美聊2.8版本iOS相关用例后的统计结果,可以根据结果调整测试策略,例如:如果改动了登录模块,目前用例覆盖度比较低,那是需要加强特殊场景测试,还是其他方面呢?这个需要团队review下做出决定。
原文转自:http://www.uml.org.cn/Test/201707191.asp