2)白盒测试:也叫结构测试,是基于程序的测试只考虑程序内部结构而不考虑程序功能的测试
3)灰盒测试:结合黑盒和白盒的要素对软件进行测试
一般先做黑盒测当发现BUG时需要对BUG使用白盒测试进行进一步调查(在集成测试阶段经常采用)
扩展: 1)白盒测试一般对风险较大难度较大核心模块进行补充测试
2)白盒测试要求测试人员懂代码测试成本较高(时间、金钱)效率较低
3)白盒测试的测试质量较好需要测试人员编写测试用例
按是否需要运行代码划分:动态测试、静态测试
1 动态测试:需要运行代码才能进行的测试
列如:功能/黑盒测试一般都是动态测试
2 静态测试:无需运行程序就可以做的测试
列如:界面测试、文档测试、
代码测试:主要检查代码是否符合相应的标准和规范
问题:白盒测试(静态测试)和代码测试的区别?
1 白盒测试:主要关注代码的逻辑实现测试者必须要懂代码才可以白盒测试要求编写测试用例
2 代码测试:主要关注代码的规范性测试人员不需要懂代码也不需要编写测试用例只要参考(代码检查单)审核即可
3 按软件的特性分类:
1功能测试:所有的软件都必须做功能测试功能测试既可以手工实现(手工功能测试)也可以自动化工具实现
2性能测试:一般分布式软件需要进行性能测试只能使用自动化工具实现(性能自动化)
其他(名词术语)
1 返测:对程序员修改的BUG进行测试验证BUG是否被修复
2 回测:(回归测试)对上一个版本中的所有功能重新测试一遍检验新版本中程序原有的功能是否依然正常回归测试存在大量的重复性工作(用例重复执行)所以条件允许可以使用自动化工具提高测试效率
3 随机测试:(猴子测试)在测试用例执行完成后对软件进行随意测试的过程(只是测试时间充足时对正常测试用例之外的补充测试)
4兼容测试:指对所设计软件与硬件、软件之间的兼容性的测试主要分成三类
1)硬件兼容:与整机兼容、与外设兼容
2)软件兼容:操作系统、应用软件之间的兼容、不同浏览器的兼容、数据库的兼容
3)数据兼容:不同版本之间的数据兼容
5 软件项目的测试流程
1 熟悉分析需求
2制定测试计划
3用例设计(编写用例)
4执行测试
5记录结果
6 记录缺陷(缺陷报告)跟踪管理缺陷
7 测试相关总结(报告)