在实施自动化后比较测试覆盖率指标以确定 increase/decrease
Comparing test coverage metrics to identify an increase/decrease after implementing automation
假设我想比较实施自动化框架前后项目的测试覆盖率水平。
我收集了所有项目的测试覆盖率指标。
它只是平均吗?之前与平均项目的测试覆盖率。实施自动化框架后项目的测试覆盖率?
我需要称重吗?
如何最好地实现这一点?
我假设你指的是线路覆盖。
项目的线路覆盖率是覆盖线路数除以可覆盖线路数。
一组项目最明智的覆盖衡量标准是相同的:所有项目中覆盖的线路总数除以所有项目中可覆盖线路的总数。这会根据项目中的行数对每个项目的覆盖范围进行加权。 (平均每个项目的覆盖率会忽略每个项目中的行数。)这是有道理的,因为每个未发现的行的错误数量在项目中可能大致恒定。
你可以做到。
我认为您最好专注于新实现功能的测试范围。旧的现有代码大概可以工作 "well enough",否则您不会已经发布它。
您应该做的是识别从应用程序的旧版本到新版本更改的代码,并测量其测试覆盖率。
这将很难开始。但它会迫使人们测试新功能。
随着时间的推移,您可以减少整个应用程序的测试覆盖率,但预计在开始时它的覆盖率百分比会非常令人失望。
假设我想比较实施自动化框架前后项目的测试覆盖率水平。
我收集了所有项目的测试覆盖率指标。
它只是平均吗?之前与平均项目的测试覆盖率。实施自动化框架后项目的测试覆盖率?
我需要称重吗?
如何最好地实现这一点?
我假设你指的是线路覆盖。
项目的线路覆盖率是覆盖线路数除以可覆盖线路数。
一组项目最明智的覆盖衡量标准是相同的:所有项目中覆盖的线路总数除以所有项目中可覆盖线路的总数。这会根据项目中的行数对每个项目的覆盖范围进行加权。 (平均每个项目的覆盖率会忽略每个项目中的行数。)这是有道理的,因为每个未发现的行的错误数量在项目中可能大致恒定。
你可以做到。
我认为您最好专注于新实现功能的测试范围。旧的现有代码大概可以工作 "well enough",否则您不会已经发布它。
您应该做的是识别从应用程序的旧版本到新版本更改的代码,并测量其测试覆盖率。
这将很难开始。但它会迫使人们测试新功能。
随着时间的推移,您可以减少整个应用程序的测试覆盖率,但预计在开始时它的覆盖率百分比会非常令人失望。