嵌入式软件测试ppt课件.ppt
《嵌入式软件测试ppt课件.ppt》由会员分享,可在线阅读,更多相关《嵌入式软件测试ppt课件.ppt(51页珍藏版)》请在三一办公上搜索。
1、嵌入式软件测试技术与策略An Introduction to Embedded Software Testing,2023年7月3日,2,内容提要,关于软件测试软件测试技术嵌入式软件测试方法嵌入式软件测试策略嵌入式软件测试解决方案,2023年7月3日,3,对软件测试的几种认识测试与调试类似,是对调试的一种补充测试是为了证明软件正确测试是为了发现软件错误测试是检验软件是否满足规定的需求测试是为了减小软件不工作的风险测试是不需要更多的测试工作即可以产生低风险软件的一种认识上的训练,关于软件测试(1),2023年7月3日,4,关于软件测试(2),什么是软件测试 专家说法:测试是为了发现错误而执行程序
2、的过程软件测试是对软件建立信心的过程 IEEE 1983:使用人工或自动手段来运行某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清结果与实际结果之间的差别总结软件测试要解决的问题是:软件的行为是否符合“规定的”要求,它有两个方面的含义:Does it do everything it is specified to do?Does it do anything it is not specified to do?,2023年7月3日,5,软件测试的重要性海湾战争期间,由于跟踪软件在运行100小时后出现0.36秒的舍入误差,导致未能成功拦截一枚飞毛腿导弹,致使28名联军士兵丧生。196
3、3年美国宇航局事例(Fortran程序):DO 5 I=1,3 误写成 DO 5 I=1.3;一点之差导致火箭发射失败1996年6月4日,阿利亚娜5型火箭首次发射失败,关于软件测试(3),double d_bh;short s_bh;sense_horizontal_velocity(/OPERAND ERROR,2023年7月3日,6,软件测试的重要性当前的软件开发方法免疫力低软件是一种特殊的产品开发方法学因素人不能避免犯错误软件开发工具不完备维护费用昂贵软件测试保证软件产品质量的重要手段软件测试能最大限度的发现软件中的错误,减少软件中残留的错误,提高软件产品的可靠性通过软件测试可以验证软件
4、功能、性能、可用性、可移植性、约束、限制等指标满足规定的需求软件可靠性测试可得到软件可靠性指标软件测试为软件质量的定量评定提供依据,关于软件测试(4),2023年7月3日,7,软件测试的重要性一汽大众 召回6速自动变速箱(DSG)汽车2760辆油液温度传感器上的插头处导线为卡紧,传感器可能发出错误温度信息,严重时会导致控制单元启动变速箱保护模式,暂时中断动力输出需要更新变速箱控制单元程序宝马 召回气门电控马达问题汽车5470辆因软件错误,发动机气缸的气门电控马达可能出现不同步现象,将导致发动机工作不稳定,有时会熄火对发动机管理系统控制单元重新编成现代 召回悬架自动稳定控制缺陷问题车辆2017辆
5、在部分装备了3.3L发动机和电子稳定控制系统(ESC)车辆上,ESC可能设置得对过渡转向过于敏感,会对外侧前轮施加不必要的制动力,可能导致碰撞事故对ESC的液压电控单元重新编程沃尔沃 发动机冷却风扇控制模块版本错误,关于软件测试(4),2023年7月3日,8,关于软件测试(5),软件测试的发展历程软件测试并不是一开始就有的轻视重视简单复杂被迫主动如何开展软件测试测试是一个非常复杂的过程,不仅要掌握相应的技术和方法,而且还要懂得在什么时候、什么情况下使用什么方法,这就是软件测试的策略问题。另外,软件测试的实施需要有效的管理,仅靠简单地组建测试队伍或购买一两件测试工具是不够的。因此,技术、策略和管
6、理构成了软件测试工程的三大要素。,2023年7月3日,9,测试与调试的关系测试是检查软件发现问题,调试是分析软件解决问题测试贯穿于整个软件生存期,调试主要是在软件开发过程中调试具有随意性、不明确性,而测试是明确的、可重复的测试是全方位的,而调试是代码级的测试与调试不能相互替代,但相互支持,相辅相成,关于软件测试(6),2023年7月3日,10,软件测试的基本原则Good-enough原则:权衡投入产出比,既不要不充分,也不要过分。Pareto法则:在分析、设计、试验、复审等阶段能够发现和避免80的bug而系统的软件测试能够找出其余bug中的80。应尽早地开展软件测试。问题发现得越早,解决问题的
7、代价就越小。严格执行测试计划,排除测试的随意性测试是需要维护的妥善保存测试计划、测试用例、出错统计和测试分析报告,为维护提供方便完全彻底的测试是不可能的。,关于软件测试(7),2023年7月3日,11,假设每次测试用时1ns,全年不间断地测试:,T=31.7 Years,关于软件测试(8),2023年7月3日,12,什么是“错误”我们通常用“错误”这一术语来描述测试过程中发现的各种问题在没有特别加以说明的情况下,这是一个泛用的、模糊的概念,它指的可能是:defect:缺陷。bug:差错。error:出错。failure:失效。,关于软件测试(9),2023年7月3日,13,测试设计测试是需要设
8、计的。因此测试是一项具有很大创造性的工作,其工作量一点也不比软件设计小。软件测试与软件开发相比,并不低人一等。软件测试的创造性主要表现在:测试方案选择测试计划制定测试用例设计测试结果的分析测试过程的管理.,关于软件测试(10),2023年7月3日,14,测试用例所谓测试用例,是一份关于具体测试步骤的文档,用于指导测试的实际操作。测试用例可以是纯文本的说明文档,也可以是用脚本语言或高级语言编写的一段代码。测试用例应当包括:测试用例名称及标识测试目的测试条件及设置输入数据要求预期的输出结果操作步骤测试用例的典型设计方法黑盒法(Black box testing)白盒法(White box test
9、ing),关于软件测试(11),2023年7月3日,15,软件测试技术黑盒测试(1),黑盒测试的概念若被测程序与特定的功能相联系,我们可以针对功能设计测试,以证实各功能完全可执行,同时在功能中寻找错误把测试对象看做一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否正确。黑盒测试又叫做功能测试或数据驱动测试。黑盒测试类似于中医:使用望、闻、问、切黑盒测试的目的是否有错误的或遗漏了的功能?在接口上,输入能否正确地接受?能否输出正确的结果?是否有数据结构错误或外部信息访问错误?是否考虑了软件的出错情况?,2023年7月3日,16,软件测试技术黑盒测试(
10、2),黑盒测试的一个常用技巧打桩(Stub)用在隔离测试中,用以消除其他程序对被测程序的影响当被测程序调用其子模块时,可以使用模拟法,此时被测程序并没有真正调用其他模块,而是从桩模块处得到一个所需的值。这种技术叫做打桩。黑盒测试常用方法等价分割边界值分析,2023年7月3日,17,常用黑盒测试方法等价分割等价分割是一种典型的黑盒测试方法等价分割将输入输出范围分割成多个等价的区域,然后从每个等价区中选取少数有代表性的数据做为测试用例。所谓等价,是指:在同一分割区内程序的行为是等价的等价区之间的依赖性可以忽略输入和输出并非只是程序参数:外部数据时间执行顺序/记录状态,软件测试技术黑盒测试(3),2
11、023年7月3日,18,常用黑盒测试方法边界值分析边界值分析也是一种黑盒测试方法,是对等价分割方法的补充经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据,软件测试技术黑盒测试(4),错误聚集在边界上,缺陷隐藏在角落里!,2023年7月3日,19,软件测试技术白盒测试(1),什么是白盒测试若被测程序与特定的结构相联系,我们可以针对结构设计测试,以确保内部的“
12、所有齿轮相吻合”,即软件的内部过程是合理的,是遵照规定执行的白盒测试又称玻璃盒测试。把测试对象看作一个透明的盒子,充分利用其逻辑结构和有关信息,设计和选择测试用例。白盒测试又称为结构测试或逻辑驱动测试白盒测试类似于西医看病,通过X光、CT扫描等手段白盒测试主要用于结构测试覆盖测试静态分析也可以算作白盒测试的一种手段,2023年7月3日,20,软件测试技术白盒测试(2),插装(Instrumentation)插装又称软件探针,由测试工具自动加入,用于反馈软件的执行信息。插装不影被测程序的运行,语句覆盖判定覆盖条件覆盖判定条件覆盖路径覆盖,2023年7月3日,21,软件测试技术白盒测试(3),典型
13、的白盒测试基本路径测试Thomas McCabe首先提出从程序的结构入手,分析、计算模块的复杂程度McCabe圈复杂度(=基本路径数)确认模块的一组基本路径,再根据这些基本路径设计测试用例,做到基本路径覆盖。圈复杂度可以通过程序流图得出基本路径测试是结构化测试的理论基础,2023年7月3日,22,代码覆盖,流程 A,流程 B,哪个函数更复杂?,代码覆盖与复杂度不成比例,软件测试技术白盒测试(4),2个测试,2个测试,基本路径测试的意义,如果代码覆盖率=100%各需多少测试?,2023年7月3日,23,分支覆盖,需要多少个测试可以做到100%覆盖?,分支测试#1,分支测试#2,分支测试#3,分支
14、测试#4,软件测试技术白盒测试(5),基本路径测试的意义,2023年7月3日,24,基本路径覆盖,(TRUE and FALSE),(FALSE and TRUE),(TRUE and TRUE),任何其他路径(如 FALSE and FALSE)可由基本路径组合得到,+,-,=(FALSE and FALSE),软件测试技术白盒测试(6),基本路径测试的意义,基本路径数等于模块的McCabe圈复杂度 v(G),2023年7月3日,25,回归测试软件更动后重新进行的测试既要测试变更部分,也要测试受影响部分关键在决定哪些测试必须被重复保证测试工作的可重现性尽量利用工具,提供回归测试的自动化水平,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件 测试 ppt 课件
链接地址:https://www.31ppt.com/p-5394441.html