目录
前言
本文为整理记录学习《软件测试训练营》- 黑盒测试和白盒测试的笔记。如果有任何错误,请随时指出,感谢您的阅读。图片清晰度可能不够高,希望这不影响您的观看体验。本文部分内容及图片来源于网络,如有侵权,请联系删除
一、黑盒测试
1.定义
测试人员只关注软件的功能和用户界面,而不考虑软件的内部结构或代码。测试人员通过输入不同的数据和操作来验证软件是否按照规格说明书的要求正常运行
2.分类
①等价划分(EP)
通过将输入数据分为等价类来减少测试用例的数量,每个等价类包含相似的输入数据,因为测试一个等价类中的一个值通常可以代表测试该等价类中的所有其他值
②边界值分析(BVA)
重点测试输入数据的边界情况,通过测试边界值,可以发现在接近边界的情况下系统的行为是否正确
③决策表测试
用于测试基于一组条件的决策,决策表将所有可能的条件组合并进行列出,以确保每种情况都被测试到
④状态转换测试
用于测试系统在不同状态下的行为。测试用例设计包括从一个状态到另一个状态的转换,以确保系统在状态之间正确地转换并保持一致性
3.等价划分和边界值分析的注意点
①每个值只属于一个分区
确保每个输入值或输出值只能属于一个等价类或边界值
②等价划分可以同时应用于输入值或输出值
等价划分可以同时应用于输入值或输出值:等价划分不仅适用于输入值,也适用于输出值,可以帮助确定期望的输出结果
③边界值分析可以同时应用于输入值或输出值
边界值分析可以同时应用于输入值或输出值:边界值分析不仅适用于输入值,也适用于输出值,有助于测试系统在边界情况下的行为
④有两种类型的分区:有效和无效的分区
确保对于每个输入值,都考虑了有效和无效的情况,以确保系统能够正确处理这些情况
⑤等价划分覆盖率
测试用例覆盖的分区数除以分区总数
⑥边界值分析覆盖率
测试用例覆盖的边界数除以边界总数
⑦测试来自同一分区的两个值不会增加覆盖率
测试同一分区的两个值不会增加覆盖率:在设计测试用例时,测试同一等价类或边界的不同值并不会增加覆盖率,因此需要选择代表性的值进行测试
⑧等价划分为EP
等价划分有时也被称为EP(Equivalence Partitioning),是一种有效的测试设计技术,可以帮助测试人员更有效地设计测试用例。扩展这些技术可以帮助测试人员更好地发现潜在的软件缺陷。
二、白盒测试
1.定义
测试人员关注软件的内部结构和代码,通过检查代码逻辑、路径覆盖等来验证软件是否按照设计要求正常运行。测试人员需要具备一定的编程和代码分析能力来进行白盒测试
2.分类
①语句覆盖测试
确保每个程序语句至少被执行一次。测试用例被设计为覆盖程序中的每个语句,以确保代码的完整性
②决策覆盖测试
确保程序中的每个条件决策都被覆盖。测试用例被设计为覆盖每个条件的所有可能取值,以确保程序在不同条件下的行为正确
③条件覆盖测试
确保每个条件的每个可能取值都被覆盖。测试用例被设计为覆盖每个条件的真值和假值,以确保程序在各种条件下的行为正确
④路径覆盖测试
确保程序中的每条路径都被执行至少一次,测试用例被设计为覆盖程序中的所有可能路径,以确保程序的各种执行情况都被测试到
⑤修改条件决策覆盖测试
确保每个条件的每个可能取值以及每个条件之间的组合都被覆盖,测试用例被设计为覆盖程序中所有条件和决策的各种组合情况
⑥循环测试
测试程序中的循环结构,测试用例被设计为覆盖循环的各种情况,包括循环次数为0、1、多次等情况,以确保程序在循环执行时的正确性。分为4种类型:①简单循环,最基本的循环结构,通过设置循环变量的初始值、终止条件和每次循环后的更新操作来控制循环的执行次数;②嵌套循环,在一个循环内部再嵌套一个或多个循环,这样可以实现多重循环结构;③连锁循环,多个循环之间相互关联,其中一个循环的执行次数取决于另一个循环的结果;④非结构循环,循环的次数不是固定的,而是根据条件动态确定的循环结构,通常使用while循环或do-while循环来实现
本文小结
本文介绍了黑盒测试和白盒测试的定义及分类。黑盒测试包括功能测试、非功能测试等分类,还重点介绍了等价划分和边界值分析技术。白盒测试则是了解软件内部结构和实现细节的测试方法,包括静态分析和动态分析。测试人员在测试时,可根据具体需求选择合适的测试方法,以确保软件质量