一:白盒测试的概念:
白盒测试的对象主要是源程序。是指用代码内部的分支,路径,条件,使程序设计的控制结构导出测试用例,是软件测试的主要方法之一
二: 白盒测试方法分为两类:
1.静态测试 2.动态测试
三: 白盒测试测试原则:
1.保证一个模块中所有路径至少被测试一次
2.所有逻辑值都要测试真和假
3.检查程序的内部数据结构是否有效
4.检查上,下边界及可操作范围内运行所有循环
四:白盒测试一般要考虑类别,依据,和流程
五:白盒测试的类别:(8大类)
1.软件公用问题的测试
2.语言测试
3.SQL语句测试
4.数据类型测试
5.界面测试
6.数值对象测试
7.业务对象测试
8.数据管理对象测试
六:白盒测试依据
软件需求报告
软件需求规格说明
程序设计文档
软件界面设计
编码规范
开发命名规范
七:白盒测试的流程(界面测试和业务测试)
界面测试
业务对象流程测试
八:白盒测试方法
1.测试中,尽量先用自动化工具进行静态结构分析。
2.测试中建议先从静态测试开始。
3.利用静态分析的结果作为依据,再使用代码检查和动态测试的方法对静态结果进行进一步确认,提高测试效率及准确性
4.覆盖率测试是白盒测试的重要手段,在测试报告中可以作为量化指标的依据,对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率。
5.在不同的测试阶段,测试的侧重是不同的。
九.代码检查
主要检查代码的流程设计的一致性,代码结构的合理性,代码编写的标准型,可读性,代码的逻辑表达的正确性等方面
十.代码走查(目的)
1.通过检查代码程序是不是按照某种标准或规范编写的代码
2.通过检查代码来发现程序缺陷
3.通过检查代码来发现代码是不是流程图要求的
4.通过检查代码来发现有没有遗漏的项目
5.要代码易于移植,代码经常需要在不同的硬件中运行,或者使用不同的编译器编译
6.要代码易于阅读,理解和维护
十一:代码检查方式
1.桌面检查
2.走查
3.代码审查
十二:代码检查项目
1.目录文件组织
2.检查函数
3.数据类型及变量
4.检查条件判断语句
5.检查循环体制
6.检查代码注释
7.桌面检查
8.其他检查
十三:静态结构分析主要是以图形的方式表现程序的内部结构,例如函数调用关系图,函数内部控制流程
十四:SQL语句测试
主要检查以下两点:
1.语句检查
2.类型检查
十五:白盒测试的常用技术
1.测试覆盖率
2.逻辑覆盖
3.面向对象的覆盖
4.测试覆盖准则
分别讨论
测试覆盖率(包括功能覆盖和结构覆盖)--作为量化指标依据
测试覆盖率是用于确定测试所执行到的覆盖项的百分比。覆盖项是指作为测试基础的一个入口或属性,比如语句,分支,条件
逻辑覆盖
可分为语句覆盖,判断覆盖,条件覆盖,条件判断组合覆盖,多条件富覆盖,修改条件判断覆盖,组合覆盖和路径覆盖
面向对象的覆盖
继承上下文覆盖和基于状态的上下文覆盖
十六:测试覆盖准则
测试覆盖准则主要讨论 ESTCA (错误敏感测试用例分析)和 LCASJ (线性代码序列与跳转)
ESTCA覆盖准则
现行代码序列与跳转LCSAJ
现行代码序列与条状LCSAJ是指一组顺序执行的代码,以控制流跳转为结束点,可生产4层覆盖
十七:插桩技术
插桩测试就是向源程序中插入语句然后执行程序,通过打印语句,获得动态信息
十八:基本路径测试法
在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法,设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次
问题:
1.白盒测试有哪两个分类?
2.白盒测试的4个原则
3.详细说明白盒测试方法要注意的问题
4.请简要写出白盒测试常用的7类技术
5.逻辑覆盖主要测试哪8个方面的覆盖率