前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图覆盖准则

图覆盖准则

作者头像
归根落叶
发布2020-05-15 15:40:54
7970
发布2020-05-15 15:40:54
举报

——网易云课堂《开发者测试》课程笔记

这节我们来介绍,图覆盖准则。

有了图,我们如何来覆盖它,需要一些规则。通常我们可以进一步去扩展,一个子图可以从这一个点可达,是指从这个点出发,我们存在这么一条路径,到达这个子图,这个概念叫可达。特别需要注意可达要分为两种情况,第一个我们称之为语法可达,也就是在我们通过语法构建的某种图结构当中,是存在一条路径可以到达这个子图。另外一个叫语义可达,是指在实际的程序当中我们存在这么一个测试,可以跑到这个子图。从可达,我们可以拓展到我们测试里面一个非常重要的概念,也就是这一节的重点。 所谓覆盖,是指存在一条测试路径p,可以覆盖到某个顶点v,是指,这个v,顶点v,恰好就在这个路径里面。这里面特别需要注意在这里面我们强调的是测试路径,并不仅仅是路径。我们简单复习一下什么叫测试路径,是指这条路径的出发点是初始节点,结束点就是终结节点,这么一条路径我们才称之为测试路径。

请看这张图,我们在上节当中讲过这里存在4条测试路径,也就是在路径v1-v2-v4-v5-v7这条路径当中,那我们覆盖了,v5,当然也覆盖了1-2-4-7其他4个节点。我们可以进一步拓展,边的覆盖。所谓一个边被一个测试路径覆盖是指,这边恰好就在这个路径里面,比如刚才那条路径,就覆盖了,v4到v5这一条边。但是,刚才那条路径也就是1-2-4-5-7这条路径并没有覆盖到4-6这条边,虽然它已经覆盖了v4个顶点,但他没有覆盖到v4到v6这条边上,并不属于p这条路。可以想象的就是我们可以进一步拓展覆盖的概念,一个子路径p’,被一个测试路径p覆盖,是指p’恰好就在这个p里面。比如,我们一个子路径4-5-7,恰好被p这条路径给覆盖。有了覆盖的概念,我们可以定义一些图的覆盖准则。我们首先要做两个准备工作,第一,我们需要从一些软件资料去构建某一种图的模型,然后我们再去要求一些测试来覆盖,所谓的这些顶点,边或者一些子路径等等。 接下来我们介绍一种常见的图覆盖类型叫结构覆盖。所谓结构覆盖,是指我们仅仅关注图的点和边,并不在意里面的是什么?

我们请看这张图,这张图可以来自源代码,来自需求文档或者某种设计图。但当有这些资料抽象为一张图以后我们并不关心里面的什么,我们仅仅关心如何去覆盖这些点和边和相关的性质。另外一种常见的图覆盖类型叫数据流覆盖。

我们也看这张图,这时我们可以发现,我们已经在图的点和边上已经标注了一些程序信息,这些内容我们会在以后的章节给大家详细讲解。 我们接下来介绍了一个非常重要的概念,测试准则,可以分为以下几个概念分步介绍。 第一,测试需求,测试需求是指用来描述测试路径性质的一些定义。所谓测试准则,是指来描述测试需求的一些规则。

给定一个测试准则C,对应派生的一个测试需求集TR,我们称之为一个测试用例集T满足这个准则,是指这个测试需求里面的TR里面的每一个测试需求T,tr,都可以被这个大的测试用例集T的某一个测试用例所满足。这就是测试准则,及其图覆盖准则的一些应用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 贝克街的捉虫师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云课堂
云课堂聚焦教培机构 OMO 转型,为机构提供在线及混合式课堂解决方案,极速开课、多向互动、智能沉淀、一键分发,是教培课堂便捷、稳定的教学助手。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档