关于黑盒测试和白盒测试的那些事儿

软件测试是实施软件或应用程序以识别缺陷或错误的过程。它涉及使用手动或自动工具执行软件/系统组件,以评估一个或多个感兴趣的属性。软件测试的目的是识别与实际需求相比的错误、差距或缺失的需求。为了测试一个应用程序或软件,我们需要遵循一些原则来使我们的产品没有缺陷,这也有助于测试工程师用他们的努力和时间来测试软件。

PS:这里有一套2022最新版的软件测试全套自学教程,包含了以下内容,记得一定要下载下来:

? 200集视频教程

? 教学课件

? 18套项目源码

? 67套测试工具软件包

? 100个实景测试面试题

? 162个面试简历模板(信息完整)

有些人更喜欢将软件测试定义称为白盒测试和黑盒测试。

黑盒测试

在这种方法中,测试人员选择一个函数并给出输入值来检查它的功能,并检查该函数是否给出了预期的输出。如果函数产生正确的输出,则通过测试,否则失败。测试团队将结果 告给开发团队,然后测试下一个功能。在完成所有功能的测试后,如果出现严重问题,则将其返回给开发团队进行纠正。

黑盒测试的一般步骤

黑盒测试是基于需求的规范,所以在一开始就进行检查。

在第二步中,测试人员通过选择有效和无效的输入值来创建一个积极的测试场景和一个不利的测试场景,以检查软件是否正确或不正确地处理它们。

第三步,测试人员开发各种测试用例,如决策表、全对测试、等价划分、误差估计、因果图等。

第四阶段包括所有测试用例的执行。

第五步,测试人员将预期输出与实际输出进行比较。

在第六步也是最后一步,如果软件有任何缺陷,则对其进行修复并再次测试。

测试程序

黑盒测试的测试过程是测试人员对软件的工作有特定的了解,并开发测试用例来检查软件功能的准确性的过程。

它不需要软件的编程知识。所有测试用例都是通过考虑特定函数的输入和输出来设计的。测试人员知道特定输入的确定输出,但不知道结果是如何产生的。黑盒测试中有多种技术用于测试,如决策表技术、边界值分析技术、状态转换、全对测试、因果图技术、等价划分技术、错误猜测技术、用例技术和用户故事技术。

测试用例是根据需求的规范创建的。这些测试用例通常是根据软件的工作描述创建的,包括需求、设计参数和其他规范。对于测试,测试设计人员通过采用有效输入值来选择正面测试场景,并通过采用无效输入值来选择负面测试场景以确定正确的输出。测试用例主要用于功能测试,但也可用于非功能测试。测试用例由测试团队设计,软件开发团队不参与。

黑盒测试中使用的技术

1.决策表技术

决策表技术是一种系统方法,其中以表格形式捕获各种输入组合及其各自的系统行为。它适用于在两个和两个以上输入之间具有逻辑关系的函数。

2.边界值技术

边界值技术用于测试边界值,边界值是包含变量上限和下限的值。它在输入边界值时测试软件是否产生正确的输出。

3.状态转换技术

状态转换技术用于在将不同输入值赋予同一功能时捕获软件应用程序的行为。这适用于那些提供特定次数尝试访问应用程序的应用程序。

4.全对测试技术

全对测试技术用于测试所有可能的离散值组合。这种组合方法用于测试使用复选框输入、单选按钮输入、列表框、文本框等的应用程序。

5.因果技术

因果技术强调给定结果与影响结果的所有因素之间的关系。它基于一系列需求。

6.等价划分技术

等效分区是一种软件测试技术,其中输入数据分为有效值和无效值的分区,并且强制所有分区必须表现出相同的行为。

7.错误猜错技术

错误猜测是一种没有特定方法来识别错误的技术。它基于测试分析师的经验,测试人员使用经验来猜测软件的问题区域。

8.用例技术

用例技术用于根据系统的使用情况识别从系统开始到结束的测试用例。通过使用这种技术,测试团队创建了一个测试场景,可以根据每个功能的功能从头到尾运行整个软件。

白盒测试

白盒测试,也称为玻璃盒测试,结构测试,透明盒测试,开盒测试和透明盒测试。

它测试软件的内部编码和基础设施,重点是检查预定义的输入与预期和期望的输出。它基于应用程序的内部工作原理,并围绕内部结构测试展开。在这种类型的测试中,需要编程技能来设计测试用例。白盒测试的主要目标是关注软件的输入和输出流,并加强软件的安全性。

由于系统的内部观点,使用术语“白盒”。透明框或白框或透明框名称表示能够透过软件的外壳看到其内部工作。

开发人员进行白盒测试。在此,开发人员将测试程序的每一行代码。开发人员执行白盒测试,然后将应用程序或软件发送给测试团队,在那里他们将执行黑盒测试,并验证应用程序以及需求并识别错误并将其发送给开发人员。

开发人员修复错误并进行一轮白盒测试并将其发送给测试团队。在这里,修复错误意味着删除了错误,并且特定功能在应用程序上运行良好。

在这里,测试工程师不会参与修复缺陷,原因如下

修复错误可能会中断其他功能。因此,测试工程师应该始终找到错误,而开发人员仍然应该进行错误修复。

如果测试工程师大部分时间都在修复缺陷,那么他们可能无法找到应用程序中的其他错误。

白盒测试的一般步骤

设计所有测试场景、测试用例并根据高优先级对它们进行优先级排序。

1.涉及在运行时研究代码以检查资源利用率、未访问的代码区域、各种方法和操作所花费的时间等。

2.会进行内部子程序的测试。内部子程序(例如非公共方法、接口)能够适当地或不适当地处理所有类型的数据。

3.侧重于测试循环和条件语句等控制语句,以检查不同数据输入的效率和准确性。

4.白盒测试包括安全测试,通过查看代码如何处理安全性来检查所有可能的安全漏洞。

白盒测试的原因

1.它识别内部安全漏洞。

2.检查代码内部的输入方式。

3.检查条件循环的功能。

4.在个人层面测试功能、对象和陈述。

白盒测试的优势

1.白盒测试优化代码,因此可以识别隐藏的错误。

2.白盒测试的测试用例可以很容易地自动化。

3.此测试比其他测试方法更彻底,因为它涵盖了所有代码路径。

4.即使没有 GUI,它也可以在 SDLC 阶段启动。

白盒测试的缺点

1.对于大型编程应用程序,白盒测试非常耗时。

2.白盒测试非常昂贵和复杂。

3.它可能导致生产错误,因为开发人员没有详细说明。

4.白盒测试需要对编程语言和实现有详细了解和理解的专业程序员。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月27日
下一篇 2022年3月27日

相关推荐