嵌入式软件的覆盖测试.docx
《嵌入式软件的覆盖测试.docx》由会员分享,可在线阅读,更多相关《嵌入式软件的覆盖测试.docx(13页珍藏版)》请在咨信网上搜索。
1、嵌入式软件的覆盖测试摘要:覆盖测试是验证软件功能结构正确性以及查找问题的非常重要的方法和手段,它要借助一定的工具才能取得较好的效果,满足软件在质量和时间上的双重要求。如何利用好这方面比较成熟的工具,对其机理的研究及适应性改造是很重要。本文着重描述这类工具的工作机理,以及对嵌入式软件测试的特殊要求,并以对自主知识产权嵌入式操作系统的测试为例进行说明。关键词:嵌入式操作系统 覆盖测试 软件测试工具1 概述软件测试是很广的概念。从其贯穿软件生命周期全过程来看,测试可分为模块测试、集成测试、系统测试等阶段。测试还可分为静态检查和动态运行测试两大类。在动态运行测试中,又可有基于程序结构的白盒测试和基于功
2、能的黑盒测试。测试不仅关注程序的功能,还有性有测试、强度测试等等。要达到比较好的测试效果,除了要有周全的测试计划、可控的测试过程、测试人员丰富的经验外,还需要借助一些行之有效的辅助工具,尤其在当今软件规模日益庞大、测试工作量成倍增加的情况下。对应上述的测试分类情况,测试工具可划分为:支持对程序源代码进行静态规则检查和质量评估的静态分析工具、支持对程序单元进行动态覆盖测试的工具、对软件系统的整体运行性能进行测试的工具。另外,还有一些特殊用途的或专用工具,如协议测试仪、内存检测工具等。这些工具都有较为成熟的商业化产品,也可通过自行开发的方式获得。本文具体讨论了对一类特殊的系统软件嵌入式实时操作系统
3、进行覆盖测试的情况。内容涉及对这类软件特性的研究、测试的难点和特点、对现有测试工具的适应性改造和测试实例说明。2 软件覆盖测试覆盖是一种白盒测试方法,测试人员必须拥有程序的规格说明和程序清单,以程序的内部结构为基础,来设计测试案例。其基本准则是则测试案例来尽可能多地覆盖程序的内部逻辑结构,发现其中的错误和问题。所以,覆盖测试一般应用在软件测试的早期,即单元测试阶段。覆盖的几种方法或策略如表1所列。表1 几种典型的覆盖策略覆盖策略定 义语句覆盖在制定测试案例时,使程序中的每个语句都至少执行1次。其缺点是不能发现某些逻辑错误判定覆盖执行足够的测试案例,使得程序中每个判定都获得一次“真”值和“假”值
4、,或者说使每一个分支都至少通过1次条件覆盖执行足够的测试案例,使得判定中的每个条件获得各种可能的结果判定/条件覆盖执行足够的测试案例,使得判定中的每个条件取得各种可能的值,并使得每个判定取得各种可能的结果条件组合覆盖执行足够的测试案例,使得每个判定中的条件的各种组合都至少出现1次。其特点是覆盖较充分,满足条件组合覆盖的测试案例也一定满足判定覆盖、条件覆盖和判定/条件覆盖。从以上简要介绍可看出,这几种覆盖策略的严格程序有如下趋势: 其它一些覆盖策略还包括:修改的条件/判断覆盖、路径覆盖、函数覆盖、调用覆盖、线性代码顺序和跳转覆盖、数据流覆盖、目标代码分支覆盖、循环覆盖、关系操作符覆盖等。随着软件
5、规模的增长,实现全面的覆盖所需的测试案例的数目也越来越庞大,因此根据被测软件对象的特点选择适当的覆盖策略是非常重要的;同时,要确定合理测试目标,达到100%的覆盖往往要付出很大的代价,应该同形式化评审等方法结合,以发现更多的软件故障。 3 覆盖测试工具要取得较好的覆盖测试效果,需要借助一定的工具软件。这些工具软件一般具备如下的功能特点,可弥补人为测试的缺陷分析软件内部结构,帮助制定覆盖策略及设计测试案例;与适当的编译器结合,对被测软件实施自动插装,以便在其运行过程中生成覆盖信息并收集这些信息;根据搜集的覆盖信息计算覆盖率,帮助测试人员找到未被覆盖的软件部位,以改进测试案例提高覆盖率。在利用工具
6、进行动态覆盖测试时,需要3个要素:测试用例、插装过的被测代码、搜集覆盖信息并进行分析的工具本身。代码插装由工具自动完成,通过执行测试用例,再由工具搜集覆盖信息并进行分析,就可以看到覆盖率指标了。图1展示实现覆盖测试的基本过程。4 嵌入式软件的覆盖测试原理嵌入式软件的开发与通用软件很大的不同点在于,需要采用交叉开发的方式:开发工具运行在软硬件配置丰富的宿主机上,而嵌入式应用程序运行在软硬件资源相对缺乏的目标机上。对于这类软件的测试也存在着同样的问题:测试工具运行在宿主机上,测试所需要的信息在目标机上产生,并通过一定的物理/逻辑连接传输到缩主机上,由测试工具接收。因此,嵌入式软件测试的一个重要问题
7、是建立宿主机与目标机之间的物理/逻辑连接,解决数据信息的传输问题。嵌入式软件覆盖测试的基本原理如图2所示。在目标机方,插装过的被测应用程序将覆盖信息发送到消息队列中,一个专门的任务负责在适当的时候将这些信息发送到宿主机方。缩主机方有专门的模块负责接收覆盖信息。并交给分析工具分析和在线动态显示覆盖率的增长情况。支持嵌入式软件覆盖测试的工具应解决如下2方面的关键问题*与嵌入式操作系统的结合 覆盖测试工具与嵌入式操作系统的结合体现在3方面。首先,在目标机方,应用任务与专门负责收集/上传覆盖信息的任务是通过消息队列来传递数据的,该消息队列可使用嵌入式操作系统的相应机制实现。其次,这个专门任务也可以被看
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件 覆盖 测试
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。