生成式AI对软件编码和单元测试的影响及测量协议
预期影响
生成式AI(Gen AI)在软件设计和编码中提供协助,可用于创建用户界面原型、实体模型和接口,显著提高生产效率和质量。61%的组织认为Gen AI的主要益处是促进创新性工作,其次是提高软件质量(49%)和提升生产效率(40%)。预计到2026年,Gen AI将在超过25%的软件设计、开发和测试工作中发挥关键作用。
生成式AI对软件编程的影响
Gen AI通过将重点从编码转向提示工程和代码校验来重新定义传统编程实践。软件工程师可以使用简洁的语言描述软件功能,然后审查、更新和验证生成的输出。Gen AI支持编码过程,直接建议干净的代码或评估现有代码以改进质量。
测量的重要性
建立测量框架对于提取有意义的见解至关重要,如同导航工具。衡量Gen AI的表现确保其达到预期目标,识别改进领域,提供问责制,并量化属性。然而,衡量生产力具有复杂性,需要考虑定性和定量因素。
衡量挑战
生产力指标如部署时间或解决问题所需时间未能全面捕捉Gen AI带来的好处。DORA和SPACE等度量框架可以更好地捕捉员工满意度等非传统生产力指标,但尚未获得广泛关注。目前似乎没有统一的标准来衡量生产力,48%的受访组织尚未定义衡量Gen AI使用成效的指标。
测量协议组成
测量协议由以下组件组成:
- 指标:单元测试覆盖率、代码效率、前提条件与成功因素、速度、定量反馈、测量工具、测量指标、正常化过程、团队组织、测量方法、代码安全性、代码气味。
- 团队设置:单一团队顺序执行或并行执行,以及不同资历团队的组合。
- 流程:准备工作、时间线、测量执行、基线审计、报告合并。
实际规模实验结果
- 开发者喜爱:Gen AI工具帮助初级专业人士快速学习,使高级专业人士能专注于培养初级人员。
- 速度提升:在软件开发生命周期中,编码和单元测试方面实现10-30%的改进。
- 利益遍及所有层级:初级团队受益最多,高级团队也获得明显收益。
- 单元测试到位:单元测试生成提高了测试代码覆盖率。
- 文档资料可用:文档工作任务被Gen AI接管,相关指标改善。
结论
定义的测量协议被证明是有效的,帮助理解Gen AI在编程和单元测试中的影响。该协议灵活且不受特定工具约束,可应用于不同环境。通过明确设定目标、标准化数据收集并设定基线指标,可以深入了解Gen AI的性能和价值。