what's the 灰盒测试
what's the 灰盒测试
灰盒测试的概念:是一种综合测试的方法,他将白盒测试和黑盒测试结合在一起,构成一种无缝测试技术。
灰盒测试的思想:是基于程序运行时的外部表现又结合程序内部逻辑结构来设计测试用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。灰盒测试法旨在验证软件满足外部指标以及软件的所有通道或路径都进行了检验。
灰盒测试的特性:
- 灰盒测试同黑盒测试一样,也是根据需求文档来进行测试用例的设计。
- 灰盒测试通常在程序员做完白盒测试之后,在功能测试人员进行大规模集成测试之前。
- 灰盒测试需要了解代码工程的实现。
- 灰盒测试是通过类似白盒测试的方法进行的,是通过编写代码、调用函数或者封装好的接口进行,但无需关心程序内部的实现细节,依然可把它当成一个黑盒。
- 灰盒测试是有测试人员进行的。
灰盒测试的优点:
- 能够进行基于需求的覆盖测试和基于程序路径覆盖的测试。
- 测试结果可以对应到程序内部路径,便于bug的定位、分析、解决。
- 能够保证设计的黑盒测试用例的完整性,防止遗漏软件的一些不常用的功能或功能组合。
- 能避免需求或设计不详细或不完整对测试造成的影响。
灰盒测试的不足:
- 投入的时间比黑盒测试大概多20%-40%。
- 对测试人员的要求比黑盒测试高。
- 灰盒测试要求测试人员清楚内部系统结构由哪些模块组成,模块之间如何协作。
- 不如白盒测试深入。
- 不是用于简单系统。
灰盒测试的步骤:
- 确定程序的所有输入和输出。
- 确定程序所有状态。
- 确定程序主路径。
- 确定程序的功能。
- 产生实验子功能X的输入。
- 制定验证子功能的X的输出。
- 执行测试用例X的软件。
- 检验测试用例X的结果正确性。
- 对其余子功能,重复7和8.
- 重复4--8,然后进行9.进行回归测试。
参考:https://blog.csdn.net/celiabj/article/details/48750253