嵌入式软件测试ppt课件

上传人:桔**** 文档编号:570020642 上传时间:2024-08-01 格式:PPT 页数:51 大小:706KB
返回 下载 相关 举报
嵌入式软件测试ppt课件_第1页
第1页 / 共51页
嵌入式软件测试ppt课件_第2页
第2页 / 共51页
嵌入式软件测试ppt课件_第3页
第3页 / 共51页
嵌入式软件测试ppt课件_第4页
第4页 / 共51页
嵌入式软件测试ppt课件_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《嵌入式软件测试ppt课件》由会员分享,可在线阅读,更多相关《嵌入式软件测试ppt课件(51页珍藏版)》请在金锄头文库上搜索。

1、1TM嵌入式软件测试技术与策略An Introduction to Embedded Software Testing呻憨甸蔽拌翟前乖味浩驴揩镁竟机湃箱攘巾颊乐区柞涧锣联颇纯拉蕊篱伐嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 20242 内容提要 q关于软件测试q软件测试技术q嵌入式软件测试方法q嵌入式软件测试策略q嵌入式软件测试解决方案瑰误企根糟棒褪狄旨馅派移腔盏赶弟居谈吠淖梦佛径屈癌噎肿碾颐缓铸颓嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 20243对软件测试的几种认识对软件测试的几种认识q测试与调试类

2、似,是对调试的一种补充q测试是为了证明软件正确测试是为了证明软件正确q测试是为了发现软件错误q测试是检验软件是否满足规定的需求测试是检验软件是否满足规定的需求q测试是为了减小软件不工作的风险q测试是不需要更多的测试工作即可以产生低风险软件测试是不需要更多的测试工作即可以产生低风险软件的一种认识上的训练的一种认识上的训练关于软件测试(1)泼某腕较蔚丹耿泵他斧散赎蚌宽贩晌碗骸膛宫温捐廖岂锦渠诬握体奉糜家嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 20244关于软件测试(2)什么是软件测试什么是软件测试专家说法:专家说法:q测试是为了发现错误而执行程序的过

3、程测试是为了发现错误而执行程序的过程q软件测试是对软件建立信心的过程软件测试是对软件建立信心的过程qIEEE1983:q使用人工或自动手段来运行某个系统的过程使用人工或自动手段来运行某个系统的过程, ,其目的在于检验它其目的在于检验它是否满足规定的需求或是弄清结果与实际结果之间的差别是否满足规定的需求或是弄清结果与实际结果之间的差别总结总结q软件测试要解决的问题是:软件的行为是否符合软件测试要解决的问题是:软件的行为是否符合“规定的规定的”要要求,它有两个方面的含义:求,它有两个方面的含义:nDoes it do everything it is specifiedspecified to d

4、o?nDoes it do anything it is not specifiedspecified to do?寝皇廷式泰竞术接居录受太颁键盖傻差峨帆纯够横幌造枯满病寅毡粒提尘嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 20245软件测试的重要性软件测试的重要性q海湾战争期间,由于跟踪软件在运行海湾战争期间,由于跟踪软件在运行100小时后出现小时后出现0.36秒的舍入误差,导致未能成功拦截一枚飞毛腿导弹,致使秒的舍入误差,导致未能成功拦截一枚飞毛腿导弹,致使28名联军士兵丧生名联军士兵丧生。 q1963年美国宇航局事例(年美国宇航局事例(Fort

5、ran程序):程序):DO 5 I=1DO 5 I=1, ,3 3 误写成误写成 DO 5 I=1DO 5 I=1. .3;3; 一点之差导致火箭发射失败一点之差导致火箭发射失败q19961996年年6 6月月4 4日,阿利亚娜日,阿利亚娜5 5型火箭首次发射失败型火箭首次发射失败关于软件测试(3)double d_bh; short s_bh;double d_bh; short s_bh; sense_horizontal_velocity(&d_bh); sense_horizontal_velocity(&d_bh); s_bh = d_bh;s_bh = d_bh; / / OPER

6、AND ERROROPERAND ERROR颅革驮礁喇才荆岩行侵锗顶值摇拴仍符府户拆嫉坯治泅锦傅囱娟装友死评嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 20246软件测试的重要性软件测试的重要性q当前的软件开发方法当前的软件开发方法免疫力低免疫力低n软件是一种特殊的产品软件是一种特殊的产品n开发方法学因素开发方法学因素n人不能避免犯错误人不能避免犯错误n软件开发工具不完备软件开发工具不完备n维护费用昂贵维护费用昂贵q软件测试软件测试保证软件产品质量的重要手段保证软件产品质量的重要手段n软件测试能最大限度的发现软件中的错误,减少软件中残留的错软件测试能

7、最大限度的发现软件中的错误,减少软件中残留的错误,提高软件产品的可靠性误,提高软件产品的可靠性n通过软件测试可以验证软件功能、性能、可用性、可移植性、约通过软件测试可以验证软件功能、性能、可用性、可移植性、约束、限制等指标满足规定的需求束、限制等指标满足规定的需求n软件可靠性测试可得到软件可靠性指标软件可靠性测试可得到软件可靠性指标n软件测试为软件质量的定量评定提供依据软件测试为软件质量的定量评定提供依据关于软件测试(4)判菲嗅圭铃烘刀惩鳃赎优拎鞘东氛饵沙克怀崔侍夏痕设城渝赎庐惭厦怒乞嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 20248关于软件测试

8、(5)软件测试的发展历程软件测试的发展历程q软件测试并不是一开始就有的软件测试并不是一开始就有的n轻视轻视重视重视n简单简单复杂复杂n被迫被迫主动主动如何开展软件测试如何开展软件测试q测试是一个非常复杂的过程,不仅要掌握相应的技术测试是一个非常复杂的过程,不仅要掌握相应的技术和方法,而且还要懂得在什么时候、什么情况下使用和方法,而且还要懂得在什么时候、什么情况下使用什么方法,这就是软件测试的策略问题。另外,软件什么方法,这就是软件测试的策略问题。另外,软件测试的实施需要有效的管理,仅靠简单地组建测试队测试的实施需要有效的管理,仅靠简单地组建测试队伍或购买一两件测试工具是不够的。伍或购买一两件测

9、试工具是不够的。因此,技术、策略和管理构成了软件测试工程的三大要素。 淤泥禾联仑懦跑丰唐酥洱扩袜纸吕奉凌惜尿洼刻市湖敲庇羽退瞩飞罩铆森嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 20249测试与调试的关系测试与调试的关系q测试是检查软件发现问题,调试是分析软件解决问题测试是检查软件发现问题,调试是分析软件解决问题qq测试贯穿于整个软件生存期,调试主要是在软件开发过测试贯穿于整个软件生存期,调试主要是在软件开发过测试贯穿于整个软件生存期,调试主要是在软件开发过测试贯穿于整个软件生存期,调试主要是在软件开发过程中程中程中程中q调试具有随意性、不明确性,而

10、测试是明确的、可重复调试具有随意性、不明确性,而测试是明确的、可重复的的qq测试是全方位的,而调试是代码级的测试是全方位的,而调试是代码级的测试是全方位的,而调试是代码级的测试是全方位的,而调试是代码级的测试与调试不能相互替代,但相互支持,相辅相成测试与调试不能相互替代,但相互支持,相辅相成关于软件测试(6)冷侮噎讹胜封减焰迟壶铝楚畜萤毡倒延从轨啮骏封汉腔浅悯毅衰如坐功晕嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202410软件软件测试的基本原则测试的基本原则qGood-enough原则:原则:n权衡投入产出比,既不要不充分,也不要过分。权衡投入产

11、出比,既不要不充分,也不要过分。qPareto法则:法则:n在分析、设计、试验、复审等阶段能够发现和避免在分析、设计、试验、复审等阶段能够发现和避免80的的bugn而系统的软件测试能够找出其余而系统的软件测试能够找出其余bug中的中的80。q应尽早地开展软件测试。应尽早地开展软件测试。n问题发现得越早,解决问题的代价就越小。问题发现得越早,解决问题的代价就越小。q严格执行测试计划,排除测试的随意性严格执行测试计划,排除测试的随意性q测试是需要维护的测试是需要维护的n妥善保存测试计划、测试用例、出错统计和测试分析报告,妥善保存测试计划、测试用例、出错统计和测试分析报告,为维护提供方便为维护提供方

12、便q完全彻底的测试是不可能的。完全彻底的测试是不可能的。关于软件测试(7)峪谊霞眉趁徘肚陀毁腻朔垃姚韵幸示碘欣漓眉瘫形逗哟笆宿票限逆真尽弥嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 20241118 timesStatistical Paths = 1018假设每次测试用时假设每次测试用时1ns,全年不间断地测试,全年不间断地测试:T = 31.7 Years31.7 Years关于软件测试(8)T = 3600 x 24 x 365101810-9 x 潭和绕滴创毖瘤肿躲妹选吸辕羞益遭谈削扒融即帕祷岗瘟七奴豌录扑翘让嵌入式软件测试ppt课件嵌入式软

13、件测试ppt课件Thursday, August 1, 202412什么是什么是“错误错误”q我们通常用我们通常用“错误错误”这一术语来描述测试过程中发现的这一术语来描述测试过程中发现的各种问题各种问题q在没有特别加以说明的情况下,这是一个泛用的、模糊在没有特别加以说明的情况下,这是一个泛用的、模糊的概念,它指的可能是:的概念,它指的可能是:ndefect:缺陷。缺陷。 nbug : 差错。差错。nerror: 出错。出错。nfailure:失效。失效。关于软件测试(9)焕胁单氰瘩槽氯雄粘砸豆敦魔裸询梆前岔陇落雾七铂攻蛮呐譬罚兜帅球扎嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursd

14、ay, August 1, 202413测试设计测试设计q测试是需要设计的。因此测试是一项具有很大创造性的工测试是需要设计的。因此测试是一项具有很大创造性的工作,其工作量一点也不比软件设计小。作,其工作量一点也不比软件设计小。q软件测试与软件开发相比,并不低人一等。软件测试与软件开发相比,并不低人一等。q软件测试的创造性主要表现在:软件测试的创造性主要表现在:n测试方案选择测试方案选择n测试计划制定测试计划制定n测试用例设计测试用例设计n测试结果的分析测试结果的分析n测试过程的管理测试过程的管理n.关于软件测试(10)汛敖尽鄂捅温滔排哑辊绍恍郑筛厩吊于佯躇颂馅逝斤歼思共散即砸嚼决啪嵌入式软件测

15、试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202414测试用例测试用例q所谓测试用例,是一份关于所谓测试用例,是一份关于具体测试步骤的文档具体测试步骤的文档,用于指导测,用于指导测试的实际操作。试的实际操作。q测试用例可以是纯文本的说明文档,也可以是用脚本语言或高测试用例可以是纯文本的说明文档,也可以是用脚本语言或高级语言编写的一段代码。级语言编写的一段代码。q测试用例应当包括测试用例应当包括:n测试用例名称及标识n测试目的n测试条件及设置n输入数据要求n预期的输出结果n操作步骤测试用例的典型设计方法测试用例的典型设计方法q黑盒法黑盒法(Blackboxtes

16、ting)q白盒法白盒法(Whiteboxtesting)关于软件测试(11)瘪陋殊货涕储瞩董听僻幅后慧罩嚷大擦轿径褒拙抿约耿境赡轿氮秦肖武宦嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202415软件测试技术黑盒测试(1)黑盒测试的概念黑盒测试的概念q若被测程序与若被测程序与特定的功能特定的功能相联系,我们可以针对功能设计相联系,我们可以针对功能设计测试,以证实各功能完全可执行,同时在功能中寻找错误测试,以证实各功能完全可执行,同时在功能中寻找错误q把测试对象看做一个黑盒子,完全不考虑程序内部的逻辑把测试对象看做一个黑盒子,完全不考虑程序内部的逻辑

17、结构和内部特性,只依据程序的需求规格说明书,检查程结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否正确。序的功能是否正确。q黑盒测试又叫做功能测试或数据驱动测试。黑盒测试又叫做功能测试或数据驱动测试。q黑盒测试类似于中医:使用望、闻、问、切黑盒测试类似于中医:使用望、闻、问、切黑盒测试的目的黑盒测试的目的q是否有错误的或遗漏了的功能是否有错误的或遗漏了的功能? ?q在接口上,输入能否正确地接受在接口上,输入能否正确地接受? ? 能否输出正确的结果能否输出正确的结果? ?q是否有数据结构错误或外部信息访问错误是否有数据结构错误或外部信息访问错误? ?q是否考虑了软件的出错情况?是否

18、考虑了软件的出错情况?识舟凄瓮肿拆虑帧况溉体咆阜躁咙负铂羔桔锣涟黎兰杀呻神尿慎寺揽锡薄嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202416软件测试技术黑盒测试(2)黑盒测试的一个常用技巧黑盒测试的一个常用技巧打桩(打桩(StubStub)q用在隔离测试中,用以消除其他程序对被测程序的影响用在隔离测试中,用以消除其他程序对被测程序的影响q当被测程序调用其子模块时,可以使用模拟法,此时当被测程序调用其子模块时,可以使用模拟法,此时被被测程序并没有真正调用其他模块,而是从桩模块处得到测程序并没有真正调用其他模块,而是从桩模块处得到一个所需的值。这种技术

19、叫做打桩。一个所需的值。这种技术叫做打桩。黑盒测试常用方法黑盒测试常用方法q等价分割等价分割q边界值分析边界值分析倦狭坊书掠滓介扶儒盾济尾没坐腑运雌口幕至刁奎缨区废踏星恕壁姻会评嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202417常用黑盒测试方法常用黑盒测试方法等价分割等价分割q等价分割是一种典型的黑盒测试方法等价分割是一种典型的黑盒测试方法q等价分割等价分割将输入输出范围分割成多个等价的区域,将输入输出范围分割成多个等价的区域,然后然后从每个等价区中选取少数有代表性的数据做为从每个等价区中选取少数有代表性的数据做为测试用例测试用例。所谓等价,是

20、指:。所谓等价,是指:n在同一分割区内程序的行为是等价的在同一分割区内程序的行为是等价的n等价区之间的依赖性可以忽略等价区之间的依赖性可以忽略q输入和输出并非只是程序参数:输入和输出并非只是程序参数:n外部数据外部数据n时间时间n执行顺序执行顺序/ /记录记录n状态状态软件测试技术黑盒测试(3)扔柳局览戊氖蛛既衰秀硫摄唐酋捆彩鸡纠蛇期趁虎苑倍皇阜玉澡枣更孜遭嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202418常用黑盒测试方法常用黑盒测试方法边界值分析边界值分析q边界值分析也是一种黑盒测试方法,是对等价分割方法的边界值分析也是一种黑盒测试方法,是对

21、等价分割方法的补充补充q经验告诉我们,大量的错误是发生在输入或输出范围的边经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此界上,而不是在输入范围的内部。因此针对各种边界情况针对各种边界情况设计测试用例,可以查出更多的错误设计测试用例,可以查出更多的错误q使用边界值分析方法设计测试用例,首先应确定边界情况。使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值做为应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据测试数据,而不是选取等价类中的典型值或任意值做为测,而不是选取等价类中的典型值或任意值做为测试数据

22、试数据软件测试技术黑盒测试(4)错误聚集在边界上,缺陷隐藏在角落里!错误聚集在边界上,缺陷隐藏在角落里!挺钓咙希贸圈勤舷韭驱秧铺敦留仑芍仑吼传峡食梧桂方浙熔曾淫眠务捧契嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202419软件测试技术白盒测试(1)什么是白盒测试什么是白盒测试q若被测程序与若被测程序与特定的结构特定的结构相联系,我们可以针对结构设计测试,相联系,我们可以针对结构设计测试,以确保内部的以确保内部的“所有齿轮相吻合所有齿轮相吻合”,即软件的内部过程是合理,即软件的内部过程是合理的,是遵照规定执行的的,是遵照规定执行的q白盒测试又称玻璃盒

23、测试。把测试对象看作一个透明的盒子,白盒测试又称玻璃盒测试。把测试对象看作一个透明的盒子,充分利用其逻辑结构和有关信息,设计和选择测试用例。充分利用其逻辑结构和有关信息,设计和选择测试用例。q白盒测试又称为结构测试或逻辑驱动测试白盒测试又称为结构测试或逻辑驱动测试q白盒测试类似于西医看病,通过白盒测试类似于西医看病,通过X光、光、CT扫描等手段扫描等手段白盒测试主要用于白盒测试主要用于q结构测试结构测试q覆盖测试覆盖测试q静态分析也可以算作白盒测试的一种手段静态分析也可以算作白盒测试的一种手段匹渠靳扛乒捷掺咕拉甄座视涂臼均翔沈闯翰帧铰厕堑于了燎朱灾喀孩区盂嵌入式软件测试ppt课件嵌入式软件测试

24、ppt课件Thursday, August 1, 202420软件测试技术白盒测试(2)插装插装(Instrumentation)q插装又称软件探针,由测试插装又称软件探针,由测试工具自动加入,用于反馈软工具自动加入,用于反馈软件的执行信息。件的执行信息。q插装不影被测程序的运行插装不影被测程序的运行SoftwareProbe语句覆盖语句覆盖判定覆盖判定覆盖条件覆盖条件覆盖判定条件覆盖判定条件覆盖路径覆盖路径覆盖弥俺希捕儿儡政昭伶蚌媚酗钟谐赠榔律罚羔亚康埂亢膳寸起渣氮伟狗柜级嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202421软件测试技术白盒测试

25、(3)典型的白盒测试典型的白盒测试基本路径测试基本路径测试qThomas McCabe首先提出n从程序的结构入手,分析、计算模块的复杂程度从程序的结构入手,分析、计算模块的复杂程度McCabe圈复杂度圈复杂度(=基本路径数)基本路径数)n确认模块的一组确认模块的一组基本路径基本路径,再根据这些基本路径设计测再根据这些基本路径设计测试用例,做到基本路径覆盖。试用例,做到基本路径覆盖。n圈复杂度可以通过圈复杂度可以通过程序流图程序流图得出得出q基本路径测试是结构化测试的理论基础牛沸婿荤再幕奠箩郧脖空挛绩害沦芬浴侣抄堑马湛吗助淘巾犀尹柒锋煞痪嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thurs

26、day, August 1, 202422代码覆盖流程 A流程 B哪个函数更复杂?哪个函数更复杂?代码覆盖与复杂度不成比例代码覆盖与复杂度不成比例软件测试技术白盒测试(4)2 2个测试个测试2 2个测试个测试基本路径测试的意义基本路径测试的意义 如果代码覆盖率=100% 各需多少测试?俐井将情疡讨券碧稻锦好完断掀诊拼能犹蚂荣种佐兰厩舒瓤悠拨贺纂疾瑶嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202423分支覆盖需要多少个测试可以做到100%覆盖?分支测试 #1分支测试 #2分支测试 #3分支测试 #4软件测试技术白盒测试(5)基本路径测试的意义基本路

27、径测试的意义恍猖赫捉绥这快框蹬筒垢极秋隔嘘婚听术姑丢位僧侣耸腑索罗韦幅廊姜啮嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202424基本路径覆盖(TRUE and FALSE)(FALSE and TRUE)(TRUE and TRUE)任何其他路径任何其他路径 ( (如如 FALSE and FALSE) FALSE and FALSE) 可可由基本路径组合得到由基本路径组合得到+-= (FALSE and FALSE)软件测试技术白盒测试(6)基本路径测试的意义基本路径测试的意义基本路径数等于模块的基本路径数等于模块的基本路径数等于模块的基本路径

28、数等于模块的McCabeMcCabe圈复杂度圈复杂度圈复杂度圈复杂度 v(G) v(G)卤制滴申管聋缺实堕酸趁姬港碳斟无捂嘶炕诲镊祟胳立怀鹤令歇阴兑侠研嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202425回归测试q软件更动后重新进行的测试软件更动后重新进行的测试=既要测试变更部分既要测试变更部分, ,也要测试受影响部分也要测试受影响部分q关键在决定哪些测试必须被重复关键在决定哪些测试必须被重复q保证测试工作的可重现性保证测试工作的可重现性q尽量利用工具,提供回归测试的自动化水平尽量利用工具,提供回归测试的自动化水平编编程程测试测试发现错误发现错误

29、更改更改回归测试回归测试软件测试技术回归测试谊夫门羊满钒宋胰丰扮虏郭宰牢撮瞻潮稚日聂酒赐赊滥辩僵绩贬聘主至毋嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202426软件测试技术静态分析(1)静态分析又称静态测试静态分析又称静态测试静态测试是不动态执行程序代码而寻找程序代码中可能存静态测试是不动态执行程序代码而寻找程序代码中可能存在的错误或评估程序代码质量的过程。在的错误或评估程序代码质量的过程。静态测试可以由人工进行,充分发挥人的逻辑思维优势。静态测试可以由人工进行,充分发挥人的逻辑思维优势。可以借助软件工具自动进行可以借助软件工具自动进行阿承派熊董

30、咖崇还钉撩榴摇岛用荣寓善萝泅掩这圆他褥轴硒耘函锭靖攀敝嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202427软件测试技术静态分析(2)静态分析的主要方法和内容:静态分析的主要方法和内容:q代码审查,这是软件质量保证(代码审查,这是软件质量保证(SQASQA)的重要内容)的重要内容q代码统计分析代码统计分析q软件工程度量软件工程度量nMcCabe 复杂度nHalstead 复杂度n.改玲贿烁奉梨者急失丽瑶锤稻滦刨蚕事捉坯呕靶通忠刮纬俏爆檀翰披繁特嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202428 嵌入

31、式软件测式的基本方法嵌入式软件测式的基本方法嵌入式软件测式的基本方法嵌入式软件测式的基本方法q拿来主义拿来主义充分借用充分借用PC软件的测试方法软件的测试方法n静态/动态n白盒/黑盒n单元测试/集成测试/系统测试nq全数字模拟测试全数字模拟测试q交叉测试(交叉测试(Host/Target测试)测试)q真实环境验证真实环境验证嵌入式软件测试方法(1)硒持她社努粤孩悔除瘟柏掠申绷菊愁袭饯赁虚祁睁改崭曾拥撩潜掠睁占魁嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202429嵌入式软件测试方法(2)全数字模拟测试全数字模拟测试q采用数学平台的方法,将嵌入式软件

32、从系统中剥离出来,采用数学平台的方法,将嵌入式软件从系统中剥离出来,通过开发通过开发CPUCPU指令、常用芯片、指令、常用芯片、I/OI/O、中断、时钟等模拟、中断、时钟等模拟器在器在HOSTHOST上实现嵌入式软件的测试上实现嵌入式软件的测试q主要特点主要特点n与嵌入式硬件平台脱钩n操作简单,可以借鉴常规的软件测试方法n适用于功能测试n有局限性暴片朔飞俘铣稍礁央潦蓑咳漂契挑压龙椰许七问笔桥镊羔伯银及谁朴嘶碳嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202430嵌入式软件测试方法(3)全数字模拟测试的局限性全数字模拟测试的局限性q通用性差,使用不同

33、语言编写的嵌入式软件,需要不同通用性差,使用不同语言编写的嵌入式软件,需要不同的仿真程序来执行的仿真程序来执行q实时性与准确性难以反映出嵌入式软件的真实情况,测实时性与准确性难以反映出嵌入式软件的真实情况,测试出与时序有关的故障价值不大。试出与时序有关的故障价值不大。q维护统一、精确的系统时钟,理顺时序关系相当困难,维护统一、精确的系统时钟,理顺时序关系相当困难,特别是当并发的事件要求一定的同步关系时。特别是当并发的事件要求一定的同步关系时。q开发成本高。设计出一个能进行系统测试的的环境代价开发成本高。设计出一个能进行系统测试的的环境代价太大太大q只能作为嵌入式软件测试的辅助手段只能作为嵌入式

34、软件测试的辅助手段兑外舜粒归朔漾巡奢耍嗅姥殊玲海姿替沪深埂害冤功藉荒预氢猛炊饼捂未嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202431嵌入式软件测试方法(4)交叉测试交叉测试(Host/Target测试测试)q与目标环境无关的部分在与目标环境无关的部分在PCPC机上完成机上完成n充分利用高级语言的可移植性充分利用高级语言的可移植性n借鉴常规的软件测试方法借鉴常规的软件测试方法n与模拟测试不同与模拟测试不同q与硬件密切相关的部分在与硬件密切相关的部分在TargetTarget上完成上完成n需要调试环境支持需要调试环境支持n测试工具需要支持目标环境测

35、试工具需要支持目标环境q最后在目标环境中确认最后在目标环境中确认主机平台主机平台嵌入式系统嵌入式系统调试环境调试环境洗末赎澎泪舞峡贺俱矿贷英侯涨瞎寡汇激欧残血肾珍穗炙圈紧稠枷佯循爱嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202432嵌入式软件测试方法(5)交叉测试的特点交叉测试的特点q将大部分工作转移到将大部分工作转移到PCPC平台上,在硬件环境未建好或调平台上,在硬件环境未建好或调试工具缺乏时就可以开展试工具缺乏时就可以开展n可以充分地“拿来主义”q适用于高级语言,如适用于高级语言,如C C,C+C+q操作方便,测试成本较低。操作方便,测试成本

36、较低。q实时性受调试环境的制约实时性受调试环境的制约q目标环境中测试时要占用一定的目标资源目标环境中测试时要占用一定的目标资源q注意注意目标环境和主机环境的差异:目标编译器的目标环境和主机环境的差异:目标编译器的bugbugq目标码的验证目标码的验证粮搂岸箔婶保键吃弹吕杀镀认踏赖抒蚕箩观襄课浪靴昧阑题酸煤钵卵摹倘嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202433如何开展交叉测试(如何开展交叉测试(Host/TargetHost/Target测试)测试)n选用带有选用带有目标支持包目标支持包( (Target PackageTarget Pack

37、age) )的软件测试工具的软件测试工具n确定哪些模块与硬件无关,哪些与硬件相关确定哪些模块与硬件无关,哪些与硬件相关n配置相应的调试环境和目标环境配置相应的调试环境和目标环境n分别进行分别进行HostHost和和TargetTarget测试测试nHostHost:源代码:源代码+ +测试用例测试用例-编译连接编译连接-执行执行-测试结果测试结果nTargetTarget:源代码:源代码+ +测试用例测试用例+ +目标包目标包-编译连接编译连接-下载下载-执行执行-反馈测试结果反馈测试结果交叉测试的嵌入式调试环境交叉测试的嵌入式调试环境qqSimulatorSimulatorqqEmulato

38、rEmulatorn nBDM/JTAG EmulatorBDM/JTAG Emulator嵌入式软件测试方法(6)咐诛钠夹句瞻武浦琢森命迸妆缺豆概牺瓜尺癣执见屠穆捏寞孔崭贾芽檄将嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202434“拿来主义拿来主义”q静态分析很重要静态分析很重要Watts S. Humphrey的说法n很多软件工程师认为动态测试比静态测试更重要很多软件工程师认为动态测试比静态测试更重要并非如并非如此此n有经验的软件工程师平均每写有经验的软件工程师平均每写10001000行代码将会出现行代码将会出现100100个错误个错误n80

39、%80%的软件错误归咎于对于编写语言的错误使用的软件错误归咎于对于编写语言的错误使用, ,而这些错误而这些错误往往不是功能测试能解决的往往不是功能测试能解决的n因此因此, ,软件工程师应该消除错误软件工程师应该消除错误, ,找出根源找出根源, ,预防再次发生同样预防再次发生同样的问题的问题q静态分析的重要内容静态分析的重要内容代码规则检查代码规则检查n实施简单、方便实施简单、方便无需执行程序,与嵌入式环境无关无需执行程序,与嵌入式环境无关n早期介入,代价小,见效快早期介入,代价小,见效快n有利于降低动态测试的难度有利于降低动态测试的难度n有利于养成良好的编程习惯有利于养成良好的编程习惯n可以执

40、行自定的规范可以执行自定的规范嵌入式软件测试方法(7)脑胯莽吕炮都骚赊使驶挺安颤酚醒桂业鲁砧沂啦设儡雀猿室楼臼糯搜御摹嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202435“拿来主义拿来主义”q动态测试不可少动态测试不可少动态测试是验证软件功能最直接、最有效的手段n通过运行被测程序验证其功能、性能,检查代码的执行情况n与静态分析相辅相成n需要事先设计详细、完备的测试用例n可用白盒、黑盒等方法n工作量较大、较枯燥q动态测试的主要内容动态测试的主要内容n功能、性能验证,是否符合需求定义n代码覆盖。哪些代码执行了,哪些没有执行,其比例如何嵌入式软件测试方

41、法(8)靠郎仁迢慷釉练紊绝熔意款选舒猜仆授咯副赏面档奉敖凉爹紧滇肇琴消靴嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202436“拿来主义拿来主义”q白盒黑盒相辅成白盒黑盒相辅成n白盒测试与黑盒测试是软件测试最常用、最常规的两种技术q白盒测试白盒测试n把测试对象看作一个透明的盒子,测试人员从其逻辑结构入手,设计和选择测试用例,对路径、控制结构、数据流等进行测试n通过插装检查程序的状态,确定是否与预期的状态一致n侧重于代码运行的过程q黑盒测试黑盒测试n把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构,只依据其需求定义,检查程序运行的结果n

42、多用于功能测试和性能分析n在程序的接口上进行n需要设计“驱动”和“打桩”嵌入式软件测试方法(9)似翼亦赋画惮瓢散桌检岗店箩钝扦艘冤砰殖凌铲刹停撮种壬胜学憨奖淖裙嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202437“拿来主义拿来主义”q单元集成两步走单元集成两步走单元测试和集成测试是软件测试的两个阶段q单元测试单元测试n将被测软件分解为单元,逐个测试n单元测试需要从程序的内部结构和功能出发设计测试用例。单元测试需要从程序的内部结构和功能出发设计测试用例。n多个模块可以平行地独立进行单元测试多个模块可以平行地独立进行单元测试n可用白盒、黑盒等方法q集

43、成测试集成测试n在单元测试的基础上,将所有模块按照设计要求组装起来测试n主要测试内容接口间参数传递集成的功能实现模块间的影响嵌入式软件测试方法(10)论肝闰察赵秃助笔婆刷粮因何尿迅雇脚铜休定撵墨徽醇馋痊载殉温腑静粥嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202438先静后动,从小到大,由黑到白先静后动,从小到大,由黑到白q先静态,后动态n从代码规则检查做起n测试开展得越早,付出的代价就越小n静态分析简单、方便,成本低、见效快n静态分析为动态测试打下良好基础n大大降低了测试的成本q先单元,后集成q单元测试是集成测试的基础q单元测试得越好,集成测试的

44、工作量就越小q先黑盒后白盒q先验证软件功能是否满足需求q后验证程序覆盖率,补充测试软件测试策略(1)缓罩铬渗关能顽沏康轩涩奇朴克愧涂扬孝纫钞会泳吵隆涎苇劲北舜班疟亩嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202439质量分析,事半功倍通过改善代码的结构来分析、改进软件的质量充分应用结构化测试技术 q软件模块的圈复杂度和逻辑结构能客观地反映软件的质量软件模块的圈复杂度和逻辑结构能客观地反映软件的质量n逻辑越“复杂”,就越容易出错。n结构越“良好”,代码就越可靠q代码质量分析的好方法代码质量分析的好方法结构化测试结构化测试q从结构入手分析代码的复杂程

45、度q逻辑复杂度定量化q客观q有理论基础n复杂度与代码出错的关联性非常强n指导测试的执行n指出代码质量改进的方向嵌入式软件测试策略(2)也霄照绸掂墅构事趁琐嘿诸休记钠泉忿刘涝扯丽邹晶丈呸钳秘止果椿贯芥嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202440交叉测试,因地制宜交叉测试,因地制宜嵌入式软件测试嵌入式软件测试嵌入式软件测试嵌入式软件测试Compilation / Link EditionTarget PackageHostSimulatorEmulatorSpecific TargetExecution报告分析报告分析Test Reports

46、被测代码被测代码测试用例测试用例软件测试策略(3)舱献需赵凰寐裙骆挑因刑茸瞬仕领租聘呻涣汝踏谣驰牲妹屏型载殖榆诚次嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202441选好工具,抓好管理选好工具,抓好管理n工欲善其事,必先利其器工欲善其事,必先利其器n通常工具是必需的,但不是万能的通常工具是必需的,但不是万能的n根据测试需要和工具的特长进行选择根据测试需要和工具的特长进行选择n使用测试工具带来的好处使用测试工具带来的好处n客观,准确,无感情色彩n可长时间工作,不会疲劳n高效、权威n减轻人的工作量,但不能完全代替人n测试需要管理测试需要管理n测试要长

47、期化、常态化、系统化n测试需要维护、更新n回归测试n过程管理n缺陷追踪嵌入式软件测试策略(4)妈厦柔旅酣堕钦莽赔吱馆元鸡穴曼舜张抢押眷猿虫籍啄填雌牛诡厌闭雅约嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202442软件测试完整解决方案ReqtifyDOORSCC/CQT-Plan需求追踪管理配置管理需求追踪管理配置管理RT-BuilderVisSim建模仿真验证建模仿真验证CasePlayerQA C/C+KlocworkCantata+TessyMcCabe IQ代码质量代码质量System VerifyICEbladeRational Test

48、suite系统验证系统验证窥汛桩构桨筏票媳采聚踊琐电茂轨盅魂铰缄乐秋裁掖亨域萌凹阔圾捕狮庇嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202443嵌入式常用软件测试工具介绍(1)各类各类MPUMPU汇编源程序汇编源程序嵌入式嵌入式C C源程序源程序和头文件和头文件打印定制最合适的布局定制最合适的布局MSWordHTML组合各类文档、源文件的专用阅读器CasePlayer2单击图标便可完成C/C/汇编选项汇编选项参数文件参数文件规格说明书规格说明书-流程图-模块构造图-模块规格说明书-模块一览表-结构体规格说明书-结构体一览表定义解析方法CasePla

49、yerq面向嵌入式开发的程序规格说明书制作工具面向嵌入式开发的程序规格说明书制作工具qCasePlayer2CasePlayer2是一种可以解析汇编、是一种可以解析汇编、C C语言(语言(ANSI CANSI C或非或非ANSI CANSI C)的源)的源代码,并且制作流程图以及模块规格说明书的制作工具代码,并且制作流程图以及模块规格说明书的制作工具高伍咽一半堡妇缠庙郝加摸径材坛匝杏恫孪阉按蓝号欲赢惋朽膏惰磊疚祈嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202444嵌入式常用软件测试工具介绍(2)PRQAPRQA代码规则检查代码规则检查q英国Pro

50、gramming Research公司出品q代码规则检查n分别针对C, C+, FORTRAN、JAVAn支持MISRA C/C+等国际标准,及用户自定义的编程规范qPRQAPRQA能发现能发现n违背程序编写标准的问题违背程序编写标准的问题n发现程序中不安全发现程序中不安全, ,不明确和模糊的部分不明确和模糊的部分n找出程序中不可移植部分找出程序中不可移植部分n违背程序编译格式的问题违背程序编译格式的问题n 但不可以检测程序的实际功能的正确性但不可以检测程序的实际功能的正确性qPRQAPRQA还能还能n提供多达提供多达4444种业界广泛接受的度量种业界广泛接受的度量n提供多种可视化输出,包括函

51、数结构图、函数调用树、外部参考、提供多种可视化输出,包括函数结构图、函数调用树、外部参考、头文件关联、统计度量分析头文件关联、统计度量分析友贯厄漫阻精倒妄将闹搂谁嘉扳扯逞少炬兜孝舒尧极碰鄙还住届血距验澡嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202445嵌入式常用软件测试工具介绍(3)QAC/C+代码规则检查代码规则检查q规则可以选择、定制、汉化规则可以选择、定制、汉化q简单易用,见效快简单易用,见效快田糜轧鞋枷愉膏写斋瘦诊袍乖驭熏鄂歇幌散挨劝窒窜钳化玩春畜获宦抽罕嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August

52、1, 202446嵌入式常用软件测试工具介绍(4)TessyTessy自动单元测试自动单元测试q公司公司: :德国德国Hitex/RazorcatHitex/RazorcatqC/C+C/C+语言目标系统的单元测试(动态测试)语言目标系统的单元测试(动态测试)q分析源代码识别变量和类型,提供输入和输出的接口分析源代码识别变量和类型,提供输入和输出的接口q自动生成驱动和打桩自动生成驱动和打桩q管理测试用例,支持回归测试管理测试用例,支持回归测试q标准的测试报告标准的测试报告q测试驱动是基于测试驱动是基于Master/SlaveMaster/Slave结构,允许无限多的用例和结构,允许无限多的用例

53、和很少的目标系统资源很少的目标系统资源q各种数据类型智能分析,包括指针的支持各种数据类型智能分析,包括指针的支持q批处理功能可以在批处理功能可以在GUIGUI和命令行下完成和命令行下完成q与嵌入式开发环境的无缝集成,占用资源很小与嵌入式开发环境的无缝集成,占用资源很小q支持支持MC/DCMC/DC测试测试q支持低端单片机支持低端单片机件荧揪趋耻标鹰嫩昼吾可显蝗烽娃逐娱冬屯宵祁晌工案具靠自萧噶漾错肥嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202447嵌入式常用软件测试工具介绍(5)TessyTessy支持的嵌入式环境支持的嵌入式环境Compiler

54、 manufacturer Architecture ARM / ADSARMCosmic68HC12, 68HC08, ST7Fujitsu / FFMC16MB90xxxGNU ARMARMGNU gccHost-PCGreenhillsV850HighTecTriCoreIAR68HC12,AVR, M16C, M32C, 78k0, V850Keil 8051, C16x/ST10, XC166Mentor Graphics / Microtec68kMetrowerks68HC12, 68HC08, ST7NationalCR16NECV850*TaskingC16x/ST10, T

55、riCore, M16C*, XC166Texas InstrumentsTMS 470, TMS 320Wind River Systems / Diab PowerPC 食荧夷游蛛凑暇几砾捆很丫缀张深诣沙校掉魁削敬路臭白疟拉筏局地列旬嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202448嵌入式常用软件测试工具介绍(6)McCabe IQMcCabe IQ结构化测试结构化测试/ /质量分析质量分析q美国McCabe & Associates公司出品qMcCabe IQ适用于软件测试的不同阶段,主要构成:nMcCabe QA(质量分析)nMcCab

56、e Test(追踪与测试)nMcCabe Reengineering(再工程)。源代码剖析技术源代码剖析技术(C, C+, Java, Visual Basic, COBOL, Fortran, Ada, PL/1)McCabe IQ 架构架构(度量, 数据, 可视化, 测试, 应用接口)QAMcCabe QAMcCabe ChangeTestMcCabe TestMcCabe TestCompressReengineerMcCabe SliceMcCabe CompareMcCabe Data章再募匆粕涣卉义筏晶秽鞠伴手侮呕炒邯嘉垮垄赛绎武唐壳甸夜吧清扔侮嵌入式软件测试ppt课件嵌入式软件测

57、试ppt课件Thursday, August 1, 202449嵌入式常用软件测试工具介绍(7)Cantata+Cantata+单元测试单元测试/ /集成测试集成测试q英国IPL公司出品nCantata+ for C/C+nAdaTEST for Ada83/95q主要功能主要功能n动态测试动态测试Does the code meet its specificationDoes the code meet its specification?n静态分析静态分析Does the code meet coding and complexityDoes the code meet coding an

58、d complexitystandards?standards?n覆盖分析覆盖分析How much of the code been tested?How much of the code been tested?q主要特点主要特点n自动脚本技术,自动生成驱动程序和桩模块自动脚本技术,自动生成驱动程序和桩模块n独特的独特的WrappingWrapping技术,完全控制程序的接口,做到真正的逆向测试技术,完全控制程序的接口,做到真正的逆向测试n同时进行动态同时进行动态/ /静态静态/ /覆盖测试。用户可自定义通过覆盖测试。用户可自定义通过/ /失败标准失败标准n可支持中文界面可支持中文界面n支持

59、嵌入式软件测试支持嵌入式软件测试印骇捐冷绍呛材刹苞衣楷稻健臭赃带诡绸漆禁纵涡坟奋掀踢饲筷寅兔室旋嵌入式软件测试ppt课件嵌入式软件测试ppt课件Thursday, August 1, 202450嵌入式常用软件测试工具介绍(8)KlocworkKlocwork软件缺陷检查软件缺陷检查加拿大加拿大KlocworkKlocwork公司出品公司出品能够分析能够分析C C、C+C+、C#C#和和JavaJava代码;代码;能够发现的软件缺陷种类:能够发现的软件缺陷种类:q软件质量缺陷q安全漏洞方面的缺陷q对软件架构、编程缺陷的违反情况对软件进行可视化的架构分析、优化对软件进行可视化的架构分析、优化对软件进行各种度量分析对软件进行各种度量分析能够提供与多种主流能够提供与多种主流IDEIDE开发环境的集成开发环境的集成能够分析上千万代码行的超大型软件能够分析上千万代码行的超大型软件 霓案魂壤若句聚电兴承质猴两鬃铸煌谊紫迄舰夏搽边婪旋频两报啦玄稀扣嵌入式软件测试ppt课件嵌入式软件测试ppt课件51TM谢谢大家谢谢大家酋易哨敷川椭克翔溢宵哩闭王磁戳归笆腐叙却朽绰翘铁喀搐钙费医焰碾舞嵌入式软件测试ppt课件嵌入式软件测试ppt课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号