软件测试

软件测试的目的:

  1. 发现错误
  2. 好的测试则是发现至今没有发现的错误

测试的原则:

  1. 尽早地和不断地进行软件测试
  2. 测试用例(测试的使用例子)由测试输入数据和对应的输出结果组成
  3. 程序员尽量不要检查自己的程序,这样很难发现错误
  4. 测试用例应该包括合理输入条件和不合理输入条件

由以上几个原则,我们不难看出,测试人员很多时候,他们的水平要比开发人员还要高,他们在进行测试的时候需要考虑的更加全面,从多个角度来测试新的软件是否合格!

那么我们测试的时候,产生的测试信息是怎样流动的呢?(如下图所示)


这里写图片描述

从图中我们可以看出:
软件配置、测试配置、测试工具属于输入
测试结果分析、排错、修正后的文档属于输出

我们开发一个软件的时候,要经历从需求分析、设计等一系列过程,而软件测试过程正好是和软件开发过程相反的自底向上,逐步集成的过程!(如下图所示)


这里写图片描述

我们在进行软件测试的时候,经常使用的两种测试用例的方法分别是黑盒测试和白盒测试!

黑盒测试

黑盒测试,我们在进行数据库学习的时候,我们也遇到过黑盒测试,它就像一个黑色的盒子,里边的东西你看不到,而且也不需要你看到,里的程序就相当于一个加工处理的机器一样,你输入一个值,然后系统最后输出一个值,看是否和你预想的一样,如果一样,那么说明你的程序是正确的(足够的输入,得到对应足够多的出!但是不可能把所有可能的输入都测试一遍,这就是测试用例选择的原则问题了!)

举个例子,比如你制造了一个鸡蛋孵化机,黑盒测试就相当于:你放进去了一个鸡蛋,正常情况下最后机器出来的是一个小鸡,如果最后出来的是一只小鸡,那么说明你的程序适用于这个鸡蛋(你需要多次测试,证明你的系统适合所有鸡蛋)!但是如果出来的是一个熟鸡蛋,你看到了都有了想吃的冲动,那说明你的机器温度没有控制好,程序出现了问题!


这里写图片描述

通过上述解释和图解,大家了解了什么是黑盒测试了吧!它只能检测程序功能是否实现,所以它也称为功能测试(数据驱动),它主要着眼于我外部结构,不考虑内部逻辑,主要针对软件界面和软件功能进行测试!

黑盒测试主要测试的错误类型:

  • 功能不正确或遗漏
  • 界面错误
  • 输入输出错误
  • 数据库访问错误
  • 性能错误
  • 初始化和终止错误

它的最大局限性就是,只能检测出程序是否有错,但是无法检测出程序错在哪里(毕竟是黑盒,啥也看不到嘛)!所以我们的白盒测试应运而生!


白盒测试

白盒(透明盒)测试,顾名思义,那就是你在测试的时候,你清楚盒子里的结构,主要是逻辑结构(所以又称之为逻辑测试),知道程序是如何运作的!所以,我们尽可能地对程序的每一条逻辑路径都进行一遍测试(这就非常考研我们测试人员的水平了),这称之为“穷举路径测试”!


这里写图片描述

如上图所示(我也不了解如何孵鸡蛋,只是举个例子,不合实际,望见谅),我们在进行白盒测试的时候,为了尽可能测试我们的系统逻辑路径,我们们要选择三种鸡蛋(测试用例):

  1. 不合格的鸡蛋
  2. 合格而不干净的鸡蛋
  3. 合格又干净的鸡蛋

了解了什么是白盒测试,我们再来看看白盒测试的方法都有那些:

  • 代码检测法
  • 静态机构分析法
  • 近态质量度量法
  • 逻辑覆盖法
  • 基本路径测试法
  • 域测试法
  • 符号测试法
  • 路径覆盖
  • 程序变异

而白盒测试的六个覆盖标准,大家也简单了解一下 (能力由强到弱):

  • 语句覆盖
  • 判定覆盖
  • 条件覆盖
  • 判定/条件覆盖
  • 条件组合覆盖
  • 路径覆盖
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值