常见的测试方法

一般和界面打交道的测试人员只会用到黑盒测试的方法,因为没有代码阅读的权限。
白盒测试偏向于代码化的测试用例设计,并且将其自并入CICD。

黑盒测试用例设计方法

黑盒测试侧重于从用户的角度验证系统功能是否符合需求,而不关注代码的内部实现。
这里要说明测试方法不是铁板一块,在测试用例设计的过程中通常会涉及多种方法的共用,这一点只能通过经验慢慢消化。
例如:等价类和边界值结合,决策表和错误推测结合等。

  1. 等价类划分

    • 描述:将输入数据划分为多个等价类,选取每个类的代表值作为测试用例,减少测试数量但仍能有效覆盖。
    • 适用场景:适用于验证输入的有效性、边界条件等。
  2. 边界值分析

    • 描述:测试数据的边界值,包括上边界、下边界以及临界值。因为错误通常发生在边界附近。
    • 适用场景:适用于输入域为连续的情境,如数值范围、数组大小等。
  3. 决策表测试

    • 描述:通过构建决策表,描述输入条件与对应的输出结果,生成测试用例以覆盖不同的决策组合。
    • 适用场景:决策表是用来处理多个输入条件与输出结果之间的关系的,特别适用于多条件、多分支的情况,例如表单(多个输入)提交。
  4. 状态转换测试

    • 描述:根据系统的状态机模型,测试不同输入条件下的状态转换,确保系统在不同状态下的行为符合预期。
    • 适用场景:状态和状态之间的变化,特别适用于那些有明确状态变化和行为转换的系统。如账户状态、订单状态等。在跨模块,跨组件等状态观测中很重要。
  5. 因果图法

    • 描述:通过构建因果图(条件和结果之间的逻辑关系图),推导出最小的测试用例集。
    • 适用场景:因果图适用于复杂的逻辑关系,特别是当多个条件(可能通过与、或的逻辑关系)共同作用时,决定了系统的行为。用于验证系统在特定条件组合下的反应。构建出不同的条件进行结果的验证。
  6. 错误推测法

    • 描述:基于经验和常见的错误模式推测系统可能出错的地方,并针对这些区域设计测试用例。
    • 适用场景:适用于系统复杂,历史上有常见错误的情况。异常场景,包括系统不支持,或者系统不确定是否支持的异常构造。

白盒测试用例设计方法

白盒测试侧重于检查程序内部的结构和逻辑实现,要求测试人员了解代码细节。

  1. 语句覆盖

    • 描述:设计测试用例确保程序中的每一条语句都至少执行一次。
    • 适用场景:适用于验证每条语句是否都被执行。
  2. 分支覆盖

    • 描述:确保程序中的每一个分支(如 if-else、switch-case 等)都被至少执行一次,以覆盖所有分支路径。
    • 适用场景:适用于检查决策语句的执行情况。
  3. 路径覆盖

    • 描述:确保程序中每条可能的执行路径都被至少执行一次。通常比语句覆盖和分支覆盖更全面。
    • 适用场景:适用于检查复杂控制流的完整性。
  4. 条件覆盖

    • 描述:确保程序中的每一个条件表达式(如 if 条件语句)在不同的输入下都能执行“真”或“假”路径。
    • 适用场景:适用于检查条件语句的执行逻辑。
  5. 条件判定覆盖

    • 描述:结合条件覆盖和分支覆盖,确保每个条件在每个分支路径中都能被验证。
    • 适用场景:适用于需要验证条件判定的逻辑复杂性。
  6. 循环测试

    • 描述:通过设计测试用例确保循环语句(如 for、while 等)中的各种情况被覆盖,包括零次、一遍、多遍及无限次循环。
    • 适用场景:适用于含有循环的程序段,确保循环边界条件和不同循环次数都能被执行。
  7. 数据流测试

    • 描述:通过检查程序中数据的定义和使用,确保数据的每一个定义点和使用点之间的关系都得到验证。
    • 适用场景:适用于涉及复杂数据流和变量作用域的系统。
posted @   代码世界faq  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示