软件质量管理涉及团队内各环节和各角色,为了提高团队的质量意识并保证团队质量体系建设工作顺利开展,首先要做的是确定质量保障的标准,组织多轮讨论并梳理团队研发流程的改进点。标准化工作最重要的原则是不经验主义、不教条化,要充分尊重团队内不同个性的人并考虑团队内不同岗位角色不同意见,保证大家思想和行动规范的一致性是进行质量保障工作的首要条件。其次,要认识到质量体系建设是一个循序渐进的过程,要根据团队的质量技术和质量意识水平来按部就班地开展质量平台建设工作,切记不可操之过急。
质量体系建设过程中的质量技术其实是有着明显的迭代周期的,结合历史经验来看历经四代迭代,从标准化(1.0)到自动化/平台化(2.0)再到可视化(3.0),当前部分互联网公司正在进行智能化(4.0)探索。
标准化 (1.0):主要是指进行团队研发流程梳理和改进,以及DevOps建设工作,该时期测试工程师的主要工作和要求是与整个团队角色进行规划的沟通,达成一定的团队默契,以及DevOps要求的CI/CD的一些测试能力的构建。这时期的主要成果是将流程标准化后,与项目管理、开发和运维等角色共建完成服务端和客户端全流程研发平台。
自动化/平台化 (2.0):测试工程师的主要任务是测试能力赋能(自动化),以及与开发和运维等角色共建完成测试平台化,将各种测试能力自动化并逐步实现平台化,如埋点平台、磐石平台、数据工厂等。
可视化 (3.0):主要是为了解决质量可视化的痛点,包括质量过程可视化、质量管理可视化、业务指标可视化等方面,这时期的主要成果是质量可视化平台和客户端灰度大盘等。
智能化 (4.0):目前各大互联网公司正在努力和探索的方向,由质量左移和测试提效驱动。这时期强调各种质量平台和测试能力的融合和深化合作。
质量体系建设标准化由于重点是结合团队的特点和现状进行梳理和优先级确认工作,其工作和内容会千人千面。本章重点从自动化(线下测试能力自动化和线上产品质量监控体系)、可视化、智能化三个方向来阐述质量管理工作重点内容。