![codecamp](https://atts.w3cschool.cn/attachments/image/20230811/1691741920856601.png)
软件测试 白盒测试
作者:
Maxsu
Java技术QQ群:227270512 / Linux QQ群:479429477
软件测试的盒子测试方法包括黑盒测试和白盒测试。在这里讨论白盒测试,也称为玻璃盒测试,结构测试,开箱测试和透明盒测试。它测试软件的内部编码和基础设施,重点是根据预期和期望的输出检查预定义的输入。它基于应用程序的内部工作方式,并围绕内部结构测试。在这种类型的测试中,编程测试用例需要编程技巧。白盒测试的主要目标是通过软件关注输入和输出流,并加强软件的安全性。
由于系统的内部透视,使用术语“白盒子”。透明框或白框或透明框名称表示能够透过软件的外壳进入其内部工作。
白盒测试的测试用例源自软件开发生命周期的设计阶段。数据流测试,控制流测试,路径测试,分支测试,声明和决策覆盖所有这些技术使用白盒测试作为创建无错误软件的指南。
白盒测试遵循一些工作步骤,使测试易于管理,并且易于理解下一个要完成的任务。执行白盒测试有一些基本步骤。
白盒测试的通用步骤
- 设计所有测试场景,测试用例并根据高优先级编号对其进行优先级排序。
- 此步骤涉及在运行时研究代码以检查资源利用率,而不是访问代码区域,各种方法和操作所花费的时间等。
- 在此步骤中,将对内部子例程进行测试。内部子例程(如非公共方法,接口)能够适当地处理所有类型的数据。
- 此步骤侧重于测试控制语句(如循环和条件语句),以检查不同数据输入的效率和准确性。
- 在最后一步中,白盒测试包括安全测试,通过查看代码如何处理安全性来检查所有可能的安全漏洞。
白盒测试的原因
- 它识别内部安全漏洞。
- 检查代码中的输入方式。
- 检查条件循环的功能。
- 在单个级别测试函数,对象和语句。
白盒测试的优点
- 白盒测试可以优化代码,从而可以识别隐藏的错误。
- 白盒测试的测试用例可以轻松实现自动化。
- 此测试比其他测试方法更全面,因为它涵盖了所有代码路径。
- 即使没有GUI,它也可以在SDLC阶段启动。
白盒测试的缺点
- 在大规模编程应用程序中,白盒测试耗费太多时间。
- 白盒测试非常昂贵且复杂。
- 它可能导致生产错误,因为开发人员没有详细说明。
- 白盒测试需要具备编程语言和实现的详细知识和理解的专业程序员。
白盒测试中使用的技术
测试技术 | 描述 |
---|---|
数据流测试 | 数据流测试是一组测试策略,用于检查程序的控制流程,以便根据事件的顺序探索变量的顺序。 |
控制流程测试 | 控制流测试通过控制结构确定语句或程序指令的执行顺序。程序的控制结构用于开发程序的测试用例。在该技术中,测试者选择大程序的特定部分来设置测试路径。测试用例由程序的控制图表示。 |
分支覆盖测试 | 分支覆盖技术用于覆盖控制流图的所有分支。它至少涵盖决策点的每个条件的所有可能结果(真实和错误)。 |
语句覆盖测试 | 语句覆盖技术用于设计白盒测试用例。该技术涉及至少执行一次源代码的所有语句。它用于计算源代码中执行语句的总数,在源代码中存在的总语句中。 |
决策覆盖测试 | 此技术报告布尔表达式的真假结果。每当语句中有两个或多个结果的可能性时,如while语句,if语句和case语句(控制流语句),这些都视为决策点,因为有两个结果为true 或false 。 |