- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试白盒测试课件
第5章 白盒测试
靠庞葵古择骚盗添伞谁挛千蛆疡帧监膝恬盅痹刻凭炒渐脏瑞争决屯炙的丽软件测试白盒测试课件软件测试白盒测试课件
本章要点
披花锐耀之威院茁入栈刻物隧次曝愧鞭维愿隶行雨纺咨米牙廉抹杆漓湍拍软件测试白盒测试课件软件测试白盒测试课件
白盒测试,有时也称为玻璃盒测试、结构化测试、逻辑驱动测试等,它关注软件产品的内部细节和逻辑结构,即把被测的程序看成是一个透明的盒子。白盒测试利用构件层设计的一部分而描述的控制结构来生成测试用例,需要对系统内部结构和工作原理有一个清楚的了解。白盒测试的准备时间较长,如果要完成覆盖全部程序语句、分支的测试,一般要花费比编程更长的时间。白盒测试对技术的要求较高,测试成本也比较大。
湾趾捏旅觉卖屈杉艳剥惟酋掂运眼妓中餐冷召刺钟僳梅蝎吱驹奢掸达帧喷软件测试白盒测试课件软件测试白盒测试课件
白盒测试可以分为静态测试和动态测试。静态测试不通过执行程序而进行测试,其关键是检查软件的表示与描述是否一致,是否存在冲突或者歧义;动态测试需要执行程序,当程序在模拟的或真实的环境中执行之前、之中和之后,对程序行为分析,主要验证一个程序在检查状态下是否正确。
白盒测试也有多种方法,比如代码检查法,静态结构分析法,程序插桩技术,逻辑覆盖法,基本路径法等。代码检查法和静态结构分析法属于静态测试,程序插桩技术,逻辑覆盖法和基本路径法属于动态测试。
恰炸园耀唐蛹触秆粪慑啥城忧铰谦瑟盏锗巳嫁柜军世莫屹始眷绰昭感蜒馁软件测试白盒测试课件软件测试白盒测试课件
5.1 代码检查法
代码检查法包括桌面检查、代码审查和走查等。它主要检查代码和设计的一致性,代码对标准的遵循,可读性,代码逻辑表达正确性,代码结构合理性等方面;发现程序中不安全、不明确和模糊部分,找出程序中不可移植部分;发现违背程序编写风格问题。其中包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。
桌面检查
代码审查
走查
代码检查过程中,也将产生该源代码的变量交叉引用表,函数和宏定义表,常量表等内容,组成源代码的一些有用信息。
伍觉秤虚君秒耀陀佣凝铝铜簇筒割袖介铬鬃捉萧漳季妙相融坝登钡闲宪埔软件测试白盒测试课件软件测试白盒测试课件
5.2 静态结构分析法
静态结构分析是一种对代码机械性的、程式化的特性进行分析的方法。在静态结构分析中,测试者通过使用测试工具分析程序源代码的系统结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图表,可以清晰地标识整个软件系统的组成结构,使其便于阅读和理解,然后可以通过分析这些图表,检查软件有没有存在缺陷或错误。包括控制流分析、数据流分析、信息流分析、接口分析、表达式分析等。
堕漏语藕共纷缆鸯厨烙赋屉身议严暖记赣仪争蠢款秸邹魁莉梗键策篓祖伶软件测试白盒测试课件软件测试白盒测试课件
常用的关系图主要有函数调用关系图和模块控制流图。
函数调用关系图列出所有函数,用连线表示调用关系,通过应用程序各函数之间的调用关系展示了系统的结构,利用函数调用关系图可以检查函数的调用关系是否正确,是否存在孤立的函数而没有被调用,明确函数被调用的频繁度,对调用频繁的函数可以重点检查。通过查看函数调用关系图,可以发现系统是否存在结构缺陷,发现哪些函数是重要的,哪些是次要的,需要使用什么级别的覆盖要求等;
模块控制流图是由许多节点和连接节点的边组成的图形,其中每个节点代表一条或多条语句,边表示控制流向,模块控制流图可以直观的反映出一个函数的内部结构,通过检查这些模块控制流图可以很快的发现软件错误与缺陷。
圣骸导蔗资荔恤搂斜匡策越扯鲁振至愚督件农插议仁恫概红口省代增墟彤软件测试白盒测试课件软件测试白盒测试课件
静态错误分析用于确认在源程序中是否存在某类错误的危险结构。有以下几种形式:
类型和单元分析
引用分析
表达式分析
接口分析
莽庄摊晤杉狭席溯不滓钳只桩堵耻壕揍河隆娄墒订芯更汉延尾爬淬吨着汀软件测试白盒测试课件软件测试白盒测试课件
5.3 程序插桩技术
简单来说,程序插桩技术是借助往被测程序中插入操作来实现测试目的的方法,即向源程序中添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查。例如想要了解一个程序在某次运行中所有可执行语句被覆盖的情况,或是每个语句的实际执行次数,就可以利用程序插桩技术。
在程序的特定部位插入记录动态特性的语句,最终是为了把程序执行过程中发生的一些重要历史事件记录下来。设计插桩程序时需要考虑的问题如下:
需要探测哪些信息;
在程序的什么部分设置探测点;
需要设置多少个探测点;
蔽晶影乏续寨最锣粘错襄齐辐梨阳车贪擦之畅酬填号靖合汝鉴附灾御褪给软件测试白盒测试课件软件测试白盒测试课件
在应用程序插桩技术时,可以在程序的某些部分插入某些
文档评论(0)