白盒测试的实用技术.ppt
《白盒测试的实用技术.ppt》由会员分享,可在线阅读,更多相关《白盒测试的实用技术.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、白盒测试的实用技术现在学习的是第1页,共32页白盒测试技术是软件测试的主要方法之白盒测试技术是软件测试的主要方法之一,白盒测试的基本概念、检查方法、测试一,白盒测试的基本概念、检查方法、测试方法、测试工具等内容是必须掌握的,本章方法、测试工具等内容是必须掌握的,本章重点讨论以下内容:重点讨论以下内容:白盒测试的概述白盒测试的概述白盒测试的静态检查方法白盒测试的静态检查方法白盒测试的常用方法白盒测试的常用方法软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第2页,共32页2.1白盒测试的概述白盒测试的概述白盒测试的对象主要是源程序。是指用白盒测试的对象主要是源程序。是指用
2、代码内部的分支、路径、条件,使程序设计代码内部的分支、路径、条件,使程序设计的控制结构导出测试用例,是软件测试的主的控制结构导出测试用例,是软件测试的主要方法之一。要方法之一。2.1.1白盒测试的基本知识白盒测试的基本知识白盒测试方法分为两类:白盒测试方法分为两类:(1)静态测试)静态测试(2)动态测试:)动态测试:软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第3页,共32页2.1.2白盒测试测试原则白盒测试测试原则白盒测试的原则有白盒测试的原则有4点:点:1)保证一个模块中所有路径至少被测试一次;)保证一个模块中所有路径至少被测试一次;2)所有逻辑值都要测试真和假
3、两种情况;)所有逻辑值都要测试真和假两种情况;3)检查程序的内部数据结构是否有效;)检查程序的内部数据结构是否有效;4)检查上、下边界及可操作范围内运行所)检查上、下边界及可操作范围内运行所有循环。有循环。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第4页,共32页2.1.3白盒测试的类别、依据和流程白盒测试的类别、依据和流程白盒测试策略是首先进行静态结构分析,白盒测试策略是首先进行静态结构分析,采用先静态后动态的组合方式。然后进行覆采用先静态后动态的组合方式。然后进行覆盖测试。利用静态测试的分析结果和通过动盖测试。利用静态测试的分析结果和通过动态测试的结果进行进一
4、步确认已达到测试效态测试的结果进行进一步确认已达到测试效果。白盒测试一般要考虑类别、依据和流程。果。白盒测试一般要考虑类别、依据和流程。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第5页,共32页1.白盒测试的类别白盒测试的类别白盒测试的类别具体分为白盒测试的类别具体分为8大类。大类。(1)软件公用问题的测试;软件公用问题的测试;(2)语言测试;语言测试;(3)SQL语句测试;语句测试;(4)数据类型测试;数据类型测试;(5)界面测试;界面测试;(6)数值对象测试;数值对象测试;(7)业务对象测试;业务对象测试;(8)数据管理对象测试。数据管理对象测试。软件测试技术
5、研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第6页,共32页2.白盒测试依据白盒测试依据软件需求报告;软件需求报告;软件需求规格说明;软件需求规格说明;程序设计文档;程序设计文档;软件界面设计;软件界面设计;编码规范;编码规范;开发命名标准。开发命名标准。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第7页,共32页3.白盒测试的流程白盒测试的流程白盒测试的流程分为界面对象和业务对象两种方白盒测试的流程分为界面对象和业务对象两种方式。式。(1)界面对象测试界面对象测试界面对象测试的流程如图界面对象测试的流程如图2-1所示。所示。软件测试技术研究组软件测
6、试技术研究组中国信息大学中国信息大学 图2-1界面对象的流程图 现在学习的是第8页,共32页(2)业务对象流程测试业务对象流程测试业务对象测试的流程如图业务对象测试的流程如图2-2所示。所示。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学 图2-2 业务对象测试的流程图现在学习的是第9页,共32页2.2白盒测试方法白盒测试方法在白盒测试中,可以使用各种测试方法进行测试。但是,在白盒测试中,可以使用各种测试方法进行测试。但是,在白盒测试中,可以使用各种测试方法进行测试。但是,在白盒测试中,可以使用各种测试方法进行测试。但是,测试要考虑五点问题。测试要考虑五点问题。测试要考虑五点问题
7、。测试要考虑五点问题。(1 1)测试中,尽量先用自动化工具来进行静态结构分析;)测试中,尽量先用自动化工具来进行静态结构分析;)测试中,尽量先用自动化工具来进行静态结构分析;)测试中,尽量先用自动化工具来进行静态结构分析;(2 2)测试中建议先从静态测试开始,如:静态结构分析、代码走查)测试中建议先从静态测试开始,如:静态结构分析、代码走查)测试中建议先从静态测试开始,如:静态结构分析、代码走查)测试中建议先从静态测试开始,如:静态结构分析、代码走查和静态质量度量,然后进行动态测试,如:覆盖率测试;和静态质量度量,然后进行动态测试,如:覆盖率测试;和静态质量度量,然后进行动态测试,如:覆盖率测
8、试;和静态质量度量,然后进行动态测试,如:覆盖率测试;(3 3)利用静态分析的结果作为依据,再使用代码检查和动态测)利用静态分析的结果作为依据,再使用代码检查和动态测)利用静态分析的结果作为依据,再使用代码检查和动态测)利用静态分析的结果作为依据,再使用代码检查和动态测试的方式对静态分析结果进行进一步确认,提高测试效率及准确试的方式对静态分析结果进行进一步确认,提高测试效率及准确试的方式对静态分析结果进行进一步确认,提高测试效率及准确试的方式对静态分析结果进行进一步确认,提高测试效率及准确性;性;性;性;(4 4)覆盖率测试是白盒测试中的重要手段,在测试报告中可)覆盖率测试是白盒测试中的重要手
9、段,在测试报告中可)覆盖率测试是白盒测试中的重要手段,在测试报告中可)覆盖率测试是白盒测试中的重要手段,在测试报告中可以作为量化指标的依据,对于软件的重点模块,应使用多种覆以作为量化指标的依据,对于软件的重点模块,应使用多种覆以作为量化指标的依据,对于软件的重点模块,应使用多种覆以作为量化指标的依据,对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率;盖率标准衡量代码的覆盖率;盖率标准衡量代码的覆盖率;盖率标准衡量代码的覆盖率;(5 5)在不同的测试阶段,测试的侧重点是不同的。)在不同的测试阶段,测试的侧重点是不同的。)在不同的测试阶段,测试的侧重点是不同的。)在不同的测试阶段,测试的侧
10、重点是不同的。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第10页,共32页2.2.1代码检查代码检查代码检查是静态测试的主要方法,代码代码检查是静态测试的主要方法,代码检查包括代码走查、桌面检查、流程图审查检查包括代码走查、桌面检查、流程图审查等。对于代码检查从如下几点进行叙述。等。对于代码检查从如下几点进行叙述。1)概述)概述代码检查主要检查代码和流图设计的一代码检查主要检查代码和流图设计的一致性、代码结构的合理性、代码编写的标准致性、代码结构的合理性、代码编写的标准性、可读性、代码的逻辑表达的正确性等方性、可读性、代码的逻辑表达的正确性等方面。包括变量检查、命
11、名和类型审查、程序面。包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等逻辑审查、程序语法检查和程序结构检查等内容。内容。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第11页,共32页2 2)代码走查目的)代码走查目的)代码走查目的)代码走查目的代码走查是为达到以下目的:代码走查是为达到以下目的:代码走查是为达到以下目的:代码走查是为达到以下目的:通过检查代码程序是不是按照某种标准或规范编写的通过检查代码程序是不是按照某种标准或规范编写的通过检查代码程序是不是按照某种标准或规范编写的通过检查代码程序是不是按照某种标准或规范编写的代码;代码;代码
12、;代码;通过检查代码来发现程序缺陷;通过检查代码来发现程序缺陷;通过检查代码来发现程序缺陷;通过检查代码来发现程序缺陷;通过检查代码容易发现程序产生的错误;通过检查代码容易发现程序产生的错误;通过检查代码容易发现程序产生的错误;通过检查代码容易发现程序产生的错误;通过检查代码来发现代码是不是流程图要求的;通过检查代码来发现代码是不是流程图要求的;通过检查代码来发现代码是不是流程图要求的;通过检查代码来发现代码是不是流程图要求的;通过检查代码来发现有没有遗漏的项目;通过检查代码来发现有没有遗漏的项目;通过检查代码来发现有没有遗漏的项目;通过检查代码来发现有没有遗漏的项目;要代码易于移植,代码经常
13、需要在不同的硬件中运要代码易于移植,代码经常需要在不同的硬件中运要代码易于移植,代码经常需要在不同的硬件中运要代码易于移植,代码经常需要在不同的硬件中运行,或者使用不同的编译器编译;行,或者使用不同的编译器编译;行,或者使用不同的编译器编译;行,或者使用不同的编译器编译;要代码易于阅读、理解和维护。要代码易于阅读、理解和维护。要代码易于阅读、理解和维护。要代码易于阅读、理解和维护。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第12页,共32页2.2.22.2.2代码检查方式代码检查方式代码检查方式代码检查方式代码走查的方式有:代码走查的方式有:代码走查的方式有:代码
14、走查的方式有:1 1 桌面检查桌面检查桌面检查桌面检查2 2 走查走查走查走查3 3 代码审查代码审查代码审查代码审查 代码审查可分为以下两步:代码审查可分为以下两步:代码审查可分为以下两步:代码审查可分为以下两步:第一步:小组负责人把程序文本、规范、相关要求、流程第一步:小组负责人把程序文本、规范、相关要求、流程第一步:小组负责人把程序文本、规范、相关要求、流程第一步:小组负责人把程序文本、规范、相关要求、流程图及设计说明书发给每个成员。图及设计说明书发给每个成员。图及设计说明书发给每个成员。图及设计说明书发给每个成员。第二步:每个成员依据所发材料作为审查依据,但是由第二步:每个成员依据所发
15、材料作为审查依据,但是由第二步:每个成员依据所发材料作为审查依据,但是由第二步:每个成员依据所发材料作为审查依据,但是由程序员讲解程序的结构每、逻辑和源程序。在此过程中,程序员讲解程序的结构每、逻辑和源程序。在此过程中,程序员讲解程序的结构每、逻辑和源程序。在此过程中,程序员讲解程序的结构每、逻辑和源程序。在此过程中,小组成员可以提出自己的疑问;程序员在讲解自己的程小组成员可以提出自己的疑问;程序员在讲解自己的程小组成员可以提出自己的疑问;程序员在讲解自己的程小组成员可以提出自己的疑问;程序员在讲解自己的程序时,也能发现自己原来没有注意到的问题。序时,也能发现自己原来没有注意到的问题。序时,也
16、能发现自己原来没有注意到的问题。序时,也能发现自己原来没有注意到的问题。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第13页,共32页2.2.3代码检查项目代码检查项目代码检查项目主要有以下几点:代码检查项目主要有以下几点:u目录文件组织目录文件组织u检查函数检查函数u数据类型及变量数据类型及变量u检查条件判断语句检查条件判断语句u检查循环体制检查循环体制u检查代码注释检查代码注释u桌面检查桌面检查u其它检查其它检查软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第14页,共32页2.2.4静态结构分析静态结构分析 静态结构分析主要是以图形的
17、方式表现程序的静态结构分析主要是以图形的方式表现程序的静态结构分析主要是以图形的方式表现程序的静态结构分析主要是以图形的方式表现程序的内部结构,例如函数调用关系图、函数内部控制流图。内部结构,例如函数调用关系图、函数内部控制流图。内部结构,例如函数调用关系图、函数内部控制流图。内部结构,例如函数调用关系图、函数内部控制流图。通过应用程序各函数之间的调用关系展示了系通过应用程序各函数之间的调用关系展示了系通过应用程序各函数之间的调用关系展示了系通过应用程序各函数之间的调用关系展示了系统的结构。列出所有函数,用连线表示调用关系和作统的结构。列出所有函数,用连线表示调用关系和作统的结构。列出所有函数
18、,用连线表示调用关系和作统的结构。列出所有函数,用连线表示调用关系和作用。静态结构主要分析:用。静态结构主要分析:用。静态结构主要分析:用。静态结构主要分析:1.1.可以检查函数的调用关系是否正确;可以检查函数的调用关系是否正确;可以检查函数的调用关系是否正确;可以检查函数的调用关系是否正确;2.2.是否存在孤立的函数而没有被调用;是否存在孤立的函数而没有被调用;是否存在孤立的函数而没有被调用;是否存在孤立的函数而没有被调用;3.3.明确函数被调用的频繁度,对调用频繁的函数可以重点明确函数被调用的频繁度,对调用频繁的函数可以重点明确函数被调用的频繁度,对调用频繁的函数可以重点明确函数被调用的频
19、繁度,对调用频繁的函数可以重点检查。检查。检查。检查。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第15页,共32页2.2.5SQL语句测试语句测试主要检查以下两点:主要检查以下两点:1.语句检查语句检查2.类型转换类型转换2.2.6代码检查的分析与评价代码检查的分析与评价代码检查的分析与评价主要注意以下两大代码检查的分析与评价主要注意以下两大点:点:1能力能力陈述经代码检查证实了的本软件的能力。陈述经代码检查证实了的本软件的能力。2缺陷和限制缺陷和限制软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第16页,共32页2.3白盒测试的常用技术
20、白盒测试的常用技术白盒测试常用技术主要有白盒测试常用技术主要有7种。现分别叙述如种。现分别叙述如下下:2.3.1逻辑覆盖法逻辑覆盖法逻辑覆盖法主要讨论四点:逻辑覆盖法主要讨论四点:测试覆盖率;测试覆盖率;逻辑覆盖逻辑覆盖;面向对象的覆盖面向对象的覆盖;测试覆盖准则。测试覆盖准则。现分别进行讨论。现分别进行讨论。软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第17页,共32页1.测试覆盖率测试覆盖率测试覆盖率是用于确定测试所执行到的测试覆盖率是用于确定测试所执行到的覆盖项的百分比。其中的覆盖项是指作为测覆盖项的百分比。其中的覆盖项是指作为测试基础的一个入口或属性,比如语
21、句、分支、试基础的一个入口或属性,比如语句、分支、条件等。条件等。测试覆盖率可以表示出测试的充分性,测试覆盖率可以表示出测试的充分性,在测试分析报告中可以作为量化指标的依据,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。但覆盖率不是目测试覆盖率越高效果越好。但覆盖率不是目标,只是一种手段。标,只是一种手段。其中其中测试覆盖率包括功能覆盖和结构覆盖测试覆盖率包括功能覆盖和结构覆盖软件测试技术研究组软件测试技术研究组中国信息大学中国信息大学现在学习的是第18页,共32页2.逻辑覆盖逻辑覆盖根据覆盖目标的不同和覆盖源程序语句根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测试 实用技术
限制150内