Process 敏捷方法中的软件度量
敏捷方法现在相当流行,但我似乎找不到多少关于什么指标最有用以及为什么最有用的文档。我发现更多的东西表明,一些传统指标,如LOC和测试的代码覆盖率是不合适的,留下两个主要问题:Process 敏捷方法中的软件度量,process,agile,metrics,Process,Agile,Metrics,敏捷方法现在相当流行,但我似乎找不到多少关于什么指标最有用以及为什么最有用的文档。我发现更多的东西表明,一些传统指标,如LOC和测试的代码覆盖率是不合适的,留下两个主要问题: 为什么这两个(和其他)指标不合适 什么指标最适合敏捷,为什么 即使使用敏捷过程,您不想知道单元测试的代码覆盖率有多高吗?或者仅仅是因为这个指标(和其他指标)不如圈复杂度和速度等其他指标有用吗?1.1)LOC很容易回答 他们真的依赖于你使用的语言!例如,在JAVA或Ruby上编写相同的功能时,可能会有很大的不同 一个写得不
- 他们真的依赖于你使用的语言!例如,在JAVA或Ruby上编写相同的功能时,可能会有很大的不同
- 一个写得不好的软件可能比一个好的软件有更多的行
- 我想您应该如何使用度量,尽管它并不完美,但它应该让您很好地理解代码需要更多测试的地方
- 这里你需要注意的一点是,它也依赖于语言。在某些情况下,您可能有一个真正不需要测试的类或方法!例如,只有getter和setter的类
- Velocity:经典的一个,如果使用得当,它可以很好地提高敏捷团队的绩效,因为您将知道您的团队在固定时间内真正可以做什么
- 燃尽图和燃尽图:它们可以让您很好地了解团队在交互过程中的表现(sprint)
InfoQ上有一些关于这方面的文章。而且。无论采用何种方法,都可以而且应该使用一些基本指标。
据了解,最重要的是以下三个方面:
- 产品尺寸
- 测试最后阶段发现的缺陷数量
- 以及现场发现的缺陷数量
- 计算产品缺陷率(A)
- 计算测试缺陷率(B)
- 确定一个理想的目标,并监控绩效
- 确定B的理想目标并监控绩效
- 评估A和B之间的相关性
- 如果发现相关性,则形成测试有效性度量(B/A*100%)
尽管阅读起来并不一定有趣,但它提供了一个非常深入的软件工程和度量概述 至于问题1,我不认为这些指标在敏捷过程中有什么不好的原因 LOC为您提供了相对尺寸测量。虽然比较项目之间的数字可能并不总是有用,但它可以为您提供项目内的增长率。如果您可以得到它,那么sprint中更改的行数对于跟踪速率或重构也很有用 代码覆盖率(代码行数)让您大致了解您的团队是否满足项目中自动化测试的最低要求 关于问题2,保留上面的项目,这里还有一些:
- LOC与测试计数。如果可以,为单元测试、集成测试和系统测试保持单独的比率
- 每个故事的验收标准与测试场景(或测试)的平均数量。它可以帮助你更好地了解你的测试是否违背了故事的意图
- 发现的缺陷数量
- 发现的工作量(通常由敏捷跟踪软件捕获)不是原始估计的一部分。它将帮助你判断你是否做了足够的计划
- 跟踪速度冲刺与冲刺之间的一致性或缺乏一致性
- 虽然可能不受欢迎,也可能有潜在危险,但跟踪每个开发人员完成的工作估计。虽然团队应该是自我组织和驱动的,但并非所有团队都能够处理人为问题
- 从产品概念到首次发布或发布
- 从功能请求到功能部署或
- 从缺陷检测到解决
- 损益表或
- 投资回报率
- 投资目标
- e、 g
要考虑的另一个度量是运行测试的特性。我无法形容比这更好的了:
我要回答这个非常古老的问题<