传统的软件测试的设计方法-软件测试技术实战(4)

发表于:2017-7-12 11:28

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

 作者:顾翔    来源:51Testing软件测试网原创

  第2章 传统的软件测试的设计方法
  从本章开始介绍软件测试的各种设计方法,这是学习软件测试的重要内容。
  一般来说,软件测试设计方法分为5类:传统的黑盒测试方法、基于质量的测试方法、基于风险的测试方法、基于经验的测试方法以及白盒测试方法。本章主要介绍传统的黑盒测试方法和白盒测试方法,共分7节。
  5种黑盒测试方法如下。
  ·等价类 边界值。
  ·决策表。
  ·状态转换图。
  ·决策树。
  ·正交法。
  7种白盒测试方法如下。
  ·语句覆盖。
  ·分支覆盖。
  ·条件覆盖。
  ·判定 条件覆盖。
  ·    覆盖。
  ·路径覆盖。
  ·控制流测试。
  最后分析测试用例设计中几个错误观点。
  基于质量的测试方法参看第1.1.9节软件测试类型,本书不再进行深入介绍;基于风险的测试方法将在第4章介绍;基于经验的测试方法将在第3章介绍。另外,关于软件测试的设计,读者可以参考参考文献【5】、【13】进行深入学习。
  2.1  运用等价类/边界值设计测试用例
  通过等价类/边界值法设计软件测试用例是测试用例设计的最基本的方法。这两种方法密不可分。下面先介绍"等价类分析法"。
  2.1.1  等价类
  等价类是指软件测试对象的某个参数输入域的子集合。在该子集合中,各个输入数据对于识别软件测试对象中的缺陷是等价的。只要测试等价类的某一个代表值,就可以认为覆盖了该等价类所有其他值的软件测试。
  等价类的划分
  是把软件测试对象的输入域划分成若干部分,然后从每一部分中选取少数具有代表性的数据,作为测试用例输入数据的测试用例设计技术
  等价类的两个假设
  (1)软件测试对象等价类中任意一个代表值没有发现缺陷,则认为等价类内其他值也不能发现缺陷。比如等价类为【0~5】,如果测试数据4没有发现缺陷,那么测试数据1也不可能发现缺陷。
  (2)软件测试对象等价类中任意一个代表值可以发现缺陷,则认为等价类内其他值也都可以发现缺陷。比如等价类为【0~5】,如果测试数据4发现缺陷,那么测试数据1也肯定能发现缺陷。
  有效等价类与无效等价类
  (1)有效等价类:对于软件测试对象而言,有效等价类指的是合理的、有意义的数据构成的集合。
  (2)无效等价类:对于软件测试对象而言,无效等价类指的是不合理的、没有意义的数据构成的集合。
  案例2-1:等价类的分类。
  通过表2-1来看各种类型的数据是如何通过等价类进行分类的。
  表2-1等价类的设计法
  下面再介绍一下"边界值分析法"。
  2.1.2  边界值
  边界值分析是对输入或输出的边界值进行软件测试的一种测试方法。通常,边界值分析法作为对等价类划分法技术的补充。这种情况下,其测试用例来自等价类的边界。由于程序员在开发时在边界区域比较容易犯错误(如原本应该为a<100,却写成a≤100),所以边界值测试法就显得非常重要。由于边界值是随着等价类出现的,所以边界值可以分为有效等价类的边界值和无效等价类的边界值。
  边界值分析的步骤如下:
  (1)识别软件测试对象中的参数等价类;
  (2)识别每个等价类的边界值;
  (3)创建边界值的相关测试用例;
  (4)定义边界值分析技术的覆盖率。
  案例2-2:边界值的设计法。
  基于表2-1,来看各种情况的边界值如何划定,见表2-2。
  表2-2边界值的设计法
  2.1.3  基于输出的等价类/边界值划分
  等价类/边界值除了可以以输入进行分类,也可以以输出进行分类,如案例2-3所示。
  案例2-3:公园门票规定:
  身高1.2m以下的儿童免票;
  身高1.2~1.4m的儿童半票(含1.2m);
  年龄在60~69岁之间的老人半票(含60岁);
  年龄在70岁以上的老人免票(含70岁);
  在校学生半票(不含在职学生、电大学生);
  革命烈士家属、现役军人免票。
  我们可以划分等价类为全票、半票和免票,见表2-3。
  表2-3公园门票等价类/边界值
本文选自《软件测试技术实战-设计、工具及管理》第二章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号