1、什么是白盒测试
定义:按照程序内部结构,逻辑驱动测试程序。
目的:检测产品内部动作是否按照设计说明书的规范进行,检验程序的每条路径是否都能按照预定要求进行工作。
对象:源程序。
用代码内部的分支,路径,条件,使程序设计的控制结构导出测试用例。
2、白盒测试方法分类
①、静态测试
②、动态测试
3、白盒测试的原则
①、保证一个模块中所有路径至少被测试一次
②、所有逻辑值都要测试真和假两种情况
③、检查程序内部的数据结构是否有效
④、检查上下边界及可操作范围内运行所有循环
4、白盒测试的类别
①、软件共用问题的测试
②、语言测试
③、sql语句测试
④、数据类型测试
⑤、界面测试
⑥、数值队形测试
⑦、业务对象测试
⑧、数据管理对象测试
5、白盒测试依据
①、软件需求报告
②、软件需求规格说明
③、程序设计文档
④、软件界面设计
⑤、编码规范
⑥、开发命名标准
6、白盒测试流程
①、界面对象测试流程
界面对象(UI)→业务对象(BO)→数据管理对象(DMO)→DBserver端
②、业务对象测试流程
DBserver端→数据管理对象(DMO)→业务对象(BO)→界面对象(UI)
7、白盒测试方法
①、尽量先用自动化工具来进行静态解析
②、建议先从静态测试开始(静态结构分析、代码走查、静态质量度量),然后进行动态测试(如覆盖率测试)
③、以静态分析结果作为依据,再使用代码检查和动态测试方法对静态分析结果进行进一步确认,提高测试效率及准确性
④、覆盖率测试是白盒测试的重要手段,在测试报告中可作为量化指标的依据,对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率
8、代码检查
概述:主要检查代码和流图设计的一致性、代码结构的合理性、代码编写的标准性、可读性、代码的逻辑表达的正确性等方面。包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。
目的:
①、检查代码是否按照某种标准或规范编写的代码
②、检查代码以发现程序缺陷
③、通过检查代码容易发现程序产生的错误
④、通过检查代码来发现代码是不是流程图要求的;
⑤、通过检查代码来发现有没有遗漏的项目;
⑥、要代码易于移植,代码经常需要在不同的硬件中运行,或者使用不同的编译器编译;
⑦、要代码易于阅读、理解和维护。
方式:
①、桌面检查
②、走查
③、代码审查
项目:
①、目录文件组织
②、检查函数
③、数据类型及变量
④、检查条件判断语句
⑤、检查循环体制
⑥、检查代码注释
⑦、桌面检查
9、静态结构分析
定义:主要以图形的方式表现程序的内部结构(例如函数调用关系图、函数内部控制流图);通过应用程序各函数之间的调用关系展示了系统的结构,列出所有函数,用连线表示调用关系和作用。
主要分析:
①、可以检查函数的调用关系是否正确
②、是否存在孤立的函数而没有被调用
③、明确函数被调用的频繁度,对调用频繁的函数可以重点检查