测试方法

  • 测试方法
    • 1、黑盒-等价类
      • 例1:测试一个两位数的加法计算器
      • 例2:余额宝提现
      • 例3:三角形测试用例设计

是看着课程听的,做的课程的随堂笔记
课程的链接如下:
https://coding.imooc.com/class/411.html

测试方法

软件测试方法
经典定义:
软件测试(Software Testing),在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程
标准定义:
软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其期的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别

软测的目的:
发现问题,检查系统是否满足需求
比如是对之前的黑白灰盒方法的一个具体化实现
常见的方法如下:

等价类划分法边界值因果图判定表驱动法正交实验法功能图法场景实验法错误推断法需求转化设计文档探索式测试

1、黑盒-等价类

(用少量的数据代表大量的数据,找出最具有代表性的值)
由于:测试是无穷无尽的
(比如QQ注册,手机号密码昵称的组合有无穷多,由于测试数据无穷无尽,那么测试就是无穷无尽的)

等价类划分法:
等价类: 选取少数有代表性的数据,这一类数据等价于这一类的其它值;找出最小的子集,可以发现最多的错误;
◆等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例
◆每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误。
◆反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。

**两大特性:**必须设计的用例;涵盖了大部分情况;

两类情况:
有效等价类:找出有效值的代表范围;
无效等价类:找出无效值的代表范围;

等价类划分原则

◆如果输入条件规定了取值的范围或值的个数,则可确定一个有效等价类和两个无效等价类
◆如果一一个输入条件说明了一个“必须成立”的情况,则可划分一个有效等价类和一个无效等价类
◆如果输入条件规定了输入数据的一组可能的值,而且程序是用不同的方式处理每一种值,则可为每一种值划分一 个有效等价类,并划分一个无效等价类(类似于地铁不同时间的放行。也类似于生活中要站好队比如看球赛)
◆如果我们确知,已划分的某等价类中的各元素(例子)在程序中的处理方式是不同的,则应据此将此等价类进一步划分成更小的等价类
◆在确立了等价类之后,建立等价类表,列出所有划分出的等价类

基于等价类划分的用例设计

明确测试对象,非测试对象保证正确
为每个等价类规定一个唯一的编号(这样好设定这些等价类)
设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖
设计一个新的测试用例,使其只覆盖一个无效等价类。 重复这一步使所有无效等价类均被覆盖

(正常条件下取值范围放宽,在异常的无效的条件下要把取值范围缩小,让有效等价类都有用例应对,让每一个无效等价类都有唯一的用例应对)

等价类的特点

1.测试相同的内容
2.如果等价类中的一个测试能够捕获一个缺陷, 那么选择该等价类中的其他测试也能捕获该缺陷
3.如果等价类中的一个测试不能捕获缺陷,那么选择该等价类中的其他测试也不会捕获缺陷(不是划分得越细化越好,最好是刚刚好)
4.如果正确的划分等价类,可以大大降低测试用例的数量,测试会准确有效
5.如果错误的将两个不同的等价类当作一个等价类, 那就会遗漏一种测试情况,相反如果将一个等价类看做两个不同的等价类,测试就会冗余。

等价类划分要注意的问题

不但要考虑有效等价类,也要考虑无效等价类
仔细划分,审查划分
过于粗略可能会漏掉软件缺陷
组织评审

使用场景:
输入条件(取值范围/值个数;必须值集合;布尔值;一组处理值;必须遵守的规则;再细分更小等价类;)

例1:测试一个两位数的加法计算器

测试需求:
测试两个参数的值相加后的结果是否正确
其中 : 输入的数值在-99到99之间大于99或小于-99的输入应被拒绝,并显示错误信息

分别给第一个参数和第二个参数输入表中的值,得到的测试结果如表所示:


很明显,如果我对第一个参数的值分别取从-99到99的199个数,第二个参数的值分别取从-99到99的199个数,不可能对两位数相加的所有情况进行穷举测试。
如果不能进行穷举测试,我们将面临以下问题:
在测试了1+1, 1+2, 1+ (-1) 和1+ (-2) 之后,还是否有必要测试1+3,1+4呢?
如果不对加法计算器程序进行穷举测试,能否放心的认为所有的参数组合都是正确的呢?
所以需要使用等价类划分法

  • STEP1:根据测试需求可以分为三个等价类:

◆一个有效数据的等价类,两个无效数据等价类
◆有效数据等价类就是:由那些对程序的规格说明有意义的、合理的输入数据所构成的集合
◆无效数据等价类就是:那些对程序的规格说明不合理的或无意义的输入数据所构成的集合

  • STEP2:建立等价类表 (类似于测试的依据)
    ◆在实际工作中,我们通常在确立了等价类以后,把程序中所有的等价类建立等价类表,以便在编写测试用例的时候有所依据
  • STEP3:确定测试用例

◆为等价类表中的每一个等价类分配一个唯一的编号
◆设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类
◆重复这一步骤,从而使所有有效等价类均被测试用例所覆盖
◆与上步类似,设计一个新的测试用例,使它只覆盖一个无效等价类
◆重复这一步骤,从而使所有无效等价类均被测试用例所覆盖

  • STEP4:细化等价类划分

( 如果发现划分的各元素在程序中处理的方式不一样,还需要进行再一次细化)
◆在测试“-99<=数值<=99"的这个等价类区间的时候
◆我们会发现如10 + 40,-20+ 30和-30+(-30)这类的正数
相加,正数负数相加,负数相加也是不同的等价区间 (如果用二进制的话,这两个是不同的,是有算法差异的。)
因此可以做更多的等价类划分,现在有两个有效两个无效的等价类,将相加的数分为了正数和负数:

完善测试用例:
其实可以更加细化,比如输入的数字,中文,特殊字符,所以无效等价类可以更细化。

根据前面的等价类方法,我们按照测试用例表给出的测试用例进行了测试,没有发现问题,那么在程序上线后,如果出现以下问题,为什么程序提示输入的数据有误了呢?


因为只考虑范围 ,不考虑边界
在下一节的边界法会给出更好的方案

例2:余额宝提现

测试需求:
余额宝提现到银行卡增加新规则:快速到账(2小时)日限额1w元
超过1w元只能选择普通到账

设计用例:

再次分析过程:
细致分析需求,日限额1w,所以要区分两个场景(第一次和第n次提现)

例3:三角形测试用例设计

转载自:
https://blog.csdn.net/xuhongge/article/details/2632172
以三角形测试为例:输入3个整数做为三角形的三个边,通过程序判定三角形的类型。
在三角形计算中,要求三角形的三个边长:A B C 。

      1、 当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。2、若是等腰三角形打印“等腰三角形”, 若两个等腰的平方和等于第三边平方和,则打印“等腰直角三角形”。3、若是等边三角形,则打印:“等边三角形”。4、画出程序流程图并设计一个测试用例。

分析一下:

         1、构成三角形的条件:任意两边之和大于第三边;2、构成等腰三角形的条件:任意两边相等;3、构成等腰直角三角形的条件:任意两边相等,而且两条边的平方和等于第三边的平方和;4、构成等边三角形的条件:三条边都相等。


测试用例:

测试方法-等价类划分相关推荐

  1. 测试方法——等价类划分基础测试方法

    等价类划分测试方法 在很多情况下,很多人想到的测试方法是穷举测试,穷举测试是最全面的测试,但是数据量很大的情况下不太现实,测试效率太低 实现目标:用最少的测试数据,比较高的效率,以达到最好的测试质量 ...

  2. 黑盒测试方法—等价类划分法

    等价划分法是一种不需要考虑程序的内部结构,只需要考虑程序输入数据的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性. 需要把用户所有可能输入的数据划分成若 ...

  3. 软件测试方法——等价类划分法详解

    目录 1.等价类划分法的介绍和概念 2.等价类的类型划分 3.等价类测试用例的类别 3.1弱一般等价类 3.2弱健壮等价类 3.3强一般等价类 3.4强健壮等价类 4.等价类划分的原则 4.1按照区间 ...

  4. 软件测试方法等价类划分案例,等价类划分法进行测试

    <等价类划分法进行测试>由会员分享,可在线阅读,更多相关<等价类划分法进行测试(3页珍藏版)>请在人人文库网上搜索. 1.实验项目名称黑盒测试-1实验目的及要求掌握黑盒测试的方 ...

  5. 软件测试方法 -- 等价类边界值

    # 测试用例设计方法 测试用例的定义 测试用例是为了特定的目的而设计的一组测试输入.执行条件和预期的结果,以便测试是否满足某个特定需求.通过大量的测试用例来检验软件的运行效果,他是指导测试工作进行的依 ...

  6. 软件测试方法_等价类划分法

    目录: ①等价类划分法的介绍和概念 ②等价类的类型划分 ③等价类测试用例的类别 ④等价类划分的原则 ⑤等价类划分法的测试用例应用 ⑥边界值分析法的实例分析 1.等价类划分法的介绍和概念 划分 指互不相 ...

  7. 黑盒测试方法(等价类划分法、边界值法、决策表、判定表、正交表、场景法、错误推断法)

    1.黑盒测试方法 1.1.等价类划分法: 根据软件测试原则可以知道,要做到穷举是不可能的,事实上也是不必要的.为了减少工作量,需要对测试用例进行适当选取.等价类划分法便提供了一种选取测试用例的方法. ...

  8. 软件测试方法划分等价类,软件测试基础-软件测试方法之等价类划分.ppt

    软件测试基础-软件测试方法之等价类划分 知识回顾 - 软件测试方法 从是否执行被测程序来划分? 从是否针对系统内部结构来划分? 知识回顾 - 黑盒测试设计用例的方法 集合 什么是集合? 如:一箱苹果 ...

  9. 【软件测试】07 -- 黑盒测试方法(等价类划分法)

       等价类划分法    等价类划分法是一种常用的黑盒测试方法,它主张从大量的数据中选择一部分数据用于测试,即尽可能使用最少的测试用例覆盖最多的数据,以发现更多的软件缺陷.    一个程序可以有多个输 ...

最新文章

  1. Ubuntu上五款搜索工具:Albert、Synapse、Utools、Ulauncher、FSearch
  2. gitlab或者gitee生成/添加SSH公钥的解决办法
  3. 程序员为什么越老越贬值的厉害?
  4. vmware 无权输入许可证密钥
  5. java课程设计简易记事本
  6. 传google将要退出中国市场
  7. JanusGraph内部架构概述
  8. laydate使用官方使用方法
  9. Not allowed to access vertices on mesh ‘Combined Mesh (root: scene)
  10. 神奇宝贝:面向开发人员的免费RESTful神奇宝贝API
  11. Mysql----修改语句(alter)
  12. 赋科技以温度,百度集团副总裁吴甜入选《财富》“40 Under 40榜单”
  13. 病毒---手动删除Trojan.Miner.gbq病毒
  14. 大连民族大学计算机学院许淑娟,大连民族大学计算机科学与工程学院2017年教师元旦联欢会圆满落幕...
  15. 75条笑死人的知乎神回复,用60行代码就爬完了
  16. 魔法师鬼剑士地下城java_DNF新职业加入鬼剑士全家桶 魔法师又多一个萌宝
  17. c刊计算机领域见刊快的期刊,想集合大家的经历,列出一些见刊较快的期刊,以供参考!...
  18. shl 和 shr
  19. LabVIEW调用第三方exe软件或操作操作控制第三方软件界面的控件,如操控烧录软件
  20. 使用java制作文字图片

热门文章

  1. 曲率流的计算机应用,科学网—清华笔记:计算共形几何讲义 (23)离散曲面曲率流 (Discrete Surface Ricci Flow)V - 顾险峰的博文...
  2. MySQL数据库综合练习题
  3. 协方差矩阵、相关矩阵、相关系数矩阵、相关系数之间的关系
  4. UBIFS文件系统使用
  5. 基于Matlab生成并可视化多架飞机轨迹仿真(附源码)
  6. QE01/QE02/QE03屏幕增强
  7. java判断一个字符串是否为需要的格式日期格式
  8. conda 安装多环境及多cuda共存
  9. Python数据可视化之Matplotlib-技巧篇
  10. 纯正贵族,英国女王到底多有钱?