测试用例设计--等价类划分

来源:互联网 发布:怎么设置淘宝满100包邮 编辑:程序博客网 时间:2024/06/05 18:02

一、黑盒测试定义:

黑盒测试,也可以成为功能测试,把程序比喻成一个黑盒,不需要清楚了解具体的逻辑实现, 检查程序功能是否按照需求规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

二、黑盒测试方法:

黑盒测试的测试数据完全来源于软件规范或者需求,要发现程序的所有错误,判定标准是”【穷举输入测试】“;
【穷举输入测试】把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误,但事实上,考虑到经济效益,不可能把所有测试;

举个例子:
要测试一个登陆界面,输入账号和密码,账号是6-8位数字,密码是6-18位字符串,测试改程序输入合法性;

账号:6-8位,数字:0-9
有效的:6-8位0-9组合的账号,10的6次方+10的7次方+10的8次方。。。
无效的:小于6位、大于8位,
就一个账号的输入,就无穷个了;再加上密码的。。

基于简单一个例子,就如此多输入的用例,实际应用中的程序,穷举输入测试是无法实现的,

这有两方面的含义
一是我们无法测试一个程序以确保它是无错的,
二是软件测试中需要考虑的一个基本问题是软件测试的经济学。
测试投人的目标在于通过有限的测试用例,最大限度地提高发现的问题的数量,以取得最好的测试效果。

常见的黑盒测试方法如下:

Tables 1.等价类划分 2.边界类划 3.因果图法 4.错误测试

接下来,详细分析没种测试方法,以及结合实际的测试经验进行分析;

三、等价类划分

1.定义

等价类划分,是指将输入的数据划分成N个子集,然后从子集中选取具有代表性的数据作为测试用例,在子集中,各个输入数据对于测试程序功能是等价。(通俗来讲,就是分类,然后选代表)

  • 等价类可以分为

    • 有效等价类:合理的、有意义的,验证程序是否符合需求的功能;
    • 无效等价类:合理的、无意义,验证程序处理意外数据的能力;
  • 划分方法

    • 输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类;

      • 账号长度为6-8位,有效等价类:6-8位,无效等价类:小于6个,大于8个
      • 输入个数为5个,有效等于5个,无效:小于5 or 大于5
    • 输入条件规定了输入值的集合或“必须如何”的情况下,可以确定一个有效等价类和一个无效等价类‘

      • 如字段类型规定为int;有效:int型, 无效:非int型
    • 输入条件是一个布尔量的情况下,可以确定一个有效等价类和一个无效等价类

    • 输入条件规定必须遵守某种规则的情况下,可以确定一个有效等价类和若干个无效等价类
      • 输入为字母,有效:A-Z or a-z 无效:特殊字符、 中文、数字、
    • 在规定了输入数据的一组值(假定N个),并且程序要对每个输入值分别处理的情况下,可以确立N个有效等价类和一个无效等价类
    • 输入为台湾、北京、上海等一个地方 有效等价类:三个 无效:非三个中

    • 在确知已划分的等价类中各元素中,则应再将该等价类进一步的划分为更小的等价类

      • 如非int型,可继续细分:double型,string型等

2.举例

上面是比较理论的描述,下面结合理论来实践下还是QQ账号和密码的输入为例![QQ登录界面](http://img.blog.csdn.net/20151015175306117)
输入 有效 无效 col 3 is right-aligned $1600 col 2 is centered $12 zebra stripes are neat $1

3.实例中应用

0 0
原创粉丝点击