📄 app_content_test1.htm
字号:
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·基本的测试库管理功能。</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> </table>
<p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">此外</font><font size="3">,SQA</font><font
FACE="宋体" SIZE="3">还支持软件测试人员进行以下工作</font><font size="3">:</p>
<!--mstheme--> </font><!--msthemelist--><table border="0" cellpadding="0" cellspacing="0" width="100%">
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·制定测试计划和测试大纲</font>,<font
FACE="宋体" SIZE="3">并将这些文档按照自然的树状结构分层地管理起来</font>,<font
FACE="宋体" SIZE="3">并据此控制和驱动整个测试过程。</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·不仅能够自动记录各类测试结果</font>,<font
FACE="宋体" SIZE="3">而且对其进行修改</font>,<font FACE="宋体" SIZE="3">从而使得测试人员可以在程序运行结果尚有许多错误的情况下</font>,<font
FACE="宋体" SIZE="3">通过对所记录下的结果做适当修正来获得理想的</font>"<font
FACE="宋体" SIZE="3">期望结果</font>" ,<font FACE="宋体" SIZE="3">为测试结果的自动比较奠定基础。</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·测试问题报告的记录与管理。</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> </table>
<p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3"> 总之</font><font
size="3">,SQA Suite</font><font FACE="宋体" SIZE="3">提供了一个比较完整的测试平台</font><font
size="3">,</font><font FACE="宋体" SIZE="3">以支持软件测试的各种基本活动</font><font
size="3">,</font><font FACE="宋体" SIZE="3">包括测试计划与测试大纲的制定、回归测试的自动化、测试结果的分析比较、软件问题报告的生成与自动分发和控制等。对于许多应用软件的开发无疑是个有力的测试支持工具。</font><font
size="3"></p>
<p ALIGN="JUSTIFY"> Purify</font><font FACE="宋体" SIZE="3">是原</font><font
size="3">PureAtria</font><font FACE="宋体" SIZE="3">公司</font><font size="3">(</font><font
FACE="宋体" SIZE="3">现已经与美国</font><font size="3">Rational</font><font
FACE="宋体" SIZE="3">公司合并</font><font size="3">,</font><font FACE="宋体"
SIZE="3">改名为美国</font><font size="3">Rational</font><font FACE="宋体" SIZE="3">公司</font><font
size="3">)</font><font FACE="宋体" SIZE="3">于</font><font size="3">90</font><font
FACE="宋体" SIZE="3">年代初率先推出的专门用于检测程序中种种内存使用错误的软件工具。几乎所有使用过</font><font
size="3">C</font><font FACE="宋体" SIZE="3">语言开发软件的程序员都会有这样的体会</font><font
size="3">,C</font><font FACE="宋体" SIZE="3">语言中使用极为灵活的指针给程序员带来了很大便利</font><font
size="3">,</font><font FACE="宋体" SIZE="3">但同时也制造了许多的麻烦。由于指针使用不当而引起的错误通常是最难发现的</font><font
size="3">,</font><font FACE="宋体" SIZE="3">同时也是最难定位的一类错误。而</font><font
size="3">Purify</font><font FACE="宋体" SIZE="3">对多种常见的内存使用错误的检错能力和准确的定位</font><font
size="3">,</font><font FACE="宋体" SIZE="3">受到广大软件开发人员的青睐。</font><font
size="3"></p>
<p ALIGN="JUSTIFY">Purify</font><font FACE="宋体" SIZE="3">可以自动识别出二十多种内存使用错误</font><font
size="3">,</font><font FACE="宋体" SIZE="3">包括</font><font size="3"></p>
<!--mstheme--> </font><!--msthemelist--><table border="0" cellpadding="0" cellspacing="0" width="100%">
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·未初始化的局部变量</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·未申请的内存</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·使用已释放的内存</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·数组越界</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·内存丢失</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·文件描述问题</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·栈溢出问题</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> <tr>
<!--msthemelist--> <td valign="baseline" width="42"><img src="anabull1.gif" tppabs="http://www.pts.com.cn/RATIONAL/anabull1.gif" width="20" height="20"
hspace="11"></td>
<td valign="top" width="100%"><p ALIGN="JUSTIFY"><font FACE="宋体" SIZE="3">·栈结构边界错误等</font></p>
<!--mstheme--> </font><!--msthemelist--></td>
</tr>
<!--msthemelist--> </table>
<p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">
在下面的例子中</font><font size="3">,</font><font FACE="宋体" SIZE="3">暗藏着两个内存使用错误。第一行为指针数组</font><font
size="3">pp</font><font FACE="宋体" SIZE="3">申请的空间尺寸不对。这类错误往往不易发现</font><font
size="3">,</font><font FACE="宋体" SIZE="3">因为在</font><font size="3">C</font><font
FACE="宋体" SIZE="3">语言中</font><font size="3">,</font><font FACE="宋体" SIZE="3">一些</font><font
size="3">"</font><font FACE="宋体" SIZE="3">轻微</font><font size="3">"</font><font
FACE="宋体" SIZE="3">的内存越界可能被系统所容忍。但这往往是导致更严重错误的根源。例如</font><font
size="3">,</font><font FACE="宋体" SIZE="3">可能破坏其它数据区等。最后一行的错误是在释放</font><font
size="3">pp </font><font FACE="宋体" SIZE="3">之前没有释放赋予它的字符串空间</font><font
size="3">,</font><font FACE="宋体" SIZE="3">从而把它们</font><font size="3">"</font><font
FACE="宋体" SIZE="3">丢失</font><font size="3">"</font><font FACE="宋体"
SIZE="3">了。这类错误犹如慢性自杀</font><font size="3">,</font><font
FACE="宋体" SIZE="3">它会逐渐消耗掉内存</font><font size="3">,</font><font
FACE="宋体" SIZE="3">降低系统的运行效率</font><font size="3">,</font><font
FACE="宋体" SIZE="3">直到完全崩溃。而真正的问题在于</font><font size="3">,</font><font
FACE="宋体" SIZE="3">这些程序中的</font><font size="3">"</font><font
FACE="宋体" SIZE="3">恶性肿瘤</font><font size="3">"</font><font FACE="宋体"
SIZE="3">用常规的测试手段和调试工具是极难发现和加以定位的。</font><font
size="3">Purify</font><font FACE="宋体" SIZE="3">则在此充分显示了它的强大功效</font><font
size="3">,</font><font FACE="宋体" SIZE="3">所到之处</font><font size="3">,</font><font
FACE="宋体" SIZE="3">即对所测试过的情况</font><font size="3">,</font><font
FACE="宋体" SIZE="3">上述各种常见的内存错误都可以被一一揭露出来</font><font
size="3">,</font><font FACE="宋体" SIZE="3">并且准确地指出错误的类型和位置。从而大大地提高了测试和纠错的效率</font><font
size="3">,</font><font FACE="宋体" SIZE="3">提高了软件的可靠性。</font><font
size="3"></p>
<p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">…</font><font size="3">/"to
get 10 words and print them out"/</p>
<p ALIGN="JUSTIFY">if(!(pp=(char**)malloc(10))){</p>
<p ALIGN="JUSTIFY">/*Size should be 10*sizeof(char*)*/</p>
<p ALIGN="JUSTIFY">printf("Out of memory.\n");</p>
<p ALIGN="JUSTIFY">exit(-1);</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">for(i=0;i<10;i++){</p>
<p ALIGN="JUSTIFY">scanf("%s",buffer);</p>
<p ALIGN="JUSTIFY">if(!(pp[i]=(char*)malloc(strlen(buffer)+1))){</p>
<p ALIGN="JUSTIFY">print("Out of Memory.\ n");</p>
<p ALIGN="JUSTIFY">exit(-1);</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">strcpy(pp[i],buffer);</p>
<p ALIGN="JUSTIFY">printf(pp[i]);</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">free(pp);/*all the strings pointed by it are lost!*/ </p>
<p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">………</font><font size="3"></p>
<p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3"> 今年以来</font><font
size="3">,</font><font FACE="宋体" SIZE="3">原</font><font size="3">PureAtria</font><font
FACE="宋体" SIZE="3">公司陆续推出了其系列产品?/FONT><font size="3">Pure,</font><font
FACE="宋体" SIZE="3">包括支持内存检测的</font><font size="3">Purify ,</font><font
FACE="宋体" SIZE="3">支持路径覆盖的</font><font size="3">PureCoverage,</font><font
FACE="宋体" SIZE="3">支持多线程应用程序性能测试的</font><font size="3">Quantify,</font><font
FACE="宋体" SIZE="3">以及用以提高测试期间连接编译被测程序效率的</font><font
size="3">PureLink</font><font FACE="宋体" SIZE="3">等。</font><font size="3">Pure</font><font
FACE="宋体" SIZE="3">系列现已支持</font><font size="3">C</font><font FACE="宋体"
SIZE="3">、</font><font size="3">C++</font><font FACE="宋体" SIZE="3">、</font><font
size="3">FORTRAN</font><font FACE="宋体" SIZE="3">语言</font><font size="3">,</font><font
FACE="宋体" SIZE="3">以及</font><font size="3">UNIX</font><font FACE="宋体" SIZE="3">和</font><font
size="3">Window NT</font><font FACE="宋体" SIZE="3">等操作系统</font><font size="3">,</font><font
FACE="宋体" SIZE="3">如</font><font size="3">Sun OS</font><font FACE="宋体" SIZE="3">、</font><font
size="3">Solaris 2.3,HP-UX,Windows NT Server</font><font FACE="宋体" SIZE="3">以及</font><font
size="3">IBM A/ X</font>等。</p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY">四、结束语</p>
<p ALIGN="JUSTIFY"> <font FACE="宋体" SIZE="3">充分认识软件测试的重要性和复杂性</font><font
size="3">,</font><font FACE="宋体" SIZE="3">合理地选择测试方法</font><font
size="3">,</font><font FACE="宋体" SIZE="3">有效地组织测试人员和安排测试任务</font><font
size="3">,</font><font FACE="宋体" SIZE="3">并且尽量使用软件测试工具增强软件测试的自动化程度</font><font
size="3">,</font><font FACE="宋体" SIZE="3">无疑可以帮助软件开发和测试人员大大提高测试效率和软件的质量。■</font><font
size="3"></p>
<p></font></font><font FACE="宋体" size="2">(摘自 计算机世界 1997年第三十六期:
软件与编程版 技术与应用)</font><!--mstheme--></font></td>
<td WIDTH="9%"> <!--mstheme--></font></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -