图覆盖准则

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

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

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

阅读全文>>

测试中的图

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

我们首先介绍如何从软件当中产生图及图的基本定义。图当中,如何去选择它的路径,如何产生测试路径。
曾经有人说过,所谓软件测试,就是把软件变成一张图,然后覆盖它。由此可见,图在软件测试中的重要地位。事实上,图不仅是在软件,应该是计算机里面最常见的一种结构。他已经从最早的计算模型到我们今天计算机里各种各样的图结构。
graphs1
在软件里面,常见的一种图,可以来自源代码,比我们看这段源代码,它可以转成某种图的结构,那常见的是有控制流图,除了源代码还有各种各样的软件资料可以转换成图结构。比如我们的规格文档,可以转成某种图。常见的有,有限状态机,我们的各种各样的设计图也可以作[……]

阅读全文>>

开发者测试进阶

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

这节,我给大家介绍大名鼎鼎的xUnit系列和我们的测试平台慕测。

xUnit几乎成为今天最为著名的面向开发者的测试框架,它是开源的自动化测试框架。最初它是面向Smalltalk及Sunit。我们知道,Smalltalk是一个非常著名的面向对象编程语言。Sunit是1998年由Kent Beck所开发。我们知道,Kent Beck是极限编程的创始人。所以这一点在整个xUnit系列得到非常重要的体现,帮助软件开发人员提高编码效率及质量。

而今天我们在所有的xUnit系列当中,最著名的可能是Junit。Junit是由Kent Beck和Erich Gamm[……]

阅读全文>>

开发者测试基础

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

欢迎大家加入开发者测试课程,首先我以1887年,Mackinder在他的论著《社会心理学》中的一句话作为这门课的开场白。他说,知识本是一体的,把它分成不同的学科,只是屈从了人类的软弱而已。把这句话放在软件工程中同样适用。

devtest1

我们把软件工程分成不同的阶段,不同的角色,他只是屈从了人类的软弱而已。因为我们找不到很多很强的人,来支撑软件工程中所有的任务。

我一直强调,软件工程在研究上的主要一个目的,无论是提出方法实现各种工具和平台,很重要的一个方面都是为了降低软件工程师的一个门槛儿,使它可以让更多水平比较差的人也能加入到软件工程的行列当中。这是软件工程研[……]

阅读全文>>