首页 > 编程知识 正文

软件测试黑盒测试和白盒测试的区别,黑盒测试

时间:2023-05-03 20:30:17 阅读:115969 作者:4740

软件测试方法的黑盒测试和白盒测试

摘要:黑盒测试和白盒测试是软件测试的重要方法。 白盒测试在程序源代码中进行测试,而不使用用户界面;黑盒测试主要用于检测软件编码过程中的错误;黑盒测试使用整个软件或软件功能进行严格测试它并不检查程序的源代码,也不清楚软件的源代码程序是如何具体设计的,而是主要检测软件的各个功能是否可以正常使用。 他们是互补的。

关键词:黑盒测试; 白盒测试; 优缺点; 软件测试

【1】

1测试概念

1.1测试定义

测试的正确定义是“运行程序以发现程序中的错误的过程”。 这与一些人通常想象的“测试是为了表明程序是正确的”“成功的测试是没有发现错误的测试”正好相反[1]。 简而言之,找错的活动叫做测试。 测试的目的是发现软件设计开发全周期中各阶段的错误,分析并修正错误的性质和位置。

1.2软件测试的定义

软件测试的定义是“人工或自动手段运行或测量一个软件系统的过程,其目的是验证是否满足规定的需要,或者明确预期结果与实际结果之间的差别[2]” 该定义是验证软件测试的目的是否符合软件系统的需要,明确表明它不是一次性的,而是软件开发后期的活动,是整个开发过程的一部分。 软件测试可以在软件运行之前进行软件需求分析、设计规格说明、编码实现的最终审查,它是保证软件质量的重要步骤。

2 .黑匣子测试概念

2.1黑盒测试概念

黑盒测试(也称为功能测试或数据驱动测试)是已知产品所需的功能,通过测试可以检测每个功能是否正常使用。 黑盒测试着眼于程序的外部机构,不考虑内部逻辑结构,主要对软件接口和软件功能进行测试。

2.2黑匣子测试原理

进行黑匣子测试时,测试人员将程序视为无法打开的黑匣子,完全不考虑程序的内部结构和内部特性,在程序接口进行测试,程序功能按要求规格书的规定正常使用,程序恰当例如,我们去用这个百度。 例如,我搜索了诗人hxdlq。 我点击百度看看。 如果出现了关于诗人hxdlq的词条,我认为这个功能是正确的。 使用黑盒测试方法,不需要看到内部的这个代码实现是什么样的,也实现了我的功能,无论内部是用Python实现的Java实现的还是用其他编程语言实现的黑匣子检测方法有边界值分析法、等价类检测法、因果图法、决策表法、错误估计法、Use Case法(场景法)、正交实验法等,主要用于确认检测。

2.3黑匣子测试的目的

黑匣子测试主要是为了发现以下错误。 是否有不正确或忽略的功能; 在界面中,输入是否正确接受; 能否输出正确的结果; 是否存在访问外部信息(如数据结构错误或数据库文件)的错误; 性能上能满足要求吗; 没有初始化和停止性错误等吗?

2.4黑匣子测试的优缺点

黑匣子测试的优点:使用方便,只需关注PRD和业务逻辑,测试人员就可以在不受特定编程语言知识压力的情况下测试APP应用/软件的可靠性和功能性; 用户视角,更符合现实用户使用场景; 有助于识别功能规格的矛盾和歧义。

黑匣子测试的缺点:测试质量的高低影响着测试工程师的经验,测试工程师的经验越高,越难覆盖有利于测试的异常场景,提供直观的测试覆盖率比较难的用例覆盖率低,测试工程师的经验越高不能测试所有可能的输入流。 因为它很费时间,最终很多程序路径都不会被测试。

3 .白盒测试

3.1白盒测试概念

白盒测试又称结构测试或逻辑驱动测试,是了解产品内部的工作过程,通过测试产品内部的工作是否按规格说明书规定正常进行,按照程序内部的结构测试程序,无论其功能如何,在程序中主要用于软件验证。

3.2白盒测试原理

的白盒测试是仔细检查软件的过程细节。 白盒测试视为打开测试对象的箱子,测试者利用程序内部的逻辑结构和相关信息设计或选择测试用例,测试所有逻辑路径,在程序的不同点检查程序状态,使其实际状态与预期状态一致白盒测试的主要方法有代码检查法、静态结构分析法、基本路径分析法、逻辑展望法等。

3.3白盒测试的目的

白盒测试主要想对程序模块进行以下检查。 至少测试一次程序模块的所有独立执行路径; 对于所有逻辑判定,取"真"的情况和取"假"的情况都至少不能测定一次; 测试在循环边界和运行边界内运行循环体的内部数据结构的有效性等。

3.4白盒测试的优缺点

白盒测试的优点:(白盒测试在一定程度上涵盖特定程序的结构特性,或要求“基于覆盖度的测试”)让测试人员仔细考虑软件的实施; 容易自动化; 对用例覆盖率高、能够检查代码中各分支和路径的异常场景容易发现的代码进行了深入的测试,可以揭示代码中隐藏的错误。

白盒测试的缺点:投入成本高,价格昂贵; 从更多的开发角度,无法检测从容易脱离业务的代码中泄露的路径和数据的机密性错误。 不能坚持程序外部特征的白盒测试也不能验证规格的正确性; 即使测试了每个路径,也可能发生错误。

5结论

软件测试存在测试不完整性、不确定性等致命缺陷。 这是因为任何程序都只能对数量巨大的包罗万象进行有限的测量

试。黑盒测试与白盒测试相辅相成,各有所长,两者并不矛盾。且两者都是保障产品质量的不同手段,软件测试需要两者的结合。黑盒测试对于确保系统按照预期实现很关键,而实现黑盒测试并不需要掌握太多的编码知识,因为它检查的是整个软件或者软件功能,而不需要检查代码。这个时候进行白盒测试所需要掌握的了解系统的逻辑过程和工作原理更加重要。

参考文献:
[1]:软件工程导/zzdjm,jddhm编著.-6版-北京:清华大学出版社,2013(2020.6重印)
[2]软件测试技术基础/jxdbq,中国水利水电出版社,2013
[3]软件测试/朴实的外套,人民邮电出版社,2011
[4]软件测试技术/xsdct,中国水利水电出版社,2001
[5]软件测试教程/lcdddp,电子工业出版社,2010
图片来源网址:
[1]:https://pic1.zhimg.com/v2-a460bdccc5afe14e3077ecb480271ef8_1440w.jpg?source=172ae18b

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。