一、基本概念

  • Test Requirements (TR) : Describe properties of test paths (描述了测试路径需要的元素)
  • Test Criterion : Rules that define test requirements (定义TR的规则)
  • Satisfaction : Given a set TR of test requirements for a criterion C, a set of tests T satisfies C on a graph if and only if for every test requirement in TR, there is a test path in path(T) that meets the test requirement tr
  • Structural Coverage Criteria : Defined on a graph just in terms of nodes and edges
  • Data Flow Coverage Criteria : Requires a graph to be annotated with references to variables

几种结构覆盖:

     Node Coverage (NC) :节点覆盖的TR中必须包含图G中每个可达的节点

Edge Coverage (EC) : TR contains each reachable path of length up to 1, inclusive, in G.(Notice: we define “length up to 1” instead of simply “length 1”目的是让所有的图都能具有这几种结构覆盖的定义,包括只有一个节点的图,类似的还有边对覆盖对于只有两个节点的图的情况)

     Edge-Pair Coverage (EPC) : TR contains each reachable path of length up to 2, inclusive, in G. (边对覆盖)

Complete Path Coverage (CPC) : TR contains all paths in G.  (完全路径覆盖,当然如果路径中有循环则所有情况是不可能完全列举出来,因此CPC并不合理)

Specified Path Coverage (SPC):指定路径覆盖,即指定测试路径集合S,但是测试路径并不令人满意,因为会随着测试者的变动结果会变得不一样

二、示例

现在可以使用主路径处理循环问题

三、Simple Paths and Prime Paths (简单路径和主路径)

    Simple Path : A path from node ni to nj is simple if no node appears more than once, except possibly the first and last nodes are the same (无环或者初始节点同时为最后节点)

Prime Path : A simple path that does not appear as a proper subpath of any other simple path (意思是这一条简单路径不能成为其他简单路径的子路径,我们称这条路径为主路径。)

Prime Path Coverage:TR contains each prime path in G.(主路径覆盖,将会遍历所有长度为0,1及以上的,意味着包括了点覆盖和边覆盖,但是边对覆盖不是主路径覆盖的子集)

例题

【解】

从每一个点向后扩展(也可以向前扩展或者两边扩展)

!表示扩展到结尾或者再向下扩展不再是简单路径,如0123!

*表示扩展到首尾相同

len=0

len=1

len=2

len=3

len=4

0

01

012

0123!

015

0156!

04

046!

1

12

123

1231*

15

156!

2

23

231

2312*

2315

23156!

3

31

312

3123*

315

3156!

4

46!

44*

5

56!

6!

Prime Path:

2→3→1→5→6    ,    0→1→2→3    ,    0→1→5→6    ,    1→2→3→1    ,    2→3→1→2    ,    3→1→2→3    ,    0→4→6    ,    4→4

Test Path1:    0→1→2→3→1→2→3→1→5→6

Test Path2:    0→4→4→6

Test Path3:    0→1→5→6

Test Path4:    0→4→6

由于本题从控制流图开始,未给出题目描述,无法给出测试用例。

  输入数据 预期输出
测试用例1    
测试用例2    
测试用例3    
测试用例4    

Graph Coverage相关推荐

  1. 软件变异体测试(mutation test)

    首先给出一个Web工具帮助搞软件测试研究的人员类实现:graph coverage,edge-pair coverage,prime path coverage,logic coverage http ...

  2. 便携式激励vs形式化vsUVM验证方法在IP块的整个生命周期中的比较分析

    摘要-验证技术和方法不断发展,以应对日益严峻的验证挑战.当今行业的最新技术是基于UVM和基于形式化(Formal)的验证流程.事实证明,这两种技术都可以显著提高验证质量,但缺点是测试用例或激励不能&q ...

  3. MIT Graph实践概述

    MIT Graph实践概述 Features功能 • iCloud Support • Multi Local & Cloud Graphs • Thread Safe • Store Any ...

  4. Paper:《Graph Neural Networks: A Review of Methods and Applications》翻译与解读

    Paper:<Graph Neural Networks: A Review of Methods and Applications>翻译与解读 目录 <Graph Neural N ...

  5. Grain: Improving Data Efficiency of Graph Neural Networks via Diversified Influence Maximization分析

    Grain论文详解 Link: Grain: Improving Data Efficiency of Graph Neural Networks via Diversified Influence ...

  6. bfgs sherman_介绍Sherman(第2部分)–一个Unity项目,其中包含动画师的实时毛发,HDRP和Visual FX Graph

    bfgs sherman Created by the Emmy-winning team that brought you Baymax Dreams, Sherman is a new real ...

  7. 【论文阅读】Rethinking S-T Networks with Improved Memory Coverage for Efficient Video Object Segmentation

    一篇NeurIPS 2021的关于VOS (video object segmentation) 的文章,文章的思想很有借鉴价值. 论文链接 Rethinking Space-Time Network ...

  8. 图融合GCN(Graph Convolutional Networks)

    图融合GCN(Graph Convolutional Networks) 数据其实是图(graph),图在生活中无处不在,如社交网络,知识图谱,蛋白质结构等.本文介绍GNN(Graph Neural ...

  9. Graph Representation 图神经网络

    Graph Representation 图神经网络 图表示学习(representation learning)--图神经网络框架,主要涉及PyG.DGL.Euler.NeuGraph和AliGra ...

最新文章

  1. 计算机与音乐课题,泉州实验小学《小学音乐学科教学与信息技术整合的研究》结题报告...
  2. python获取局域网内的设备_python调用nmap探测局域网设备
  3. 电脑键盘上每个键作用
  4. 2016电大计算机网考,2016年电大-电大计算机网考题库[].doc
  5. Gradle之使用Gradle的命令行
  6. linux服务器_Linux 服务器为什么被黑?
  7. mysql存储数据到cephfs_1.4 cephfs挂载
  8. JavaScript中的eval函数
  9. 如何使用 Selenium 在 HTML 文本输入中模拟按 Enter 键?
  10. 《黑客与画家》摘要读后感
  11. 技术分享 | 误删表以及表中数据,该如何恢复?
  12. Revit二次开发入门相关安装和配置
  13. 软件即服务(saas)_什么是SaaS? 定义软件即服务
  14. QTabWidget样式表
  15. 常用的css特效(一)
  16. 解决echarts在360浏览器兼容模式和ie浏览器不兼容问题
  17. Android ReactNative 极光、友盟、高德地图、支付宝、微信支付解决方案
  18. 解决IE8 SysFader错误的方法
  19. java编写2 22 222_Java 基础编程二
  20. c语言结构体的定义与说明

热门文章

  1. css3实现加载进度条的效果(二)
  2. javaSE I/O流(一)—— File类
  3. 转载:汇总详解:矩阵的迹以及迹对矩阵求导
  4. 深度学习阅读导航 | 04 FPN:基于特征金字塔网络的目标检测
  5. 自定义View-仿QQ运动步数进度效果(完整代码)
  6. Typora简单传图(Typora+PicGo-Core+SMMS/阿里云OSS 实现图床)
  7. 男女老少皆宜的15种瘦身食物,著名人生保健专家撰写
  8. 重磅:2019 前端开发者进阶指南.pdf
  9. 杏子语录(2020年01月)
  10. oracle权限with admin option和with grant option的用法