📄 dev3.htm
字号:
<HTML><HEAD>
<TITLE>高效开发与彻底测试-实现彻底单元测试</TITLE>
<meta name="description" content="要提高软件开发质量、降低软件开发成本,最有效的改进就是进行彻底的单元测试,如果不进行单元测试,任何流程改进都无法保证产品质量,因为,程序始终是由代码构成的,代码的质量没有保证,软件的质量拿什么来保证?">
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<LINK href="pic/style.css" type=text/css rel=stylesheet>
</HEAD>
<BODY leftMargin=0 topMargin=0>
<!--PAGE_HEAD_BEGIN-->
<table width="800" height="192" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="56" height="56" valign="top" bgcolor="#c3daec" ><img src="pic/n_left.gif" width="56" height="190">
</td>
<td width="687" valign="top"><table width="687" height="42" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="td2">
<tr>
<td width="89" background="pic/top_back.gif"><img src="pic/logo.gif" width="150" height="42" alt="凯乐软件"></td>
<td width="559" background="pic/top_back.gif" valign="bottom"><table width="98%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="right"><a href="/">首 页</a> | <a href="/products/"> 产品介绍</a> |
<a href="/download/"> 下载中心</a> | <a href="/teaching/">
演示与教程</a> | <a href="/bbs/"> 技术论坛</a> | <a href="/faq/"> 问题解答</a> | <a href="/contactus.htm"> 联系我们</a></div></td>
</tr>
<tr>
<td height="6"></td>
</tr>
</table></td>
</tr>
</table>
<table width="650" height="150" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="td2">
<tr>
<td><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="685" height="150">
<param name="movie" value="pic/top.swf">
<param name="quality" value="high">
<embed src="pic/top.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="685" height="150"></embed></object></td>
</tr>
</table>
<table width="687" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="td2">
<tr>
<td background="pic/n_back1.gif" height="9"></td>
</tr>
</table></td>
<td width="57" valign="top" bgcolor="#c3daec"><img src="pic/n_right.gif" width="56" height="190"></td>
</tr>
</table>
<!--PAGE_HEAD_END-->
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="56" valign="top" bgcolor="#c3daec" > </td>
<td width="687" valign="top">
<table width="100%" height="40" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="td2">
<tr>
<td width="100%" bgcolor="#f2f2f2" valign="top">
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<table width="100%" height="38" border="0" cellpadding="0" cellspacing="0" background="pic/bt_back.gif">
<tr>
<td class="title"><div align="center"><strong>
<!--SUBJECT_BEGIN-->
</strong><b>高效开发与彻底测试</b></div></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="5" bgcolor="#f8f8f8"></td>
</tr>
<tr>
<td height="5" bgcolor="#ffffff"></td>
</tr>
<tr>
<td valign="top" bgcolor="#ffffff">
<table width=98% align=center><tr><td>
<center><b>三、实现彻底单元测试</b></center>
<br>
是什么使单元测试难于实施?首先是代码的可测性。可测性是什么?如果一个类具有基本的可测性,那么把它加入到另一个工程后(当然有关联的文件也要加入)能够通过编译,这其实是很低的要求,但对于一个有一定规模的项目,如果开发调试时使用自然驱动,在完成编码后才进行单元测试,那么通常都不具有可测性,因为开发人员常常在无意之中使代码之间产生了不当耦合,这些不当耦合累积起来,会使整个项目的代码纠缠在一起,造成难于测试。<br>
<br>
使单元测试难于实施的另一个方面是建立测试用例。在本例中,如果由不熟悉代码的测试人员建立测试用例,那么他很可能不知道如何生成CToken对象
指针的列表。<br>
<br>
如果边开发边使用专门驱动(测试代码放在另一个工程中)或自动驱动调试,那么一旦出现影响可测性的不当耦合就会及时发现及时解决,保证了代码的可测性,另一方面,由于至少建立了一个测试用例,测试人员建立其他用例时只要修改一下输入输出数据,从而大大降低建立测试用例的难度。总之,使用专门驱动或自动驱动调试,在不增加开发工作量的同时,已经为单元测试打一下了坚实的基础。<br>
<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -