测试随笔(一)

其一、前言:

  最近买了一本书,看的过程中引发的思考,以作记录。

其二、内容

有一个问题:开发这样一个程序,用户从输入数字,程序取得三个数字,然后判断他是什么种类的三角形。

  作为一个测试,我们首先要做的,并不是去动手,直接开始测试,输入数字看得到的结果。

  我们首先要知道的是,三角形的定义,什么是三角形。一个很浅显的答案“有三条边,或者说有三个角就是三角形。”完全正确的答案,但是对于测试来说呢?这是不够的,完全不够。

  我们所需要了解的:

  三角形定义:拥有三条边,并且每两条边相加必须大于第三条边。

  三角形的分类  按照边分类:

  1、等边三角形:三条边全部相等

  2、等腰三角形 :三条边中两条边相等

  3、不规则三角形:三条边全部不相等

  按照角分类:

  1、锐角三角形:三个角全部小于90度

  2、直角三角形:三个角,其中有一个角等于90度。

  3.钝角三角形:三角形其中有一个角大于90度。

知道了这些我们就要有测试的思考方向:

1、用户输入了几个数字?如果不足三个,程序有什么处理?

2、程序随机取得的三个数字有没有“0”,如果有的话,程序有什么处理?

3、程序取得的三个数字,有没有满足三角形的定义?

4、程序取得的数字有负数,程序会进行怎样的处理?——这里又会分出一个思考点:程序允不允许用户输入负数?

这是我们正常情况下,程序做好,然后测试人员参与进去,对程序进行测试,但是换一个方向,如果我们能在项目设计之初就参与进去会怎样呢?我们的思考会和上面一样么?

不是的,如果能够在测试之初就参与进去,从项目需求开始进行测试:

这时候就会发现,漏掉了更关键的点:

1、需求够不够明确?需求又没有含糊的地方?

看上面的需求:可以得出,需求并没又说,是要按角进行分类,还是按照边进行分类。那么开发人员有可能就会做出和需求完全相反的产品。

2、该需求的开发成本?

根据三角形的分类,很明显,对于按照边进行分类比按照角进行分类简单的多。

其三、结语

  使用我很融认同的一句话作为第一遍文章的结尾:测试是一种思想,一种思维方式,而不是一种技术。

测试,是为了发现错误而执行的过程。当你在一个程序中发现的BUG越多,就代表着——你没发现的BUG就越多。
原文地址:https://www.cnblogs.com/blog12357/p/11491188.html