代码覆盖率是一种分析方法,它测量一个或多个测试所执行的代码语句、决定和条件覆盖的百分比。
代码覆盖率数据是通过一个测量工具来获得,该工具对应用程序的二进制文件进行测量,在其中添加指令来跟踪测试的执行。
当对测应用程序执行测试时,覆盖率的报告就产生了。
典型问题:
-测试是否充分?
-我们正在测试的内容正确吗?
-我们是否能更智能的进行测试?
回答:
-需要知道我们的测试执行了哪些代码
-需要知道我的代码哪些是多余的
-发现测试的缺口(未测代码)
-更多先进的分析手段
-覆盖级别:语句、条件、分支、MC/DC等
-动态和静态代码覆盖
-内置函数分析器
-跨平台(嵌入式)& 跨编译器
-支持语言:C/C++, C# & QML
-报告格式:Text, HTML, XML, Junit, Cobertural
-单元测试框架: CPPUnit, GoogleTest, Qtest等记录、报告测试执行时间
-为安全标准认证做好准备:包括ISO 26262,EN 50128、DO 330 (DO-178C and DO-278B), IEC 61508, FDA,IEC 62304, ISO 13485
Step1:Recompile
在代码中加入Coco的检查工具。
Step2:Execution
执行测试,任何类型的测试均可。
Step3:Analysis
Coco实时对测试情况进行分析并生成报告数据。
Step4:Report
在Coverage Browser中查看报告。