嵌入式系统软件测试

嵌入式系统软件测试

ID:856501

大小:238.03 KB

页数:11页

时间:2017-09-20

嵌入式系统软件测试_第1页
嵌入式系统软件测试_第2页
嵌入式系统软件测试_第3页
嵌入式系统软件测试_第4页
嵌入式系统软件测试_第5页
资源描述:

《嵌入式系统软件测试》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、嵌入式系统软件测试1.1概述软件测试软件测试是设计测试用例,并利用测试用例运行程序,发现错误的过程。而测试用例的设计则需要借助软件开发阶段的规格说明书以及程序的内部结构。软件测试是软件工程研究领域的重要分支,是保证软件质量的关键步骤。发生于上世纪70年代末的“软件危机”,对软件理论的研究起到了极大的促进作用,同时“软件工程”作为一项新兴学科也在此时开创。经过30多年的发展,尽管没有找到真正的“银弹(silverbullet)”来彻底解决“软件危机”问题,但是软件工程的研究,在软件开发技术和软件项目管理

2、两大领域,依然硕果累累。从结构化程序设计思想到面向对象理论;从简单无序的手工作坊式编程到较为规范、可控制的各种开发模型;从富于个人英雄主义气质的牛仔式的程序员到分工明确、迅速高效的现代化开发团队;从只要求程序能够运行到追求程序的可靠性、兼容性、设计重用性等高质量属性;这一系列思想的进步和方法的改进,都表明了软件工程领域的研究正在不断的取得进步。与此同时,对高质量软件的日益需求,促进了软件工程领域的重要内容之一:软件测试理论的研究和实践。三十多年的发展,为我们提供了丰富的经验,使得软件测试成为一门十分成

3、熟的学科。1.1.1软件测试目的软件测试的过程是寻找和发现软件中潜在的错误的过程,因此,软件测试的首要目的是及早的发现软件中所包含的各种错误,以此来使软件获得相应级别的质量保证。其次,通过软件测试,还可以验证软件实现的功能是否符合设计说明书的要求;验证软件的性能是否达到设计要求;通过收集测试过程中的各种数据,为软件质量的评价提供一定的依据。另外,在指定具体的测试目标时,人们通常会将投入的时间和人力等成本考虑进去,所以,成功的软件测试往往是通过最少的人力和时间成本,尽可能多的找出软件中潜在的各种错误和设

4、计缺陷。1.1.1软件测试对象一种常见的观点认为软件测试单指程序测试,这种观点显然是不全面的。软件测试贯穿于整个软件定义和软件开发过程。因此,由需求分析得到的需求说明书、由概要设计得到的概要设计说明书、由详细设计得到的详细设计说明书以及由程序编码得到的源程序等,均应该被视为软件测试的对象。在软件的开发过程中,越早发现的错误,改正错误的代价就越低,对于软件开发过程的影响就越小,见图3-1。因此,对于软件生存周期的各个阶段所要传递的信息,都应该尽可能的保证理解和表达的正确性。对每个阶段所得到的阶段性成果,

5、都应该独立的进行确认和验证,以求尽早地发现软件缺陷。图01随时间推移,修复软件错误费用惊人增长1.1.2软件测试数据流图软件测试数据流图描述了软件测试的基本流程,如图3-2所示。测试过程需要两类输入,分别是软件配置和测试配置。软件配置包括:软件需求规格说明书,软件设计规格说明书,源代码等;测试配置包括:测试计划,测试用例,测试驱动程序和测试工具等。图02软件测试数据流图1.1.1软件测试方法软件测试的方法多种多样,从不同的角度来看,可以有不同的分类方法。从其贯穿软件生命周期的过程来看,可以分为模块

6、测试、集成测试、系统测试和确认测试等测试阶段;另外,测试还可以分为静态测试和动态测试;在动态测试中,又分为基于程序结构的白盒测试和基于功能的黑盒测试。总的来讲,目前软件测试存在两大类测试方法,第一类测试方法是将软件在设计的环境下运行以得出结果,并将该结果与预期结果作对照,如果二者相符则测试通过,如果二者存在出入不相符则视为错误。最终在设计规定的环境中将软件的所有功能加以运行,以逐一发现错误。该方法基于用户需求和设计,将测试工作的范畴加以界定,可有针对性地部署测试的侧重点。第二类方法与需求和设计没有必然

7、的联系,更强调测试人员利用逆向思维发挥主观能动性,不断反思开发人员的不良习惯、理解的误区、无效数据的输入、程序代码的边界以及系统本身的各种弱点,站在破坏和摧毁系统的角度,不断寻找系统中各种各样的问题。实践中,结合使用以上两种测试方法往往能够取得较好的效果。1.1嵌入式软件的测试1.1.1关于测试策略嵌入式平台,资源相对稀少,但其却是嵌入式系统软件最终的运行环境,而一般软件可能运行在超级计算机上或高性能的PC机上。适当条件下,嵌入式系统软件的测试同样适用一般软件的单元测试、系统测试、集成测试和确认测试策

8、略。我们也可以将所谓的适当条件看作是关于嵌入式系统软件测试的独特策略。嵌入式系统中的开发环境和最终运行环境又分别被称为主机(Host)平台和目标(Target)平台。两种典型的嵌入式软件开发方式分别为:一种是在实际目标(Target)平台上编辑、编译和调试代码进而开发源代码;另一种则是将编辑和编译源代码的工作在主机平台上完成,而后移动可执行代码到目标机上进行调试。第二种方法也叫做交叉开发,如图3-3所示。图03交叉开发选择交叉开发方法使得目标机和主机在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。