|
一.白盒测试
1.白盒测试:white box testing=玻璃盒测试:glass box testing=透明盒测试:clear box testing开放盒测试pen box testing=结构化测试:structured testing=基于代码测试:code-based testing=逻辑驱动测试:logisc-driven testing.
2.为什么要进行白盒测试:软件自身的缺陷
1) 逻辑错误和不正确的假设与一条程序路径被运行的可能性成反比
2) 我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的基础上被执行
3) 笔误是随机的
3.白盒测试常用的技术
静态分析:控制流分析技术,数据流分析技术,信息流分析技术
动态分析:逻辑覆盖率测试,包括:语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,路径覆盖
4.白盒测试的优缺点
优点:1.迫使测试人员去仔细思考软件的实现2.可以检测代码中的每条分支和路径3.揭示隐藏在代码中的错误4.对代码的测试比较彻底5.最优化
缺点:1.昂贵2.无法检测代码中遗漏的路径和数据敏感性错误3.不验证规格的正确性
二.黑盒测试
1.黑盒测试:black box testing=功能测试:functional Testing关注于被测软件的功能实现,而不是内部逻辑
2.黑盒测试发现一下错误:
1) 功能错误或遗漏
2) 界面错误
3) 数据结构或外部数据库访问错误
4) 性能错误
5) 初始化和终止错误
3.黑盒测试的类型:功能性测试,容量测试,安全性测试,负载测试,恢复性测试,标杆测试,稳定性测试,可靠性测试等
4.黑盒测试的常见方法:等价类,边界值,因果图,判定表,状态迁移,正交分解,错误猜测,输入输出域覆盖
5.黑盒测试的优缺点
有点:1.对于更高的代码单元来说比白盒测试效率更高2.测试人员不需要了解实现的细节,包括特定的编程语言.3.测试人员和编码人员彼此独立4.从用户的视角进行测试,很容易被大家理解和接受5.有助于暴露任何规格不一致或有歧义的问题6.测试用例可以在规格完成后马上进行
缺点:1.只有一小部分的输入被测试到2.没有清晰和简明的规格,用例很难设计3.测试人员和开发不沟通的话,会造成重复测试4.有很多路径没有被测试到.5.不能直接针对特定的程序段
三.灰盒测试
1.界于白盒和黑盒之间的测试
2.最常见的灰盒测试是集成测试 |
|