📄 嵌入式软件设计中查找缺陷的几个技巧开发板armlinuxarm9嵌入式软件设计中查找缺陷的几个技巧.htm
字号:
href="http://www.hzlitai.com.cn/article/ARM7-artilcle/cphelp_1.html">产品FAQ</A>
</LI>
<LI><A title=产品更新
href="http://www.hzlitai.com.cn/article/ARM7-artilcle/cprenew_1.html">产品更新</A>
</LI>
<LI><A title=硬件设计
href="http://www.hzlitai.com.cn/article/ARM7-artilcle/cphard_1.html">硬件设计</A>
</LI>
<LI><A title=操作系统
href="http://www.hzlitai.com.cn/article/ARM7-artilcle/system_1.html">操作系统</A>
</LI>
<LI><A title=应用实例
href="http://www.hzlitai.com.cn/article/ARM7-artilcle/example_1.html">应用实例</A>
</LI></UL><!--[if lte IE 6]></TD></TR></TBODY></TABLE></A><![endif]--></LI>
<LI><A class=hide title=ARM9开发平台相关
href="http://www.hzlitai.com.cn/article/ARM9-article/ARM9-article.html">ARM9开发平台相关</A><!--[if lte IE 6]>
<A class=sub title=ARM9开发平台相关
href="http://www.hzlitai.com.cn/article/ARM9-article/ARM9-article.html">ARM9开发平台相关
<TABLE>
<TBODY>
<TR>
<TD><![endif]-->
<UL>
<LI><A title=产品FAQ
href="http://www.hzlitai.com.cn/article/ARM9-article/cphelp_1.html">产品FAQ</A>
</LI>
<LI><A title=产品更新
href="http://www.hzlitai.com.cn/article/ARM9-article/cprenew_1.html">产品更新</A>
</LI>
<LI><A title=硬件设计
href="http://www.hzlitai.com.cn/article/ARM9-article/cphard_1.html">硬件设计</A>
</LI>
<LI><A title=操作系统
href="http://www.hzlitai.com.cn/article/ARM9-article/system_1.html">操作系统</A>
</LI>
<LI><A title=应用实例
href="http://www.hzlitai.com.cn/article/ARM9-article/example_1.html">应用实例</A>
</LI></UL><!--[if lte IE 6]></TD></TR></TBODY></TABLE></A><![endif]--></LI>
<LI><A class=hide title=ARM仿真工具相关
href="http://www.hzlitai.com.cn/article/ARM-article/ARM-article.html">ARM仿真工具相关</A><!--[if lte IE 6]>
<A class=sub title=ARM仿真工具相关
href="http://www.hzlitai.com.cn/article/ARM-article/ARM-article.html">ARM仿真工具相关
<TABLE>
<TBODY>
<TR>
<TD><![endif]-->
<UL>
<LI><A title=产品FAQ
href="http://www.hzlitai.com.cn/article/ARM-article/cphelp_1.html">产品FAQ</A>
</LI>
<LI><A title=产品更新
href="http://www.hzlitai.com.cn/article/ARM-article/cprenew_1.html">产品更新</A>
</LI>
<LI><A title=应用实例
href="http://www.hzlitai.com.cn/article/ARM-article/example_1.html">应用实例</A>
</LI></UL><!--[if lte IE 6]></TD></TR></TBODY></TABLE></A><![endif]--></LI>
<LI><A class=hide title=液晶模块相关
href="http://www.hzlitai.com.cn/article/yejin-article/yejin-article.html">液晶模块相关</A><!--[if lte IE 6]>
<A class=sub title=液晶模块相关
href="http://www.hzlitai.com.cn/article/yejin-article/yejin-article.html">液晶模块相关
<TABLE>
<TBODY>
<TR>
<TD><![endif]-->
<UL>
<LI><A title=产品FAQ
href="http://www.hzlitai.com.cn/article/yejin-article/cphelp_1.html">产品FAQ</A>
</LI>
<LI><A title=产品更新
href="http://www.hzlitai.com.cn/article/yejin-article/cprenew_1.html">产品更新</A>
</LI>
<LI><A title=硬件设计
href="http://www.hzlitai.com.cn/article/yejin-article/cphard_1.html">硬件设计</A>
</LI>
<LI><A title=操作系统
href="http://www.hzlitai.com.cn/article/yejin-article/system_1.html">操作系统</A>
</LI>
<LI><A title=应用实例
href="http://www.hzlitai.com.cn/article/yejin-article/example_1.html">应用实例</A>
</LI></UL><!--[if lte IE 6]></TD></TR></TBODY></TABLE></A><![endif]--></LI></UL><!--[if lte IE 6]></TD></TR></TBODY></TABLE></A><![endif]--></LI>
<LI><A class=hide href="http://www.hzlitai.com.cn/services.html">技术服务</A><!--[if lte IE 6]> <A
href="http://www.hzlitai.com.cn/services.html">技术服务
<TABLE>
<TBODY>
<TR>
<TD><![endif]-->
<UL>
<LI><A title=专业设计与生产服务
href="http://www.hzlitai.com.cn/odm.html">专业设计与生产服务</A> </LI>
<LI><A title=项目委托流程
href="http://www.hzlitai.com.cn/xmwtlc.html">项目委托流程</A> </LI>
<LI><A title=开发板技术支持
href="http://www.hzlitai.com.cn/services.html">开发板技术支持</A> </LI>
<LI><A title=项目委托协议
href="http://www.hzlitai.com.cn/xmwtxy.html">项目委托协议</A> </LI>
<LI><A title=技术开发合同
href="http://www.hzlitai.com.cn/jskfht.html">技术开发合同</A> </LI></UL><!--[if lte IE 6]></TD></TR></TBODY></TABLE></A><![endif]--></LI>
<LI><A class=hide href="http://www.hzlitai.com.cn/lxwm.html">联系我们</A><!--[if lte IE 6]> <A
href="http://www.hzlitai.com.cn/lxwm.html">联系我们</A><![endif]--> </LI>
<LI><A class=hide href="http://www.hzlitai.com.cn/bbs">ARM论坛</A><!--[if lte IE 6]> <A
href="http://www.hzlitai.com.cn/bbs">ARM论坛</A><![endif]--> </LI>
<LI><A class=hide href="http://www.hzlitai.com.cn/zhaopin.html">诚聘英才</A><!--[if lte IE 6]> <A
href="http://www.hzlitai.com.cn/zhaopin.html">诚聘英才</A><![endif]-->
</LI></UL></DIV></DIV></DIV><!--################coolpic Start#############################-->
<DIV id=center>
<DIV style="MARGIN: 0px auto; WIDTH: 800px; BACKGROUND-COLOR: #ffffff">
<SCRIPT language=JavaScript
src="嵌入式软件设计中查找缺陷的几个技巧开发板ARMLinuxARM9嵌入式软件设计中查找缺陷的几个技巧.files/jsad.js"></SCRIPT>
</DIV></DIV><!--################coolPic End#############################--></DIV>
<DIV id=center>
<DIV id=navbar
style="PADDING-LEFT: 10px; MARGIN-LEFT: auto; WIDTH: 790px; MARGIN-RIGHT: auto; PADDING-TOP: 8px; HEIGHT: 18px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: left">您现在的位置
: <A href="http://www.hzlitai.com.cn/index.html"><SPAN
class=style1>首页</SPAN></A>>><A
href="http://www.hzlitai.com.cn/article.html"><SPAN
class=style1>文章频道</SPAN></A>>> <A
href="http://www.hzlitai.com.cn/article/ARM9-article/ARM9-article.html">ARM9开发平台相关</A>>><A
href="http://www.hzlitai.com.cn/article/ARM9-article/example_1.html"><SPAN
class=style1>应用实例</SPAN></A>>> <SPAN class=style2><FONT
color=#ff0000>嵌入式软件设计中查找缺陷的几个技巧</FONT>【正文】</SPAN> </DIV></DIV>
<TABLE class=border style="BORDER-TOP: #000000 1px solid" cellSpacing=0
cellPadding=0 width=800 align=center bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD align=middle height=10>
<TABLE class=pageSeparator cellSpacing=6 cellPadding=0 width=800
border=0><TBODY>
<TR>
<TD align=middle height=16><FONT
style="FONT-SIZE: 9pt">来自:电子工程专辑 作者:Sean M. Beatty
时间:2006年6月16日 查看次数:
<SCRIPT language=JavaScript
src="嵌入式软件设计中查找缺陷的几个技巧开发板ARMLinuxARM9嵌入式软件设计中查找缺陷的几个技巧.files/Counter.htm"></SCRIPT>
</FONT>
关键字:【|开发板|ARM|Linux|ARM9|嵌入式软件设计中查找缺陷的几个技巧|】</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<DIV
style="FONT-SIZE: 12px; MARGIN: 0px auto; WIDTH: 800px; COLOR: #000000; BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: '宋体'; HEIGHT: 28px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center"><!--上一篇--> <A
title=Programming WindowsCE 第三版附源码
href="http://www.hzlitai.com.cn/article/ARM9-article/example/2006101341.html">上一篇:Programming WindowsCE 第三版附源码</A> <A
title=蓝牙技术及其系统原理
href="http://www.hzlitai.com.cn/article/ARM9-article/example/2006101360.html">下一篇:蓝牙技术及其系统原理</A>
</DIV><!--下一篇-->
<TABLE class=border
style="PADDING-RIGHT: 20px; PADDING-LEFT: 20px; PADDING-BOTTOM: 20px; PADDING-TOP: 20px"
cellSpacing=6 cellPadding=0 width=800 align=center bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD align=middle><FONT
style="FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: #666666">嵌入式软件设计中查找缺陷的几个技巧</FONT>
</TD></TR>
<TR align=middle>
<TD class=listcontent id=fontzoom vAlign=top align=left
height=293>
<P><SPAN class=Normal id=_ctl0__ctl0__ctl0_lblContent>
<P><I>大部分软件开发项目依靠结合代码检查、结构测试和功能测试来识别软件缺陷。尽管这些传统技术非常重要,而且能发现大多数软件问题,但它们无法检查出当今复杂系统中的许多共性错误。本文将介绍如何避免那些隐蔽然而常见的错误,并介绍的几个技巧帮助工程师发现软件中隐藏的错误。</I>
<P>结构测试或白盒测试能有效地发现代码中的逻辑、控制流、计算和数据错误。这项测试要求对软件的内部工作能够一览无遗(因此称为"白盒"或"玻璃盒"),以便了解软件结构的详细情况。它检查每个条件表达式、数学操作、输入和输出。由于需要测试的细节众多,结构测试每次检查一个软件单元,通常为一个函数或类。
<P>代码审查也使用与实现缺陷和潜在问题查找同样复杂的技术。与白盒测试一样,审查通常针对软件的各个单元进行,因为一个有效的审查过程要求的是集中而详尽的检查。<IMG
alt=表1:堆栈分析表格的一部分。 hspace=12
src="嵌入式软件设计中查找缺陷的几个技巧开发板ARMLinuxARM9嵌入式软件设计中查找缺陷的几个技巧.files/200661612343734.gif"
align=right vspace=12>
<P>与审查和白盒测试不同,功能测试或黑盒测试假设对软件的实现一无所知,它测试由受控输入所驱动的输出。功能测试由测试人员或开发人员所编写的测试过程组成,它们规定了一组特定程序输入对应的预期程序输出。测试运行之后,测试人员将实际输出与预期输出进行比较,查找问题。黑盒测试可以有效地找出未能实现的需求、接口问题、性能问题和程序最常用功能中的错误。
<P>虽然将这些技术结合起来可以找出隐藏在一个特定软件程序中的大部分错误,但它们也有局限。代码审查和白盒测试每次只针对一小部分代码,忽视了系统的其它部分。黑盒测试通常将系统作为一个整体来处理,忽视了实现的细节。一些重要的问题只有在集中考察它们在整个系统内相互作用时的细节才能被发现;传统的方法无法可靠地找出这些问题。必须整体地检查软件系统,查找具体问题的特定原因。由于详尽彻底地分析程序中的每个细节和它与代码中所有其它部分之间的相互作用通常是不大可能的,因此分析应该针对程序中已经知道可能导致问题的特定方面。本文将探讨其中三个潜在的问题领域:
<P>* 堆栈溢出 <BR>* 竞争条件 <BR>* 死锁
<P>读者可在网上阅读本文的第二部分,它将探讨下列问题:
<P>* 时序问题 <BR>* 可重入条件
<P>在采用多任务实时设计技术的系统中,以上所有问题都相当普遍。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -