易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++单元测理论精要(十一)

第4章 怎样才能保证测试效果?
4.1 衡量测试效果的基本指标:白盒覆盖
    衡量测试效果的基本指标是白盒覆盖率,即统计测试对代码逻辑单位的覆盖状况。代码的逻辑单位主要有:语句(块),条件、判定、分支、路径。常用的白盒覆盖有六种:语句覆盖、条件覆盖、分支覆盖、判定条件覆盖、修正判定条件覆盖、和路径覆盖。每种覆盖都有它的局限性,因此,实践中要多种覆盖组合应用。
    除MC/DC外,其他覆盖率的计算公式很简单:
    覆盖率 = 已覆盖逻辑单位数 / 全部逻辑单位数 * 100%,如:
    语句覆盖率 = 已覆盖语句块数 / 全部语句块数 * 100%;
    C/DC = (已覆盖判定数 + 已覆盖条件数)  /  (全部判定数 + 全部条件数) * 100%,这里的判定数和条件数是指条件和判定计算结果,即判定值和条件值。
    修正判定条件覆盖,即MC/DC是欧美航空标准。MC/DC主要用于检测判定内的条件之间的关系是否正确,对逻辑操作符&&和||是相当敏感的,但是并不检查从函数入口到出口的代码组合的覆盖,缺陷还是相当明显的。路径覆盖检查入口到出口的各种代码组合的覆盖,显然,MC/DC和路径覆盖的组合,才是最强的覆盖指标。
    统计覆盖率的一般方法是插装,即在被测代码中插入监视代码,监视执行状况。监视代码必须不影响被测代码本身的功能逻辑。
   
    工具可以将覆盖状况清晰标示出来,语句覆盖、条件覆盖、MC/DC覆盖可以在代码中标示,分支覆盖和路径覆盖可以在代码的逻辑结构图中标示。如上图,红色背景的是未覆盖的语句。条件前面的T,表示条件的真值未覆盖。条件前面的F,表示条件的假值未覆盖。条件前面的M,表示MC/DC未覆盖,也就是说,这个条件没有独立影响判定结果。红色背景的是未覆盖的分支。未覆盖的路径用红色画出。


相关文档:

C/C++中typedef的用法,告诉你不一样的typedef


<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体" ......

C++ 操作XML的完整例子——MSXML篇

写本文的目的是为了方便大家了解C++ MSXML操作方法。
当然,C++中对MSXML的调用有多种,本文采用的方法是完全参照MSXML SDK提供的文档进行操作。
如果有什么错误,欢迎指正。
代码框架是基于vs2008 MFC 对话框程序(UNICODE)。对话框程序需要读者自己创建。
#include <msxml6.h>
#include <comutil.h>
# ......

[转]C\C++语言入门篇系列

虽然学习了好多年,但需要细究某些基础知识的时候还是发现自己忘了, 从别人的文章扒过来,以备复习
参考: http://blog.csdn.net/masefee/archive/2009/12/28/5090820.aspx
============================================================
之前的定位可能主要为了研究底层及一些较复杂的问题上,而忽略了一些初学的朋友。导 ......

C程序使用不同函数调用约定调用汇编子过程

如转载,请注明出处:http://blog.csdn.net/zhangyang0402/archive/2010/05/01/5549266.aspx
 
开发工具:VC ++ 6.0  MASM32
 
一、__cdecl调用方式
 
1.  在VC中新建Win32 Console Application, TestASM
 
2.  新建test.c
#include<stdio.h>
extern void swap(int * ......

s3c2440基于linux的button和led字符设备驱动

先是内核驱动程序:
#include <linux/module.h>//具体的头文件位置为/opt/FriendlyARM/mini2440/linux-2.6.29/include/linux/*.h
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <l ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号