gpt4 book ai didi

c++ - 代码覆盖率不好

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:57 26 4
gpt4 key购买 nike

我在我的计算机上安装了 C++Test only with UnitTest license(仅单元测试许可)作为 Visual Studio 2005 插件(cpptest_7.2.11.35_win32_vs2005_plugin.exe)。

我有一个类似于下面的示例:

bool MyFunction(... parameters... )
{
bool bRet = true;

// do something
if( some_condition )
{
// do something
bRet = CallToAFunctionThatCanReturnBothTrueAndFalse....
}
else
{
bRet = false;
// do something
}

if(bRet == false)
{
// do something
}

return bRet;
}

在我的例子中,在运行覆盖工具后,我得到了以下结果(对于类似于前面提到的函数):

[LC=100 BC=100 PC=75 DC=100 SCC=100 MCDC=50 (%)]

我真的不明白为什么我在PathCoverage(PC)上没有100%的覆盖率。此外,如果有 C++Test Parasoft 经验的人可以为我解释低 MCDC 覆盖率,那就太好了。

我应该怎么做才能增加覆盖率?因为在这种情况下我没有想法。欢迎提供文档(部分)的说明。

谢谢,

尤利安

最佳答案

对于您正在使用的特定工具,我无法提供帮助,但路径覆盖的总体思路是应该执行代码中的每条可能路径。

如果您通过程序绘制流程图,在每个 if/break/continue 等处分支,您应该看到您的测试在程序中采用了哪些路径。要获得 100%(这不是完全必要的,也不能保证完美的测试),您的测试必须深入代码的每个分支,执行每一行。

希望对您有所帮助。

关于c++ - 代码覆盖率不好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1012741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com