ImageVerifierCode 换一换
格式:PPT , 页数:104 ,大小:2.01MB ,
资源ID:1613853      下载积分:18 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/1613853.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(嵌入式软件白盒测试技术.ppt)为本站上传会员【1587****927】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

嵌入式软件白盒测试技术.ppt

1、领测技术(EzTester)简介嵌入式软件白盒测试技术第4代白盒测试方法的理论与实践Approved by WAYNE Work StudioAt 2007/05/18讲师介绍讲师:WayneChan(wayneezT)任职经历p曾在HW公司工作8年(19972004),先后担任测试技术经理、公司测试系统工程师、公司测试技术总架构师等职务,是HW公司白盒测试技术体系的缔造者。p2005年2007年,担任测试技术咨询专家,为众多公司提供测试技术专项咨询服务,帮助企业构建和推广测试技术体系。专业背景p在嵌入式软件白盒测试领域拥有15年从业经验,具备丰富的测试技术背景和测试技术管理经验。p从1997

2、年开始主导HW公司交换机产品实践白盒测试,是国内较早在测试技术领域有研究的专家。p主导HW公司白盒测试平台体系的研发,历经五年最终在全公司形成规模应用(超过5000人使用)p业界第四代白盒测试方法的主要倡导者,该方法论已被维普资讯纳入科技文献检索,所涉及数项核心技术已申请美国专利。p主导规划了CSE测试脚本语言和VcTester嵌入式软件白盒测试体系,其中CSE是中国第一个具备世界水平的脚本语言体系。p2000年被派往印度主管测试工具合作项目,与印度infosys、BFL等公司开展合作,深入学习了印度软件业的测试技术和方法。目录n课程介绍n单元一:白盒测试基本概念n单元二:嵌入式白盒测试遵循的

3、理念-n单元三:嵌入式软件测试设计技术n单元四:嵌入式软件测试评估技术n单元五:第4代白盒测试方法n单元六:如何组织嵌入式软件白盒测试本课程目标:理解白盒测试技术的演进过程与发展趋势深入理解嵌入式软件白盒测试的主要困难与解决对策掌握第四代白盒测试方法论,包括3个关键域、9个关键特征掌握如何实施嵌入式软件在线白盒测试?包括在线测试驱动、在线脚本桩、在线测试改进等掌握如何开展嵌入式软件的持续集成测试?掌握如何有效设计白盒测试用例,如何评价白盒测试的完备性?掌握如何对白盒测试问题进行分析,找出问题根源?掌握如何进行嵌入式软件白盒自动化测试规划和设计,确保测试脚本的持续重用了解业界都有哪些主流的嵌入式

4、白盒测试工具,掌握如何选型?了解业界优秀公司嵌入式软件白盒测试的方法和经验学习目标课程难度偏高课程风格HighMiddleLow注重实践性两个重点做正确的事!正确的做事!目录n白盒测试基本概念什么是白盒测试?白盒测试在研发全流程中的位置单元测试与集成测试是什么?不是什么?企业不做白盒测试的主要原因白盒测试三种境界为什么要做白盒测试?实施白盒测试的差异性验证白盒测试抽象模型嵌入式软件的白盒测试特点n嵌入式白盒测试遵循的理念n嵌入式软件测试设计技术n嵌入式软件测试评估技术n第4代白盒测试方法n如何组织嵌入式软件白盒测试什么是白盒测试?n白盒测试是一种“软件测试”n狭义“软件测试”的定义1990年的

5、IEEE/ANSI标准(IEEE/ANSI,1990Std610.12-1990):在既定的状况条件下,运行一个系统或组件,观察记录结果,并对其某些方面进行评价的过程。1979年GlenfordJ.Myers在TheArtofSoftwareTesting中定义:软件测试是为了发现错误而运行程序的过程。n广义“软件测试”由验证、确认、测试3个方面组成验证:检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保软件会正确无误地实现软件的需求,开发过程是沿着正确的方向进行的。确认:评估将要开发的软件产品是否正确无误、可行和有价值的。确认意味

6、着确保一个待开发软件是正确无误的,是对软件开发构想的检测。测试:与狭义“软件测试”概念一致。V模型n软件验证与确认(VerificationandValidation,简称V&V)验证针对各步骤的产品设计,确认针对预设的产品构想W模型nW模型:全过程的、同步的、全方位的测试模型案例:SVVP计划任务什么是白盒测试?n狭义的“白盒测试”包括:单元测试与集成测试n广义的“白盒测试”包括:从设计、编码,再到单元测试、集成测试各阶段中针对可见源码的V&V活动代码检视(代码审查)属不属于白盒测试?软件编译报错后修改代码,属不属于白盒测试活动?白盒测试活动最早出现在哪个开发阶段?n“白盒测试”是与“黑盒测

7、试”相对的一个概念黑盒测试是被测代码不可见的测试,包括功能测试、验证测试等白盒测试是被测代码可见的测试,包括单元测试、集成测试、部分协议测试等n白盒测试基本过程编写测试用例:查看修改变量,调用函数,验证测试结果查看代码覆盖率,改进测试设计生成正式的测试报告案例:D项目集成测试的困惑某固网产品D项目主要负责话务统计的实现,该项目在头脑灵活、精明强干的明星经理肖某带领下,各项工作都很出色,需求调研很深入,还借鉴了业界优秀的话统模型,正当D项目一帆风顺的运行到模块集成测试,肖经理突然发现:精心构造话统模型却难以测试。这种多业务分解,基于事务处理,又是多线索的统计模型很难按常规方法(甚至是调试方式)去

8、测试,而略过集成测试直接做系统测试,就意味着要消耗大量精力在各种组合条件的测试用例设计,以及手工测试操作上。肖经理犯愁了,总觉得前面的项目运作缺了点什么白盒测试在研发全流程中的位置白盒测试在研发全流程中的位置单元测试与集成测试是什么?不是什么?nIPL对单元测试的描述单元测试是针对与其它部分隔的、独立的单元所展开的测试。在不同编程环境下单元的含义有所不同,比如在C语言中,被测单元是常规函数或子过程,在C+语言中,单元是指一个类,在Ada语言中单元是指函数或过程,或者是AdaPackage,而在4GL语言(如Delphi)中,单元还可以是一个菜单、按钮、某个显示单元等。n单元测试:针对程序中基本

9、组成部件的测试关注的被测单元应是分隔开的、独立的被测单元不只是函数对象也可是手工的、不可重复的测试n单元测试不是:源码不可见的测试被测范围不确定的测试n集成测试:比单元测试处于更高级别某些情况下,被测对象与单元测试无明显界限集成测试区别于单元测试主要是:被测对象的表现特征不同,及由此带来测试方法有所不同。企业不做单元测试的原因一个游戏:将小车开出谜宫语录在恰当的时间以恰当的方法做恰当的事情!孔夫子语录:IhearandIforget.IseeandIremember.IdoandIunderstand.讨论:白盒测试的问题与难题大家在做单元测试与集成测试过程中,都遇到过哪些问题?按重要性排序列

10、出前10条。白盒测试三种境界混沌状态:1.只有零星白盒测试实践,缺少成功案例2.各成员对白盒测试普遍认识模糊3.大家都忙于救火,系统测试的投入尚无保障,代码级测试无投入有序状态:1.已有多个项目成功推行单元测试,已成可拷贝的活动2.有一批人对白盒测试具有清晰认识,领导层对实践的前景既不悲观,也不盲目乐观3.设立专门机构推动UT与IT,白盒测试活动也有流程保障4.少数项目有显著效果,多数项目稍有成效,个别项目是失败的自组织状态:1.时时测试、持续测试已成风气2.白盒测试已成员工的普遍行为与自发行为3.有所为有所不为白盒测试三种境界处于混沌状态贵在尝试!处于有序状态贵在坚持!处自组织状态贵在自知!

11、子曰:吾十有五,而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十从心所欲,不逾矩。为什么要做白盒测试?案例公司(ABC)遗留缺陷率:14BUG/KLOCUSA国防部(DOD)遗留缺陷率:0.01BUG/KLOC为什么要做白盒测试?一个比喻:清洗面包机为什么要做白盒测试?由CapersJones与McGraw-Hill的统计表明:若将问题发现、定位与解决都计算进去,单元测试效率最高,是集成测试的2倍,是系统测试的3倍。为什么要做白盒测试?白盒测试能较彻底解决编码阶段引入的问题需求分析概要设计详细设计编码单元测试集成测试系统测试验收测试实施白盒测试的差异性验证两个性质接近的项目(项目

12、A与项目B),项目A没做正规白盒测试,仅拿调试当测试,项目B实施规范的白盒测试,这两项目结束时分别按问题根源对全部BUG作统计。从“白盒测试问题比例”与“逻辑问题比例”可看出:不做白盒测试必然导致大量问题漏测项目A:缺少规范的白盒测试项目B:规范测试案例:问题根源分析案例:ODC问题根源分析ODC来源于IBM,OrthogonalDefectClassification白盒测试抽象模型嵌入式软件的白盒测试特点n开发语言以C语言为主体n运行环境比较复杂(驻留于各式单板,与各种IO设备打交道)n实时、多任务n对于通信软件:代码量大、复杂程度高n产品设计要为测试环境构造提供条件n要挖掘所有潜力来提高

13、测试设计的效率n对于通信软件:测试体系要开放,与其它工具配合使用环境敏感效率苛刻目录n白盒测试基本概念n嵌入式白盒测试遵循的理念为什么尽早测试?为什么持续测试?在线测试驱动与在线测试桩在线测试设计、运行及改进白盒测试的粒度与可见性白盒、黑盒,抑或灰盒调试是不是测试?检视器的概念n嵌入式软件测试设计技术n嵌入式软件测试评估技术n第4代白盒测试方法n如何组织嵌入式软件白盒测试为什么尽早测试?阶段阶段需求需求设计设计编码编码单元测试单元测试验收测试验收测试交付后维护交付后维护纠正费用纠正费用15102050200越早测试付出代价就越低案例:什么是持续测试?案例:一次测试与持续测试某通信产品在V1版本

14、编码完成时,进行过规范的单元测试活动,之后V2、V3要不断增加功能、修改功能,就放弃单元测试了。当V3最后市场交付时统计发现,相对V1版本,代码修改量已达到40%。QA从其中两个模块随机抽取100个问题单做缺陷分析,结果发现:第一个模块有50%的问题是在V1版本单元测试结束后引入的,而另一模块也有30%问题是单元测试后引入的。为什么持续测试n持续集成的典型特征是:写一点测一点 Object Mentor:我们在做任何事情时(无论 是写测试、写产品代码还是重构),都要保 证系统能够一直运行。运行测试的间隔时间 是秒或者分钟级的。即使是10分钟都太长了。n反映了一种质量优先的策略微软的“每日构建”

15、与“冒烟测试”IBM的“渐增Build测试”XP的持续集成、测试先行等实践n持续集成对“软件稳定性”实现重用查错、改错的效率提高了被测系统随时可运行,可展现功能,降低风险时时可测试时时做测试案例:Joel测试案例:Joel测试改进代码的12个步骤演示:在线测试演示:在线测试设计(在线测试驱动、在线测试桩)在线测试调试在线测试执行在线测试评估改进全局变量/函数:vd.xx 类型定义:vt.xx/vt.struct.xx/vt.union.xx拉通测试小循环结果评估用例设计用例调试测试执行白盒测试的粒度与可见性n关注函数接口还是关注函数内部代码行?考虑因素:n测试设计的工作量n用例维护的工作量n是

16、否必须n基于接口做测试设计,还是基于代码行做设计?白盒、黑盒,抑或灰盒n白盒测试设计形式对照源码编写测试用例看到哪行覆盖,哪行未覆盖,来优化测试用例对照源码调试测试用例,并定位测试问题依照源码维护测试用例n黑盒测试操作方式依据设计规格用例脚本只关注测试运行环境与输入输出接口一键运行,没有单步跟踪调试是不是测试?n调试与测试的共性目的:查错或确认无错构造运行环境:配置数据、修改变量、模拟桩判别是否预期:过程表现、结果表现n调试与测试的差异可重复性粒度与可维护性n3个概念:调试、检视、测试检视器n检视器介于调试器与测试器之间是一种提供脚本化控制的调试器也是一种提供调试功能的测试脚本生成器n观察控制

17、点(PointsofControlandObservation,PCO)位于被测单元的上下层之间具有调试断点的功能支持调试操作自动生成测试脚本演示:检视器演示:检视器的主要功能目录n白盒测试基本概念n嵌入式白盒测试遵循的理念n嵌入式软件测试设计技术白盒测试的3类形式化表述语言映射技术三种测试设计模式一次性集成与增殖集成测试设计与产品设计的耦合关系测试脚本如何自动生成为什么要TDD?TDD三原则n嵌入式软件测试评估技术n第4代白盒测试方法n如何组织嵌入式软件白盒测试白盒测试的3类形式化表述n原生表述(CppUnit、JUnit、CodeTest)n转化表述(ParasoftC+Test、RTRT

18、Cantata+)n映射表述(VcTester)编写C测试代码编译连接执行测试测试评估编译连接执行测试测试评估编写测试脚本并转化成C代码语法分析编译连接执行测试分析测试编写测试脚本案例:CppUnit与RTRT的测试用例案例:CppUnit与RTRT的测试用例案例:TCL命令字注册案例:使用TCL命令字注册发起单元测试使用Tcl_CreateCommand注册被测C函数,使用Tcl_GetVar与Tcl_SetVar存取变量。比如将C函数MyFunc注册为TCL的扩展命令TCL_MyFunc:Tcl_CreateCommand(interp,“TCL_Myfunc,Myfunc,NULL,N

19、ULL);语言映射技术全局变量/函数:vd.xx 类型定义:vt.xx/vt.struct.xx/vt.union.xx语言映射技术A函数B函数C函数脚本桩函数B函数A函数B函数C函数A函数B函数C函数脚本桩函数打脚本桩之前 替代模式打桩 插入模式打桩演示:C语言映射到CSE脚本演示:C语言映射到CSE脚本演示:3种测试设计模式演示:3种测试设计模式仿真模式点控制模式混合模式一次性集成与增殖集成n一次性集成n增殖集成(自顶向下、自底向上、混合方式)优点缺点自顶向下测试 可以自然地做到逐步求精,一开始便能让测试者看到系统的框架 p需要提供桩模块p在输入/输出模块接入系统以前,在桩模块中表示测试数

20、据有一定困难p模拟测试数据困难p观察和解释测试输出往往也是困难的 自底向上测试 p构造测试数据比较容易p测试中较少模拟桩函数p特别适合于关键模块在结构图的底部的情况 p直到最后一个模块被加进去之后才能看到整个程序(系统)的框架 p只有到测试过程的后期才能发现时序问题和资源竞争问题测试设计与产品设计的耦合关系n紧耦合的需求:测试重用,参考引用,结构化封装n松耦合的需求:用例维护,版本发布,隔离BUG紧耦合模式分离模式松耦合模式XUNITRTRTVcTester演示:分离模式的应用实例演示:分离模式的应用实例案例:ParasoftC+Test的脚本生成案例:ParasoftC+Test的脚本自动生

21、成(Source模式)ObjListiMaxNULL0Normal1-1MaxIntMinIntvoidBubbleSort(OBJ_DATA_PTRObjList,intiMax)Obj1Obj2NULLNULLNormalNormalint_stdcallObjCompare(OBJ_DATA*Obj1,OBJ_DATA*Obj2)案例:ParasoftC+Test的脚本生成案例:ParasoftC+Test的脚本自动生成(Native模式)什么脚本能生成,什么不能?n图灵停机与图灵测试n测试脚本自动生成依据什么?n什么测试脚本能自动生成,什么不能生成?演示:VcTester的测试脚本自动

22、生成演示:VcTester的测试脚本自动生成什么是TDD?nExtremeProgrammingApplied:Beforeyouwritecode,thinkaboutwhatitwilldo.Writeatestthatwillusethemethodsyouhaventevenwrittenyet.在编写代码前设计测试用例Atestisnotsomethingyou“do”,itissomethingyou“write”andrunonce,twice,threetimes,etc.n测试驱动开发Test-DrivenDevelopment(测试指示开发)“指示”意味着:测试为片断代码提

23、供使用规格也隐含“测试即设计文档”这个饱受争议的论题TDD操作步骤编写测试用例编译修正编译错误运行测试用例,看它报错修改代码运行测试用例,看它通过重构代码并测试为什么要TDD?n实施TDD的深刻原因一次好测试:既测试可见代码,也测试不可见代码一次好测试:是基于规格的测试,而不是“机械测试”n案例:AnInitialInvestigationofTestDrivenDevelopmentinIndustry如何实施TDD?n实施TDD的难点克服未见代码先写用例的恐慌提高TDD中编码与调试的效率n案例:Object Mentor TDD三条军规 1.除非为了使一个失败的unit test通过,否则

24、不允许编写任何产品代码 2.在一个单元测试中只允许编写刚好能够导致失败的内容(编译错误也算)3.只允许编写刚好能够使一个失败的unit test通过的产品代码演示:第4代白盒方法的TDD实践演示:第4代白盒方法的TDD实践讨论:测试先行、持续集成、冒烟测试测试先行(TDD)、持续集成、冒烟测试,这3者之间有什么关系?目录n白盒测试基本概念n嵌入式白盒测试遵循的理念n嵌入式软件测试设计技术n嵌入式软件测试评估技术常用覆盖率统计标准基于调用的覆盖率统计技术如何选择覆盖率标准用例覆盖度缺陷密度评估白盒测试问题管理n第4代白盒测试方法n如何组织嵌入式软件白盒测试常用覆盖率统计标准n语句覆盖(State

25、mentCoverage)n判定覆盖(DecisionCoverage)n条件覆盖(ConditionCoverage)n多条件覆盖(MultipleConditionCoverage)n判定条件组合覆盖(Condition/DecisionCoverage)n修正条件/判定覆盖(ModifiedCondition/DecisionCoverage,MCDC)n路径覆盖(PathCoverage)基于调用的覆盖率统计技术n位置无关调用覆盖(Location-independentcallcoverage)LICC=(已覆盖的不重复的函数调用个数/全部不重复的函数调用个数)*100%n位置相关调

26、用覆盖率(Location-dependentcallcoverage)LDCC=(已覆盖的函数调用个数/全部函数调用个数)*100%比如某函数中调用了3个子函数,其中第1个子函数调用在函数定义的两个地方出现,其余2个子函数都只在一处调用(即,只使用了一次)。如果这个3个子函数都被调用过,而且第1个子函数只一个位置调用了,另一个位置尚未覆盖到。这时,我们计算LICC是“3/3=100%”,而LDCC是“3/4=75%”。演示:覆盖率定制的一个实例演示:覆盖率定制的一个实例如何选择覆盖率标准?n是不是选择覆盖率标准越高越好?n持续集成对覆盖率指标有哪些要求?n选择恰如其分的评估标准n避免源码中“

27、噪声”给质量评估带来波动语句覆盖判定覆盖条件覆盖判定条件覆盖MCDC覆盖LCSAJ覆盖路径覆盖用例覆盖度n为什么引入用例覆盖度(TestCaseCoverage)?n定义TCC=用例中调用被测函数的总次数/函数定义的分支总数函数分支总数=1+if语句总数*2+while语句总数*2+for语句总数*2n用例覆盖度的价值弥补代码覆盖率的评估欠缺评估标准可定制n演示:TCC定制实例缺陷密度评估n缺陷密度定义:发现问题数/千行代码n主要评估指标缺陷密度遗留缺陷密度测试用例密度回归测试通过率DI值=(致命问题*10+严重问题*3+一般问题*1+提示问题*0.1)*难度系数是否符合Compertz退出准

28、则n案例:研发Metrics质量体系白盒测试问题管理流程测试开发管理三方会议开启分派设计变更分派解决p符合设计p不用解决p延迟解决关闭ODC缺陷分析触发因素问题发现活动验证开发开发验证结果影响严重程度原因结果定位责任来源问题位置缺陷年龄缺陷类型内容类型缺陷界定问题根源对象ODC缺陷分析检视发现的主要是一般问题压力测试发现一个致命问题缺陷根源分析n一种系统的解决问题的方法,通过标示问题,分析问题的根本原因,针对根本原因制定可行的纠正预防措施,以达到解决问题和预防问题再次发生的目的标识问题根本原因分析制定纠正预防措施Rayleigh分析方法目录n白盒测试基本概念n嵌入式白盒测试遵循的理念n嵌入式软

29、件测试设计技术n嵌入式软件测试评估技术n第4代白盒测试方法白盒测试要遵循的原则嵌入式白盒测试的核心难题是什么?分区推动理论白盒测试发展历程:从第1代到第4代3个关键域与9项关键特征红绿灯通行机制测试小循环融入研发大循环白盒测试技术的演进没有银弹除了重用还是重用n如何组织嵌入式软件白盒测试白盒测试要遵循的原则nGood-enough原则Zero-bug&Good-enough投入&产出nPareto原则(20/80原则)n全方位、多角度嵌入式白盒测试的核心难题是什么?n测试效率问题n测试质量问题第4代白盒测试方法着重解决这两个问题!另外着眼于保障白盒测试是易操作、易推行的。环境敏感效率苛刻分区推

30、动理论测试同比:在恒定质量前提下,每新增1KLOC代码所需开发投入,与新增用例设计的投入之比例低效1:2,一般1:1,很好2:1拐点:1:1混沌状态有序状态自组织状态白盒测试技术发展历程第一代白盒测试方法测试操作不规范、不可重复,无测试评估print/assert/拿调试当测试第二代白盒测试方法形式化描述用例并阶段重用,有覆盖评估RTRT/CppTest/CodeTest/TrueCoverages等工具第三代白盒测试方法坚持质量优先的可持续测试(写一点测一点)xUnit工具第四代白盒测试方法软件调测完全高效的融入研发全过程VcTester/GccTester测试设计效率低下全脚本语言、调测一

31、体、突破效率瓶颈白盒测试技术演进n第2代区别第1代,主要克服两大缺陷:没有测试评估(比如覆盖率)测试操作不可重复n第3代区别第2代,增加了:对持续集成运作模式的支持n第4代区别第3代,在于:强调对调试操作的重用3个关键域9项关键特征n第一关键域:在线测试在线测试驱动在线脚本桩在线测试用例设计、运行,及评估改进n第二关键域:灰盒调测基于调用接口调试即测试集编码、调试、测试于一体n第三关键域:持续测试测试设计先行持续保障信心重构测试设计3个关键域9项关键特征n第一关键域:在线测试在线测试驱动在线脚本桩在线测试用例设计、运行,及评估改进n第二关键域:灰盒调测基于调用接口调试即测试集编码、调试、测试于

32、一体n第三关键域:持续测试测试设计先行持续保障信心重构测试设计测试效率易操作/易推行测试质量演示:集成调测平台演示:集成化的编辑、调试与测试平台演示:红绿灯通行机制演示:红绿灯通行机制拉通研发大循环结果评估用例设计用例调试测试执行问题定位编码/改错源码调试结果评估调试(源码与脚本)产品发布运行编码/改错(源码与脚本)自动测试运行白盒测试技术演进是否是否评评估估测试测试效果效果是否自是否自动测试动测试是否持是否持续测试续测试是否是否调调测测一体一体第1代白盒测试方法否否否否第2代白盒测试方法是是否否第3代白盒测试方法是是是否第4代白盒测试方法是是是是测试操作重用稳定性重用调试过程重用软件测试的银

33、弹n没有银弹(布鲁克斯,1986年)在近十年内,没有任何单独的软件工程进展可以使软件生产率有数量级的提高大家熟悉的软件项目具有一些人狼的特性(至少在非技术经理看来),常常看似简单明了的东西,却有可能变成一个落后进度、超出预算、存在大量缺陷的怪物。因此,我们听到了近乎绝望的寻求银弹的呼唤,寻求一种可以使软件成本像计算机硬件成本一样降低的尚方宝剑。n人月神话(查珀尔希尔,1986年)软件开发总是非常困难的,天生就没有银弹。想想现代软件系统中这些无法规避的内在特性吧:复杂度、一致性、可变性和不可见性。软件测试的银弹nStandishGroup的研究StandishGroup从1994年开始用了10年

34、时间,研究了大约3万5千个开发项目,他们定义成功的项目:软件开发按时完成 预算未超出 软件功能涵盖了预定需求 软件没有被缺陷致残 软件已被使用,且产生了积极的效果 最初的结果显示:只有16%的项目是成功的,而且他们每年都更新这一统计,发现之后该比例并没有太大改变。n软件测试的银弹:除了重用,还是重用!目录n白盒测试基本概念n嵌入式白盒测试遵循的理念n嵌入式软件测试设计技术n嵌入式软件测试评估技术n第4代白盒测试方法n如何组织嵌入式软件白盒测试与白盒测试相关的前期开发活动是开发人员做单元测试还是测试人员做?白盒测试活动中的角色与配合关系规划白盒测试注意事项仿真层中间件如何构造?持续集成的体系架构

35、持续集成、每日构建、冒烟测试之间的关系与白盒测试相关的前期开发活动n可测试性需求分析n测试策略拟定nSVVP计划制定n测试工具选型评估n可测试性设计n测试设计白盒测试是一项系统工程!白盒测试活动中的角色n单元测试与集成测试该由谁来实施?n人员组织与角色项目经理QATC开发人员开发人员开发人员测试经理QA测试系统工程师自动化工程师测试人员测试人员规划白盒测试的几点注意事项n注重前期规划n避免在目标系统(单板)做单元测试n有所为有所不为,难以实施白盒测试应以其它测试手段(如代码检视、设计评审等)弥补n先推单元测试,后推集成测试n注意测试设计的重用依据实践的推论n嵌入式软件的单元测试及底层的集成测试

36、应在仿真平台进行n集成测试,尤其是基于消息驱动、组件调用,或者定义简洁上下层接口的测试,可以在真实平台下进行n受限于实际环境,未能详尽做单元或集成测试的,应加强其它类型测试予以弥补。单元测试-调试/代码正规检视/lint检查集成测试-调试/设计评审上单板做白盒测试的主要弱点n测试成本高(搭建测试环境、调试与测试麻烦)n面对初始代码,代码不稳定导致上单板效率低下n上单板的测试常混杂了集成测试的需求n由于嵌入式平台的多样性,通常缺乏有效的测试工具n要求前期PCB较多投板一个典型的仿真层中间件底层接口任务管理队列管理内存管理日志管理维护管理配置管理接口管理补丁管理测试接口应用层接口手机产品PDA产

37、品宽带产品数通产品PSOSVXWORKSUNIXWIN98NTINTELCPUPPCCPUARMCPUVOS平台无线产品持续集成的体系架构持续集成、每日构建、冒烟测试的关系时时使用阶段使用阶段使用n日常调测的脚本,经整理形成规范的回归测试集,从回归测试集中选取部分基础用例构成冒烟测试集n日常测试集与回归测试集是私有的,冒烟测试集是公共的冒烟测试集归谁维护?项目组中各人的测试用例要不要合并?n冒烟测试是无人伺服的测试n回归测试与冒烟测试都从版本服务器获取自动构建的版本案例:IEEESoftwarebestpractices案例:IEEESoftwarebestpractices:DailyBui

38、ldandSmokeTest讨论:白盒测试Top10问题如何解决?白盒测试Top10问题如何解决?本课程参考资料第4代白盒测试方法参考资料http:/www.ezT第4代白盒测试方法通俗释义第4代白盒测试方法介绍-理论篇第4代白盒测试方法介绍-VcTester实践篇为什么要做白盒测试企业如何推行白盒测试实施白盒测试的几个误区如何选择嵌入式白盒测试工具VcTester持续集成框架的应用价值使用VcTester实施持续集成的组织管理模式使用VcTester构造持续集成及每日构建平台如何在VcTester集成自动构建功能如何将Pclint嵌入到VcTester中使用内存泄露检工具VLD如何与VcTe

39、ster配合使用VcTester插装原理与各种覆盖率配置类别序号课 程 名 称课时测试技术管理TST01嵌入式嵌入式产品品测试管理培管理培训(Test Management Training for Embedded Product)2天TST02嵌入式嵌入式软件白盒件白盒测试技技术培培训(White-box Test Technology Training for Embedded Software System)1天TST03嵌入式嵌入式软件白盒件白盒测试Dry-Run培培训(White-box Test Dry-run Training for Embedded Software Sys

40、tem)1天关于ezTester:我们专注于嵌入式产品领域,专业为全球厂商提供一流的白盒测试解决方案及配套测试工具。目前我们为业界提供两类服务,一是白盒测试技术咨询,二是自行研发并销售配套测试工具。相关课程介绍注:TST02与TST03常合并为企业内训2天后续服务不闻不若闻之,闻之不若见之;见之不若知之,知之不若行之;学至于行而止矣。-荀子儒效篇企业内部培训时间:2天针对本企业实际产品与实际问题讲解内容可按要求定制学员亲临实践白盒测试体系顾问式咨询专题培训1天、现场辅导24天周期:30天帮助公司规划白盒测试技术体系结束谢谢!深圳市领测科技有限公司南山区创业路保利城大厦7层中国 深圳+8675521170680saleezThttp:/www.ezT

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服