Graph Coverage
一、基本概念
- 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相关推荐
- 软件变异体测试(mutation test)
首先给出一个Web工具帮助搞软件测试研究的人员类实现:graph coverage,edge-pair coverage,prime path coverage,logic coverage http ...
- 便携式激励vs形式化vsUVM验证方法在IP块的整个生命周期中的比较分析
摘要-验证技术和方法不断发展,以应对日益严峻的验证挑战.当今行业的最新技术是基于UVM和基于形式化(Formal)的验证流程.事实证明,这两种技术都可以显著提高验证质量,但缺点是测试用例或激励不能&q ...
- MIT Graph实践概述
MIT Graph实践概述 Features功能 • iCloud Support • Multi Local & Cloud Graphs • Thread Safe • Store Any ...
- Paper:《Graph Neural Networks: A Review of Methods and Applications》翻译与解读
Paper:<Graph Neural Networks: A Review of Methods and Applications>翻译与解读 目录 <Graph Neural N ...
- 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 ...
- 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 ...
- 【论文阅读】Rethinking S-T Networks with Improved Memory Coverage for Efficient Video Object Segmentation
一篇NeurIPS 2021的关于VOS (video object segmentation) 的文章,文章的思想很有借鉴价值. 论文链接 Rethinking Space-Time Network ...
- 图融合GCN(Graph Convolutional Networks)
图融合GCN(Graph Convolutional Networks) 数据其实是图(graph),图在生活中无处不在,如社交网络,知识图谱,蛋白质结构等.本文介绍GNN(Graph Neural ...
- Graph Representation 图神经网络
Graph Representation 图神经网络 图表示学习(representation learning)--图神经网络框架,主要涉及PyG.DGL.Euler.NeuGraph和AliGra ...
最新文章
- 计算机与音乐课题,泉州实验小学《小学音乐学科教学与信息技术整合的研究》结题报告...
- python获取局域网内的设备_python调用nmap探测局域网设备
- 电脑键盘上每个键作用
- 2016电大计算机网考,2016年电大-电大计算机网考题库[].doc
- Gradle之使用Gradle的命令行
- linux服务器_Linux 服务器为什么被黑?
- mysql存储数据到cephfs_1.4 cephfs挂载
- JavaScript中的eval函数
- 如何使用 Selenium 在 HTML 文本输入中模拟按 Enter 键?
- 《黑客与画家》摘要读后感
- 技术分享 | 误删表以及表中数据,该如何恢复?
- Revit二次开发入门相关安装和配置
- 软件即服务(saas)_什么是SaaS? 定义软件即服务
- QTabWidget样式表
- 常用的css特效(一)
- 解决echarts在360浏览器兼容模式和ie浏览器不兼容问题
- Android ReactNative 极光、友盟、高德地图、支付宝、微信支付解决方案
- 解决IE8 SysFader错误的方法
- java编写2 22 222_Java 基础编程二
- c语言结构体的定义与说明
热门文章
- css3实现加载进度条的效果(二)
- javaSE I/O流(一)—— File类
- 转载:汇总详解:矩阵的迹以及迹对矩阵求导
- 深度学习阅读导航 | 04 FPN:基于特征金字塔网络的目标检测
- 自定义View-仿QQ运动步数进度效果(完整代码)
- Typora简单传图(Typora+PicGo-Core+SMMS/阿里云OSS 实现图床)
- 男女老少皆宜的15种瘦身食物,著名人生保健专家撰写
- 重磅:2019 前端开发者进阶指南.pdf
- 杏子语录(2020年01月)
- oracle权限with admin option和with grant option的用法