收藏 分享(赏)

嵌入式系统软件测试-OS-test.ppt

上传人:weiwoduzun 文档编号:4180568 上传时间:2018-12-14 格式:PPT 页数:42 大小:159KB
下载 相关 举报
嵌入式系统软件测试-OS-test.ppt_第1页
第1页 / 共42页
嵌入式系统软件测试-OS-test.ppt_第2页
第2页 / 共42页
嵌入式系统软件测试-OS-test.ppt_第3页
第3页 / 共42页
嵌入式系统软件测试-OS-test.ppt_第4页
第4页 / 共42页
嵌入式系统软件测试-OS-test.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、2018/12/14,1,软件测试工程师培训,嵌入式系统软件测试,2018/12/14,2,综述,不存在一个适合于所有软件的通用的测试方法和测试程序,必须以具体项目的特点和要求为基础,综合考虑测试活动要素及工程限制,制定和选择适当的目标、计划和规程,以保证测试质量和软件质量。本次讲课内容:结合实际测试实例,介绍与实时嵌入式系统软件测试相关的技术要点。,2018/12/14,3,要点,嵌入式软件的特点 嵌入式软件测试设计 嵌入式软件测试工具 嵌入式软件测试环境 嵌入式软件测试案例,2018/12/14,4,嵌入式软件的特点,专用用户接口 实时信号/强实时性 软件与硬件并行开发 对代码规模有限制

2、难以测试 可靠性要求高 ,是基于Host/Target方法进行开发的,软件实际运行在特定的硬件环境下。,2018/12/14,5,嵌入式软件的特点,与用户的接口依赖于系统硬件 使用实时或专用操作系统,2018/12/14,6,嵌入式软件测试设计,单元测试 集成测试 确认测试 系统集成测试 系统测试/验收测试,每个级别的测试有不同的内容,发现不同方面的软件缺陷。,语句、结构 单元、部件 配置项、子系统 系统、大系统,2018/12/14,7,测试设计单元测试,要重视静态分析和代码审查 确定软件单元粒度 用例设计的方法取决于被测单元的特点 性能测试(中断处理、实时性),旨在发现程序模块的编码和逻辑

3、错误。,2018/12/14,8,测试设计关于代码审查,人工测试技术在检查某些编码错误时,有着特殊的功效,它常常能够找出利用计算机不容易发现的错误。人工测试至今仍是一种行之有效的测试方法。一个对照实验发现,人工走查和审查会平均能查出被测程序的38%错误,IBM代码审查会的查错效率高达80%。,2018/12/14,9,测试设计关于时间特性测试,实时系统中对软件运行实时性有严格的要求。有些软件测试工具提供了时间测试的功能,使用的软件插桩可能会影响时间测试精度,但只要被测试的模块的时间特性在允许的余量范围(比如30)中,测试结果是有效的。自行编制驱动软件,使用时钟来测试模块运行时间也是行之有效的方

4、法。模块的时间特性是一个统计数值而不是只靠一次测试得到的结果。,2018/12/14,10,测试设计集成测试,发现部分设计缺陷 分步骤逐步完成,增量过程 较多使用黑盒测试 辅助测试系统 软件与硬件的部分集成,检验与软件设计相关的程序结构问题;着重于测试软件模块间的接口和模块所体现的功能验证。,2018/12/14,11,测试设计软件集成测试流程,2018/12/14,12,测试设计确认测试,检验所开发的软件能否满足功能和性能需求。,与通用软件的确认测试不完全一致 软件配置项级确认测试 系统级确认测试验收测试 广度上有所要求(重视强度测试、安全性测试、可恢复性测试 ),2018/12/14,13

5、,测试设计与通用软件测试的区别,没有可移植性、兼容性等的测试要求;多数嵌入式系统也没有人机接口的测试要求;由于嵌入式系统的软件与硬件系统密切相关,确认测试完成并不表明软件测试的结束;软件最终的确认测试是完成系统集成测试以后的系统验收测试。,2018/12/14,14,测试设计系统集成测试,对整个嵌入式系统进行考验的一系列不同的测试,每个测试都有不同的目的,所有的测试都是为了整个系统成分能正常地集成到一起以完成分配的功能。,2018/12/14,15,测试设计系统测试/验收测试,最终在系统一级进行的确认测试 有顾客(用户)参加的测试,环境试验 可靠性测试 压力测试 ,功能测试 性能测试 恢复测试

6、 安全测试,2018/12/14,16,测试设计与通用软件系统测试的区别,通用软件的系统测试要求在各种系统硬件(兼容机)和软件环境(操作系统)中完成测试,而嵌入式系统测试则要求在特定的硬件系统和接口环境(真实环境)中进行。系统安装测试的概念有所区别。 多数嵌入式系统无GUI测试。,2018/12/14,17,测试设计概述,系统集成和验收测试虽然不属于软件工程过程的研究范围,也不是由软件开发人员来进行的,但却是嵌入式系统测试不可回避的。在软件设计和测试阶段采用的步骤能够大大增加软件成功地在复杂系统中进行集成的可能性,但却不能解决系统集成的所有问题。,2018/12/14,18,嵌入式软件测试工具

7、,静态测试工具 动态测试工具,2018/12/14,19,测试工具主要功能,静态测试工具测试软件调研报告.doc 编程标准验证(Program Standards Verification) 数据流分析技术(Data Flow Analysis) 质量度量(Quality Metrics)信息 代码可视化显示(Code Visualisation),2018/12/14,20,测试工具主要功能,动态测试工具测试软件调研报告.doc 代码覆盖率(Code Coverage) 自动产生测试外壳程序(test harness)(单元测试阶段) 性能分析 内存分析 执行追踪分析(TRACE),2018

8、/12/14,21,测试工具比较,测试工具推荐.doc 嵌入式软件测试工具比较.doc,2018/12/14,22,嵌入式软件测试环境,解决嵌入式软件测试过程中执行结果不易观察的问题逻辑仿真测试环境 系统联试测试环境 硬件模拟测试环境 全数字仿真测试环境,2018/12/14,23,测试环境逻辑仿真测试环境,优点:可分解、记录任意中间数据状态,执行、中断和暂停任意指令,记录各语句、分支和循环的覆盖情况和执行次数等项功能均易于解决,是一种常用有效的测试和调试技术手段。 缺点:难于产生严格意义上的时序关系,当软件包含与外部接口相关的时序操作时,难以有效进行测试,测试时难于发现由被测软件造成的与硬件

9、相关的故障,工具本身的正确性直接影响测试结果。,2018/12/14,24,测试环境系统联试测试环境,优点:最真实的测试环境,易于发现由软件造成的软件接口与系统接口的不一致性问题,可检验软件、硬件复合的性能,及在特定的物理环境下系统硬件是否能保证软件的正常运行。 缺点:对于大型综合系统,实际测试涉及多个单位,难于保证测试时间;设备本身的限制,无法提供支持测试用例的手段。,2018/12/14,25,测试环境硬件模拟测试环境,使用与产品的嵌入式系统硬件指令兼容的CPU,设计研制与之严格时序及逻辑等价的测试平台,以硬件或软件手段实现测试信息的设定和记录等功能。 优点:接近真实的运行环境,可记录部分

10、中间结果. 缺点:难于统计覆盖率,响应时间测试不够准确,记录数据受硬件条件的限制。,2018/12/14,26,测试环境全数字仿真测试环境,使用软件方法模拟被测试软件的运行环境,并记录软件运行的输入/输出结果和中间数据。 优点:测试时便于根据测试用例设置各种输入,可通过记录的数据进行精度分析、覆盖率统计,便于修改和进行回归测试。 缺点:难以发现与硬件相关的问题,难于准确测试软件的响应时间。平台正确性影响到测试结果。,2018/12/14,27,测试环境概述,嵌入式系统在完成测试的过程中,可能使用多种测试技术,完成不同方面的测试。对于大型复杂嵌入式系统,可根据需要建立多种测试环境,有时这样的系统

11、本身就是一个复杂的综合系统 ,2018/12/14,28,测试环境基本要求,测试输入是可以控制的测试输出应尽量能够通过自动化的方法记录和显示;对于不能自动记录测试结果的测试,只要测试输入是可以控制的,根据测试用例组织测试,实时记录测试结果。各种形式的记录数据都是事后整理和分析的依据。,2018/12/14,29,测试环境基本要求,测试是可以重复的,可以进行回归测试测试是为了发现软件中的缺陷,由于错误出现经常是有条件的,在经过调试以后,为了验证缺陷是否消失,就要使用错误出现时的测试用例进行回归测试;回归测试时,不仅要使用先前出现错误时的测试用例,还要重复所有的测试,以避免调试引进的新缺陷。作为测

12、试环境就必须满足测试输入可重复、避免随机产生测试用例的情形。,2018/12/14,30,嵌入式软件测试案例,测试流程测试策略 测试计划 测试设计 测试评审 测试实现 测试实施 测试评价 测试配置管理 第三方测试,2018/12/14,31,测试案例测试流程,2018/12/14,32,测试案例测试阶段,2018/12/14,33,测试案例测试计划,软件配置项划分 测试定义 测试/管理工具的确定 测试环境定义 人员组织形式 时间/进度安排,2018/12/14,34,测试案例测试设计,单元测试 集成测试 确认测试 系统测试,测试说明文档 测试基准 部分或整体 关键模块的选择 分步骤集成 结构测

13、试和功能测试,2018/12/14,35,测试案例测试实现,测试工具 测试脚本(测试步骤的计算机表示) 测试环境,2018/12/14,36,测试案例测试用例的复用,低层被测对象的测试用例或其部分内容可以复用在对高层被测对象的测试中。如: 部件确认测试阶段可以复用单元测试阶段的测试输入; 部件确认测试阶段的测试用例组可以复用在配置项集成测试阶段和配置项确认测试阶段中; 配置项确认测试阶段的测试用例组可以复用在系统集成测试阶段和系统验收测试中。,2018/12/14,37,测试案例测试实施,软件测试记录: 测试运行结果的计算机表示 测试比较结果的计算机表示 测试日志 软件问题报告,2018/12

14、/14,38,测试案例测试评价,软件测试报告测试结果的统计信息测试结果的分析/评判,2018/12/14,39,测试案例配置管理,ClearCase工具 不同级别的测试评审 测试用例库 测试问题报告,2018/12/14,40,测试案例第三方测试,单元测试 使用工具进行静态度量 工具和人工结合代码走读 软件配置项确认测试 在第二方测试环境下 变换测试用例 复现测试用例,2018/12/14,41,总结,编程人员要有意识地学习和掌握测试工具,而不能认为是测试人员的事。 在软件测试中应该根据实际情况实施测试,无需刻意追求使用测试工具。 实现软件工程和软件测试,更多地是软件流程管理,不只是强调软件开发(编程)质量。 有了环境和工具并不意味完成了测试。 软件工程应加强软件流程的有序性和有效性管理,而不应该片面追求大而全的瀑布模型。,2018/12/14,42,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 软件工程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报