一、 黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。几种常用的黑盒测试方法和黑盒测试工具有,等价类划分法、边界值分析法、因果图法、决策表法。在实际运用中要选择合适的方法。

二、 因果图法:等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。因果图法着重测试规格说明中的输入与输出间的依赖关系。

1、 因果图的符号的关系

以下是符号的具体说明:

原因→结果

原因→原因

结果→结果

2、因果图法测试用例的设计步骤

(1)确定软件规格(需求)中的原因和结果

(2)确定原因和结果之间的逻辑关系

(3)确定因果图中的各个约束(constraints)

(4)画出因果图并转换为决策表

(5)根据决策表设计测试用例

三、实例分析

产品说明书:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。

(1)确定需求中的原因与结果

(2)确定原因与结果的逻辑关系

C1 与 C2 需要一个中间结果Cm1, C3、C4、C5 需要一个中间结果Cm2.

(3)确定因果图中的约束

C1 与 C2 是或的关系, C3、C4、C5 是或的关系。

(4)画出因果图并转化为决策表

决策表

 

简化版

(5)根据决策表设计测试用例

最新文章

  1. System V IPC(1)-消息队列
  2. linux 学习之路
  3. 2016.07.14,英语,《Vocabulary Builder》Unit 25
  4. git学习——<一>git安装
  5. 一个js加css加html完成的HTML
  6. ES6-个人学习笔记二--解构赋值
  7. JDK动态代理实现原理--转载
  8. javascript 数组的常用操作函数
  9. 枚举 UIButton补充
  10. PAT (Basic Level) Practise (中文) 1017. A除以B (20)
  11. Java-----关于线程池的使用
  12. C#下用于同时使用OpenCvSharp和Emgu.CV两个库的相互转换库
  13. [Linux] PHP-FPM开启慢日志记录
  14. 使用jquery刷新当前页面、刷新父级页面
  15. 【CF744D】Hongcow Draws a Circle 二分+几何
  16. TortoiseGit的使用
  17. HTML(具体代码看笔记本)
  18. js动态的属性名如何取该属性的值
  19. 编程中经常看到上下文context,这个上下文指得是什么?
  20. Linux挂载Win共享文件夹 一

热门文章

  1. 【雅思】【绿宝书错词本】List13~24
  2. Invalid escape sequence at line 1 column 29 path $[0].name
  3. MyCAT+MySQL搭建高可用企业级数据库集群视频课程
  4. [openssl][nginx] 使用openssl模拟ssl/tls客户端测试nginx stream
  5. LB_Keogh
  6. [转] ubuntu16.04添加系统 service, 并设置开机自动启动
  7. tomcat访问manager
  8. vue slot 插槽详解
  9. b/s实现大文件上传分片上传断点续传
  10. C宏定义和使用