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

C/C++单元测试理论精要(十二,完)

4.2 多角度保证测试效果
    对于代码质量要求很高的项目来说,仅有白盒覆盖是远远不够的。白盒覆盖不能发现代码缺失,白盒覆盖基于现有代码,如果代码不存在,当然不能发现。为了检测代码缺失,需要人工对测试数据进行检查。白盒覆盖也不能发现用例未反映功能。如果设计用例时,测试员不了解代码的功能,通过阅读代码来设计用例,这叫跟着代码走,这样测试的话,再高的覆盖率也没有意义。这也从另一个角度说明了自动用例的局限性,完全由工具自动生成的用例,效果显然还比不上跟着代码走。
    开发当中还有一个特点,也是我们要注意的,就是程序员和测试员都容易遗漏边界和非法输入。程序员未考虑某些输入,就会造成代码缺失,白盒覆盖不能发现,如果测试员也漏掉,这种错误就发现不了。不过幸运的是,边界和非法输入容易产生的是极端错误,如崩溃、超时,自动生成的边界测试用例正好可以捕捉这类错误。
   
    通过前面的分析,我们可以知道应该从哪些角度保证测试效果。黑盒、白盒、自动应该相结合。
   
    黑盒角度,应该将测试数据分类集中起来,这样便于人工检查。如上图,每个参数或者其他输入取了什么值,哪些组合已经覆盖,都会自动集中起来,这样人工检查就很方便了。
    白盒方面,应该统计覆盖率,并且找出遗漏用例实现高覆盖。这在前文已经讲过了,这里不再重复。
   
    自动方面,由工具自动生成用例来捕捉边界和非法输入产生的极端错误。根据预设值自动生成用例是简单技术,预设值一般是可以修改的,如上图。不要指望主要依靠自动生成的用例来完成测试,自动用例的合理用途是作为人工用例的补充,检测极端错误。
结束语
    本文根据《单元测试与VU2.6应用》视频讲座的理论部分整理而成,介绍的是单元测试理论的摘要部分。本文也是《C/C++单元测试实用教程》(暂定名)理论部分的浓缩版,该书约29章,将于近期完稿,目前正在与出版社讨论出版事宜。
    PPT和视频可在以下地址下载:
    PPT下载:http://download.csdn.net/source/2246006
    视频part1: http://download.csdn.net/source/2246273
    视频part2: http://download.csdn.net/source/2246345
    视频


相关文档:

C Language: A Example of Print Snake Matrix


// SnakeMatrix.cpp : Defines the entry point for the console application.
// Create by Xianyi.Ye, May 4,2010
#include "stdafx.h"
#include <iostream.h>
/*
Question: Print a Sanke Matrix as following
i\j 1 2 3 4 5 6
1 1 2 9 10 25 26
2 4 3 8 11 24 27
3 5 6 7 12 23 28
4 16 15 14 ......

C/C++语言void及void指针深层探索

今天有个刚刚毕业的小朋友问我关于void*的一些问题,刚好在网上找到了一篇比较详细说明的文章,转载之......
1.概述
  
  许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。
  2.void的含 ......

C/C++的64位整型 不同编译器间的比较


//为了和DSP兼容,TSint64和TUint64设置成TSint40和TUint40一样的数  
//结果VC中还是认为是32位的,显然不合适  
//typedef signed long int     TSint64;  
//typedef unsigned long int   TUint64; &nb ......

51单片机 Keil C 延时程序的简单研究

51单片机   Keil   C   延时程序的简单研究  
   
  by:   InfiniteSpace   Studio/isjfk,   1.21.2004  
   
  任何人都可以在注明原作者和出处的前提下随意转载这篇文章,但不得用于商业目的。  
   
    ......

VC++中使用ADO方式操作ACCESS数据库

转自:http://dev.yesky.com/243/2230743.shtml
ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。本文详细地介绍在Visual C ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号