下载此文档

织雀教育嵌入式软件的覆盖测试.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
嵌入式软件的覆盖测试
1 概述
软件测试是很广的概念。从其贯穿软件生命周期全过程来看,测试可分为模块测试、集成测试、系统测试等阶段。测试还可分为静态检查和动态运行测试两大类。在动态运行测试中,又可有基于程序结构的白盒测试(或称为覆盖测试)和基于功能的黑盒测试。测试不仅关注程序的功能,还有性有测试、强度测试等等。
要达到比较好的测试效果,除了要有周全的测试计划、可控的测试过程、测试人员丰富的经验外,还需要借助一些行之有效的辅助工具,尤其在当今软件规模日益庞大、测试工作量成倍增加的情况下。对应上述的测试分类情况,测试工具可划分为:支持对程序源代码进行静态规则检查和质量评估的静态分析工具、支持对程序单元进行动态覆盖测试的工具、对软件系统的整体运行性能进行测试的工具。另外,还有一些特殊用途的或专用工具,如协议测试仪、内存检测工具等。这些工具都有较为成熟的商业化产品,也可通过自行开发的方式获得。
本文具体讨论了对一类特殊的系统软件——嵌入式实时操作系统——进行覆盖测试的情况。内容涉及对这类软件特性的研究、测试的难点和特点、对现有测试工具的适应性改造和测试实例说明。
2 软件覆盖测试
覆盖是一种白盒测试方法,测试人员必须拥有程序的规格说明和程序清单,以程序的内部结构为基础,来设计测试案例。其基本准则是则测试案例来尽可能多地覆盖程序的内部逻辑结构,发现其中的错误和问题。所以,覆盖测试一般应用在软件测试的早期,即单元测试阶段。
覆盖的几种方法或策略如表1所列。
表1 几种典型的覆盖策略
覆盖策略 定义
语句覆盖 在制定测试案例时,使程序中的每个语句都至少执行1次。其缺点是不能发现某些逻辑错误
判定覆盖 执行足够的测试案例,使得程序中每个判定都获得一次“真”值和“假”值,或者说使每一个分支都至少通过1次
条件覆盖 执行足够的测试案例,使得判定中的每个条件获得各种可能的结果
判定/条件覆盖 执行足够的测试案例,使得判定中的每个条件取得各种可能的值,并使得每个判定取得各种可能的结果
条件组合覆盖 执行足够的测试案例,使得每个判定中的条件的各种组合都至少出现1次。其特点是覆盖较充分,满足条件组合覆盖的测试案例也一定满足判定覆盖、条件覆盖和判定/条件覆盖。
从以上简要介绍可看出,这几种覆盖策略的严格程序有如下趋势:
其它一些覆盖策略还包括:修改的条件/判断覆盖(通常简称为MCDC)、路径覆盖、函数覆盖、调用覆盖、线性代码顺序和跳转覆盖、数据流覆盖、目标代码分支覆盖、循环覆盖、关系操作符覆盖等。随着软件规模的增长,实现全面的覆盖所需的测试案例的数目也越来越庞大,因此根据被测软件对象的特点选择适当的覆盖策略是非常重要的;同时,要确定合理测试目标,达到100%的覆盖往往要付出很大的代价,应该同形式化评审等方法结合,以发现更多的软件故障。
3 覆盖测试工具
要取得较好的覆盖测试效果,需要借助一定的工具软件。这些工具软件一般具备如下的功能特点,可弥补人为测试的缺陷:
①分析软件内部结构,帮助制定覆盖策略及设计测试案例;
②与适当的编译器结合,对被测软件实施自动插装,以便在其运行过程中生成覆盖信息并收集这些信息;
③根据搜集的覆盖信息计算覆盖率,帮助测试人员找到未被覆盖的软件部位,以改进测试案例提高覆盖率。
在利用工具进行动态覆盖测试时,需要3

织雀教育嵌入式软件的覆盖测试 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小35 KB
  • 时间2018-10-13