测试计划和测试用例

发表于:2020-11-12 09:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:迪子也重名    来源:简书

  1.测试用例的概念和作用
  引言
  对一个测试工程师来说,测试用例的设计编写是一项必须掌握的能力,但有效的设计和熟练的编写测试用例却是一个十分复杂的技术,测试用例编写者不仅要掌握软件测试技术和流程,而且要对整个软件不管从业务,还是对软件的设计、程序模块的结构、功能规格说明等都要有透彻的理解。
  测试的设计方法不是单独存在的,具体到每个测试项目里都有很多种方法,每种类型都有各自的特点。
  1.1测试用例的定义
  测试用例是执行测试的依据,把测试系统的操作步骤用文档的形式描述出来
  (1)测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误,而精心设计的少量测试数据,包括测试输入、执行条件和预期的结果,实际结果
  (2)测试用例是执行的最小实体。
  (3)测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障
  什么是测试用例
  A.80**100 有效的测试用例
  B.测试用例的覆盖度 80%左右
  任意的测试用例都含有 用例编号 (项目名字—模块名字_用例编号)
  所属模块
  执行条件
  测试输入(具体的执行步骤 )
  预期结果
  实际结果
  用例是否通过
  测试人(执行测试用例的人)
  版本
  备注
  用例编号是根据项目名模块名功能名
  在编写测试用例的时候是不需要填写实际结果的 在执行测试用例的时候填写结果
  在编写测试用例的时候一定要注意到的测试用例的覆盖度
  2.编写测试用例的基本方法
  2.1等价类划分法
  有效,无效
  等价类划分是指分步骤地把海量(无限)的测试用例集减得很小,但过程同样有效。
  等价类 :何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的。
  一般可分为有效等价类和无效等价类
  比如:在一个系统中,填写一个多少岁的未成年人数学考了多少分(假设成年人年龄为x,0<x<=18,数学成绩为y:0<=y<=100
  那么年龄按照等价类划分可分为x<0,0<x<=18,x>18,有效等价类是0<x<=18,无效等价类是x<0,x>18
  数学成绩按照等价类划分可分为y<0,0<=y<=100,y>100,有效等价类是0<=y<=100,无效等价类是y<0,y>100
  2.2示例
  3.边界值法
  一般边界值分析是因为程序开发循环体时的取数可能会因为<,<=搞错。
  比如下面代码
  for(int i = 0;i <100; i ++) 有效等价划分 -1 0 100 101
  {
  int j = i+1;
  System.out.println("循环第“+j+"次")//循环地做某件事情
  }
  这里的程序是循环了100次,所以会做100次;
  如果程序员不小心,把i <100写成i <= 100,则会溢出,这时候边界值检查是一个很好的测试方法。
  比如:在一个系统中,填写一个多少岁的成年人数学考了多少分(假设成年人年龄为x,0<x<=18,数学成绩为y:0<=y<=100
  根据上面的等价类划分法我们可知,年龄的有效等价类是0<x<=18,所以边界值就是0,1,18,19
  数学成绩的,有效等价类是0<=y<=100,所以边界值就是-1,0,100,101
  对数据进行软件测试,就是在检查用户输入的信息、返回的结果以及中间计算结果是否正确。即使最简单的程序要处理的数据量也可能极大,使这些数据得以测试的技巧是,根据一些关键的原则进行等价类的划分,以合理减少测试用例,这些关键的原则是:边界条件,次边界条件、空值和无效数据。
  确定边界值的方法
  确定边界情况(输入或输出等价类的边界)
  选取正好等于、刚刚大于或刚刚小于边界值作为测试数据
  输入要求是1 ~ 100之间的整数,因此自然产生了1和100两个边界,我们在设计测试用例的时,要重点考虑这两个边界问题。
  4.因果图法
  4.1概念:
  因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。
  4.2因果图基本图形符号
  恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。
  非(~):若原因出现,则结果不出现;若原因不出现,则结果出现。
  或(∨):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。
  与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现。
  4.3因果图的约束符号
  E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
  I(包含):表示三个原因中至少有一个必须成立
  O(惟一):表示两个原因中必须有一个,且仅有一个成立
  R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
  M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
  因果图测试用例
  例如:有一个处理单价为2.5元的盒装饮料的自动售货机软件。若投入2.5元硬币,按“可乐”、“啤酒”、或“奶茶”按钮,相应的饮料就送出来。若投入的是3元硬币,在送出饮料的同时退还5角硬币。
  分析这一段说明,我们可列出原因和结果
  原因(输入):
  投入2.5元硬币;
  投入3元;
  按“可乐”按钮;
  按“啤酒”按钮;
  按“奶茶”按钮。
  中间状态: ① 已投币;②已按钮
  结果(输出):
  退还5角硬币;
  送出“可乐”饮料;
  送出“啤酒”饮料;
  送出“奶茶”饮料;
  判定表法
  4.4.场景法
  测试用例设计的思想
  现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
  用例场景是通过描述流经用例的路径来确定的过程,
  这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。
  遵循上图中每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:
  场景 1 基本流
  场景 2 基本流 备选流 1
  场景 3 基本流 备选流 1 备选流 2
  场景 4 基本流 备选流 3
  场景 5 基本流 备选流 3 备选流 1
  场景 6 基本流 备选流 3 备选流 1 备选流 2
  场景 7 基本流 备选流 4
  场景 8 基本流 备选流 3 备选流 4
  注:为方便起见,场景 5、6 和 8 只描述了备选流 3 指示的循环执行一次的情况。
  4.6.正交表法
  正交实验法就是利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果,这种试验设计法是从大量的试验点中挑选适量的具有代表性的点,利用已经造好的表格—正交表来安排试验并进行数据分析的方法。正交表能够在因素变化范围内均衡抽样,使每次试验都具有较强的代表性,由于正交表具备均衡分散的特点,保证了全面实验的某些要求,这些试验往往能够较好或更好的达到实验的目的。正交实验设计包括两部分内容:第一,是怎样安排实验;第二,是怎样分析实验结果。
  应用场景:在一个界面中有多个控件,每个控件有多个取值,控件之间可以相互组合,不可能(也没有必要)为每一种组合编写一条用例,如何使用最少最优的组合进行测试。——正交排列法
  判定表,因果图也是考虑控件组合,但是组合数量较少(一般不会超过20中)
  公式:Ln(mk)
  k是表的列数,表示控件的个数(因数个数)
  m是每个控件的取值个数(因数水平)
  n是表的行数,也就是需要测试组合的次数
  正交表查询地址:<u>https://www.york.ac.uk/depts/maths/tables/orthogonal.htm</u>
  正交排列法:<u>http://support.sas.com/techsup/technote/ts723_Designs.txt</u>

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号