其他分享
首页 > 其他分享> > 灰盒测试

灰盒测试

作者:互联网

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

定义
灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。

学术含义
灰盒(Gray Box)是一种程序或系统上的工作过程被局部认知的装置。灰盒测试,也称作灰盒分析,是基于对程序内部细节有限认知上的软件调试方法。测试者可能知道系统组件之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。对于内部过程,灰盒测试把程序看作一个必须从外面进行分析的黑盒。

目的任务
软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段,通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。

目的
第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

灰盒测试的思想
是基于程序运行时的外部表现又结合程序内部逻辑结构来设计测试用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。灰盒测试法旨在验证软件满足外部指标以及软件的所有通道或路径都进行了检验。

灰盒测试的特性
1.灰盒测试同黑盒测试一样,也是根据需求文档来进行测试用例的设计。
2.灰盒测试通常在程序员做完白盒测试之后,在功能测试人员进行大规模集成测试之前。
3.灰盒测试需要了解代码工程的实现。
4.灰盒测试是通过类似白盒测试的方法进行的,是通过编写代码、调用函数或者封装好的接口进行,但无需关心程序内部的实现细节,依然可把它当成一个黑盒。
5.灰盒测试是有测试人员进行的。

灰盒测试的优点
1.能够进行基于需求的覆盖测试和基于程序路径覆盖的测试。
2.测试结果可以对应到程序内部路径,便于bug的定位、分析、解决。
3.能够保证设计的黑盒测试用例的完整性,防止遗漏软件的一些不常用的功能或功能组合。
4.能避免需求或设计不详细或不完整对测试造成的影响。

灰盒测试的不足
1.投入的时间比黑盒测试大概多20%-40%。
2.对测试人员的要求比黑盒测试高。
3.灰盒测试要求测试人员清楚内部系统结构由哪些模块组成,模块之间如何协作。
4.不如白盒测试深入。
5.不是用于简单系统。

灰盒测试的步骤
1.确定程序的所有输入和输出。
2.确定程序所有状态。
3.确定程序主路径。
4.确定程序的功能。
5.产生实验子功能X的输入。
6.制定验证子功能的X的输出。
7.执行测试用例X的软件。
8.检验测试用例X的结果正确性。
9.对其余子功能,重复7和8。
10.重复4–8,然后进行9.进行回归测试

标签:灰盒,黑盒,程序,测试,软件,软件测试
来源: https://blog.csdn.net/qq_46511838/article/details/111769500