基本路径测试是将程序流程图转化为控制流图,通过分析控制结构的环路复杂性,进而找出路径的基本独立集,最终导出测试用例。

基本独立集:

从基本独立集导出的测试用例保证对程序中的每一条语句至少执行一次。

控制流图:

定义:

百度百科:

是一个过程或程序的抽象表现,是用在编译器中的一个抽象数据结构,由编译器在内部维护,代表了一个程序执行过程中会遍历到的所有路径。它用图的形式表示一个过程内所有基本块执行的可能流向, 也能反映一个过程的实时执行过程。

个人理解:

控制流图是顶点和有向边的集合。

顶点分为:

1. 初始节点Vb和结束节点Ve。初始节点入度为零(即没有进入初始节点的边),结束节点出    度为零(即没有出去的边)。

2. 判断节点D。(即出度为二,例如if语句,while语句等)、

3. 顺序节点S。(表示一块连续的语句群)

几种结构:

程序流程图如何转化为控制流图:

图中R1 R2 R3 R4 是将整个平面分成四个互不重叠的封闭区域。

基本路径:

基本路径就是从Vb到v1,v2......Ve的一条路径。(不包含重复的任意一段路)

例如:

P1:vb,v1,v2,v1,v2,ve   不是一条基本路径,因为v1->v2走了两边,重复。

P2:vb,v1,v2,v3,v1,v3,ve   是一条基本路径,虽然多次出现v1,v3,但是并未重复。

环路复杂性:

用于基本路径测试,计算所得的值是程序基本集的独立路径数量,这个数量是确保程序中所有语句至少执行一次而必须进行测试数量的上界。

计算方法:

1. 控制流图中的区域数量,例如上面图二被分为四个区域,因此复杂性为4。

2. 环路复杂性=E-N+2。E为控制流图中边的数量,N为节点数量。

3. 判定节点的数量加一。

例如:

导出测试用例:

从初始节点开始,沿着控制流图向结束节点前进。按照从简单到复杂依次找出所有路径。

图矩阵法:

导出流图或者决定基本路径的过程都需要机械化或者自动化。为了开发这种软件,需要用到称为图矩阵的数据结构。

图矩阵:

是一个正方形矩阵,它的大小(即行或列数)等于流图节点数。

每行和每列都对应于标识的节点,矩阵项对应节点间的连接。

​​​​​​​

白盒测试——基本路径测试相关推荐

  1. 白盒测试之路径测试练习

    白盒测试之路径测试练习 1 class sjx(): #输入三条边,进行判断,是否为等边,等腰及普通三角形,如果不是输出不能组成三角形,用函数实现 3 def triangle(self,a,b,c) ...

  2. 结构测试(白盒测试) 路径测试和数据流测试

    结构测试(白盒测试)  Structure Test 结构性测试的方法:路径测试.数据流测试 结构性测试力求提高测试覆盖率. 结构性测试主要用于软件验证: are we creating a syst ...

  3. 白盒测试——称重3次找到假球(基本路径测试)

    问题描述 使用白盒测试用例设计方法为下面的程序设计测试用例(基本路径测试)并Junit下测试: 程序要求 10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球. 程序设计思路 第一次使用 ...

  4. 白盒测试——静态测试/逻辑覆盖/基本路径测试

    一.实验目的 能够掌握白盒测试的静态测试.逻辑覆盖(语句覆盖.判定覆盖.条件覆盖.判定-条件覆盖.条件组合覆盖.路径覆盖).基本路径测试原理 能够运静态白盒测试.逻辑覆盖(语句覆盖.判定覆盖.条件覆盖 ...

  5. #9.白盒测试:数据流测试

    数据流测试 1.数据流分析 从数据流视角:程序是一个程序元素对数据访问的过程: 数据流关系:数据的[定义--使用]对: 出发点:对数据的不正确处理: 使用程序图来描述数据[定义--使用]对. 数据流测 ...

  6. #7.白盒测试:控制流测试

    白盒测试概念 白盒测试又叫结构测试,逻辑驱动测试,或基于程序本身的测试. 白盒测试的主要方法 1.控制流测试 逻辑覆盖 路径测试 2.循环测试 3.数据流测试 控制流测试 1.逻辑覆盖 不同的覆盖方式 ...

  7. 基本路径测试案例分析

    基本路径测试案例分析 Q:请使用基本路径测试对该程序进行测试: 二分查找 public int binSearch(int arr[], int objectValue) {int left = 0; ...

  8. 软件测试条件覆盖怎么画流程图,软件测试流程图白盒测试条件覆盖路径覆盖.doc...

    软件测试流程图白盒测试条件覆盖路径覆盖.doc 上传人:ms****95 文档编号:43341421 上传时间:2020-01-21 格式:DOC 页数:7 大小:235.50KB 下载提示(请认真阅 ...

  9. 软件质量保证常用测试方法---边界值测试,等价类测试,路径测试

    本文内容整理自西安交通大学软件学院杜小智老师的mooc附件ppt mooc链接:软件质量保证_中国大学MOOC(慕课) 文章目录 测试方法 边界值分析技术 边界值选择的基本原则 边界值测试分类 边界值 ...

最新文章

  1. postbody传参_post传参params与body的区别(@RequestParam和@RequestBody的区别)
  2. 使用Netbeans创建java Web项目
  3. 【bzoj1951】 Sdoi2010—古代猪文
  4. 关系型数据库之Mysql备份(五)
  5. php和java的memcached使用的兼容性问题解决过程
  6. SAP配置webdynpro完全手册 .
  7. Hibernate的generator属性
  8. php object 对象不存在。增加对象_PHP核心
  9. linux新手入门-2.开局
  10. 前端人脸识别--两张脸相似度
  11. office修复找不到msi_Microsoft Office安装程序找不到ProPlus.WW\ProPlusWW.msi
  12. 企业版微信公众号从零开始之一(注册账号)
  13. Android:通过systrace进行性能分析及使用-详细
  14. linux androidx86双系统,实用教程:PC实现Windows/原生安卓双系统
  15. XUI 熟练使用之(三) -----------启动页( SimpleGuideBanner的使用)
  16. 排名:百度小程序 微信 + 支付宝 + 百度 + 头条 商城源码-拓客营销
  17. 云南省初中计算机说课稿,云南省实验教材《信息技术》说课稿范文(9页)-原创力文档...
  18. 怎么和你的老板谈工资
  19. photoshop人像调色动作教程
  20. 冰心玉壺─絕句賞析【玉階怨   李白】玉階生白露……

热门文章

  1. stram流两个list的交集差集
  2. centos 一键安装lamp
  3. 计算机科学和建工程的区别,计算机科学与计算机工程的区别在哪里
  4. 【笔试题】2020年秋招爱奇艺校园招聘测试开发卷
  5. linux系列安装python3.0以上的版本
  6. 精伦身份证阅读器php_精伦IDR210-1(免驱)身份证阅读器
  7. 创业公司融资PPT模板
  8. 全国综合性地方门户网站系统
  9. 使用Servlet实现简单的登录验证
  10. 良仓孵化器一周年了,汇报一下