白盒测试和黑盒测试是软件测试的两种基本方法。
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
白盒测试的优缺点
白盒测试优点:
1、迫使测试人员去仔细思考软件的实现;
2、可以检测代码中的每条分支和路径;
3、揭示隐藏在代码中的错误;
4、对代码的测试比较彻底;
5、最优化。
白盒测试缺点:
1、昂贵,系统庞大时,测试开销会非常大;
2、测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求,无法检测代码中遗漏的路径和数据敏感性错误;
3、不验证规格的正确性,程序运行会有很多不同的路径,不可能测试所有的运行路径。
黑盒测试优缺点
黑盒测试优点:
1、比较简单,不需要了解程序的内部的代码及实现;
2、与软件的内部实现无关;
3、从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4、基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5、在做软件自动化测试时较为方便。
黑盒测试缺点:
1、结果取决于测试用例的设计,测试用例的设计部分优势来源于经验,覆盖率较低,大概只能达到总代码量的30%;
2、自动化测试的复用性较低,没有状态转换的概念,还做不到针对被测试程序的状态转换来实现。
技术专区
- Excelpoint世健基于Microchip平台的气体检测参考设计方案
- 基于STM32的三轴数字罗盘HMC5883L模块的测试方案
- 直流电源的测试与规范
- 如何重置LMC555定时器延迟硬件来收集调试数据
- 基于MSO的混合信号系统测试与调试[图]