⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200603112150255.html

📁 软件工程的红包书
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确定host-target测试环境后,开发测试人员又会遇到以下的问题:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1)多少开发人员会卷入测试工作(<a href="200602281036115.html" tppabs="http://www.itisedu.com/phrase/200602281036115.html" target="_new">单元测试</a>,软件集成,系统测试)?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2)多少软件应该测试,测试会花费多长时间?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3)在主机环境和目标环境有哪些<a href="200602282117345.html" tppabs="http://www.itisedu.com/phrase/200602282117345.html" target="_new">软件工具</a>,价格怎样,适合怎样?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4)多少目标环境可以提供给开发者,什么时候?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5)主机和目标机之间的连接怎样?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6)被测软件下载到目标机有多快?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7)使用主机与目标环境之间有什么限制(如软件安全标准)?</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 任何人或组织进行嵌入式软件的测试都应深入考虑以上问题,结合自身实际情况,选定合理测试策略和方案。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于嵌入式软件测试或叫交叉测试(cross-test),在测试的各个阶段有着通用的策略:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.单元测试</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所有单元级测试都可以在主机环境上进行,除非少数情况,特别具体指定了单元测试直接在目标环境进行。最大化在主机环境进行软件测试的比例,通过尽可能小的目标单元访问所有目标指定的界面。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在主机平台上运行测试速度比在目标平台上快的多,当在主机平台完成测试,可以在目标环境上重复作一简单的<a href="200603291526545.html" tppabs="http://www.itisedu.com/phrase/200603291526545.html" target="_new">确认测试</a>,确认测试结果在主机和目标机上没有被他们的不同影响。在目标环境上进行确认测试将确定一些未知的,未预料到的,未说明的主机与目标机的不同。例如,目标编译器可能有bug,但在主机编译器上没有。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.集成测试</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 软件集成也可在主机环境上完成,在主机平台上模拟目标环境运行,当然在目标环境上重复测试也是必须的,在此级别上的确认测试将确定一些环境上的问题,比如内存定位和分配上的一些错误。<BR>在主机环境上的集成测试的使用,依赖于目标系统的具体功能有多少。有些嵌入式系统与目标环境耦合的非常紧密,若在主机环境做集成是不切实际的。一个大型软件的开发可以分几个级别的集成。低级别的软件集成在主机平台上完成有很大优势,越往后的集成越依赖于目标环境。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.系统测试和确认测试</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所有的系统测试和确认测试必须在目标环境下执行。当然在主机上开发和执行系统测试,然后移植到目标环境重复执行是很方便的。对目标系统的依赖性会妨碍将主机环境上的系统测试移植到目标系统上,况且只有少数开发者会卷入系统测试,所以有时放弃在主机环境上执行系统测试可能更方便。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认测试最终的实施舞台必须在目标环境中,系统的确认必须在真实系统之下测试,而不能在主机环境下模拟。这关系到嵌入式软件的最终使用。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 包括恢复测试、安全测试、强度测试、性能测试,已超出了软件测试的范畴,本文暂不讨论。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用有效的cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,当然正确的测试工具使用也是必不可少的:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; 总结一下,应用以上测试工具进行.Cross-test时的策略:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A)使用测试工具的插装功能(主机环境)执行静态测试分析,并且为动态覆盖测试准备好一插装好的软件代码。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B)使用源码在主机环境执行功能测试,修正软件的错误和测试脚本中的错误。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C)使用插装后的软件代码执行覆盖率测试,添加测试<a href="200604240937105.html" tppabs="http://www.itisedu.com/phrase/200604240937105.html" target="_new">用例</a>或修正软件的错误,保证达到所要求的覆盖率目标。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D)在目标环境下重复(B),确认软件在目标环境中执行测试的正确性。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E)若测试需要达到极端的完整性,最好在目标系统上重复(C),确定软件的覆盖率没有改变。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通常在主机环境执行多数的测试,只是在最终确定测试结果和最后的系统测试才移植到目标环境,这样可以避免发生访问目标系统资源上的瓶颈,也可以减少在昂贵资源如在线仿真器上的费用。另外,若目标系统的硬件由于某种原因而不能使用时,最后的确认测试可以推迟直到目标硬件可用,这为嵌入式软件的开发测试提供了弹性。设计软件的可移植性是成功进行cross-test的先决条件,它通常可以提高软件的质量,并且度软件的维护大有益处。以上所提到的测试工具,都可以通过各自的方式提供测试在主机与目标之间的移植,从而使嵌入式软件的测试得以方便的执行。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用有效的cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,提高嵌入式软件的质量。</P>
<P>附录:<BR>1). HOST-TARGET的连接方法简介:</P>
<P><IMG src="2006311214743475.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006311214743475.jpg" border=0><BR>图1-- 直接连接</P>
<P><IMG src="2006311214830976.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006311214830976.jpg" border=0><BR>图2 -- 通过仿真器连接</P>
<P><IMG src="2006311225010296.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006311225010296.jpg" border=0><BR>图3 -- 使用介质进行间接连接</P>
<P><IMG src="2006311225025596.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006311225025596.jpg" border=0><BR>图4 -- 使用PROM等传递被测软件</P>
<P><IMG src="2006311225044559.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006311225044559.jpg" border=0><BR>图5 -- 测试的交互界面</P>
<P><IMG src="2006311225058550.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006311225058550.jpg" border=0><BR>图6 -- 无交互界面的连接</P>
<P><STRONG>四、结论</STRONG></P>
<P>  嵌入式系统在人类生活中发挥着重要的作用,包括飞行控制器这样的控制系统,以及洗衣机这样的家用电器。日前,嵌入式系统中软件的比重越来越大,也越来越复杂,保证嵌入式软件的可靠性正面临严峻的挑战。</P>
<P>  大多数软件测试方法都可以直接或间接地用于嵌入式软件的测试,但是由于<a href="200602281634075.html" tppabs="http://www.itisedu.com/phrase/200602281634075.html" target="_new">操作系统</a>的实时和嵌入式特性,嵌入式软件测试也面临一些特殊的问题。虽然日前已经有一些针对嵌入式软件的测试和调试工具,但是在有些方面仍存在不足,包括许多任务操作系统的并发、非侵入式的测试和凋试、嵌入式系统的软件抽象等。对于嵌入式软件测试技术的研究人选测试工具有待开发,仍须要做很多进一步的工作。</P>
<P><FONT size=1>来源:《测试员》电子杂志第五期&nbsp; 《嵌入式软件测试策略》<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;中国自控网&nbsp;&nbsp;&nbsp;&nbsp; 《嵌入式软件的测试方法和工具》</FONT> <BR></FONT></P></div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -