六、黑盒测试方法论

常用测试方法

  • 等价类划分
  • 边界值分析
  • 因果图
  • 判定表
  • 决策树
  • 探索式测试

一、等价类

  • 输入域明确:把程序的输入域划分成若干子集
  • 分类:从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。
  • 常见分类:有效、无效等价类

等价类划分案例

  • 注册某个网站,要求用户名的长度为612的数字与字母组合而成的字符,密码长度为816位的数字、字母的组合。请写出测试案例。
  • 识别输入域分类:
    • 用户名:6~12数字与字母
    • 密码:8~16数字字母组合

用户名测试例子

image.png

二、边界值

  • 根据经验大多数的错误都是来自于对边界值的处理不严谨,所以把边界值作为重点测试数据
  • 边界值测试法是对等价类的补充

用边界值测试法补充测试用例

image.png

三、因果图与判定表

  • 因果图是有向图,显示因果模型中变量之间的因果关系。因果图包括一组变量(或节点)。每个节点通过箭头连接到一个或多个对其具有因果影响的其他节点。箭头描绘了因果关系的方向

  • 在软件测试中,因果图是有向图,可以将一组原因映射到一组结果。可以将原因视为程序的输入,而可以将结果视为输出。通常,该图在左侧显示代表原因的节点,在右侧显示代表影响的节点。它们之间可能存在中间节点,这些中间节点使用诸如AND和OR的逻辑运算符组合输入。


    image.png

判定表概念

  • 一种表达因果关系的逻辑表达方式
  • 使用表格分类条件、中间结果、最终结果之间的关系

判定表例子

image.png

四、决策树

  • 判定表也可以用决策树表示
  • 决策树比因果图和判定表更好
  • 可以用流程图表示决策树
image.png

因果图、判定表、决策树

  • 这三者本质一样用于表达流程关系,只是表现形式不同
  • 他们的含义其实就是编程逻辑if else switch
  • 测试过程中可以用流程图去表达
  • 黑盒的流程图与白盒的路径流程是存在关联关系的

五、探索式测试

  • 探索性测试是一种软件测试风格,简而言之就是同步学习,测试设计和测试执行。
  • 塞姆·坎纳(Cem Kaner)于1984年创造了该术语,将探索性测试定义为”一种软件测试风格,强调个人测试者的个人自由和责任,以通过对待与测试相关的学习来不断优化其工作质量


    image.png

探索式测试的认知

  • 探索式测试是一种基于上下文质量反馈的测试风格
  • 基于上下文的反馈,适时调整测试执行
  • 探索式测试通常被认为是黑盒测试技术。在白盒测试中也可以应用类似的思想去实施(基于实时反馈的精准化测试)

探索式测试的优缺点

  • 成本低,可以不用提前设计大量测试用例
  • 可以激发测试工程师的创造性,更快的发现问题
  • 对测试的覆盖度无法进行有效保障
  • 多数测试活动都是由探索式测试与脚本式用例结合
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容