白盒测试实例之三——需求分析

发表于:2009-2-05 15:51

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

 作者:胡添发    来源:CSDNBlog

关键字:白盒测试、需求分析

  需求分析是后续工作的基石,如果分析思路有问题,后续工作可能就会走向不正确的方向,比如:代码重用性差、难于测试、难于扩展和难于维护等。反而,如果需求分析做的好,对设计、开发和测试来说,都可能是很大的帮助。

  看到题目给出的条件达12个之多,粗粗一看,好像很复杂,但仔细分析之后,发现可以把它们分成4组来讨论:

  1、 条件1:a+b>c; 条件2:a+c>b; 条件3:b+c>a

  这三个表达式有什么特点呢?实际上它们的逻辑是一样的:两个数之和大于第三个数。那么,前面程序的写法就存在逻辑重复的地方,应该把这个逻辑提取到一个函数中。

  2、 条件4:0<a<200; 条件5:0<b<200; 条件6:0<c<200

  这三个表达式也是同一个逻辑:判断一个数的范围是否在(0, 200)区间内,也应该把这个逻辑提取到一个函数中,去掉重复的逻辑,提高代码的可重用性。

  可重用性的好处:比如,现在用户的需求改为了三条边的取值范围要改为[100,400],那么,按前面的思路来说,需要改3个地方,而现在只需要在一个函数里改1个地方,这就是代码重用的好处。

  3、条件7:a==b; 条件8:a==c; 条件9:b==c

  这三个表达式的逻辑:判断两个数是否相等。也应该把它提取到一个函数中。

  我们进一步来分析一下判断是否是等边三角形或等腰三角形的条件:

  (1)前面程序的判断是从最直观的方式(a==b && b==c && a==c)(实际上只需要两个表达式成立即可)三条边都相等来判定是等边三角形;(a==b || b==c || a==c)只有两条边相等来判定是等腰三角形。

  (2)转变一下思路:给定三个整数,然后用一个函数来判断这三个整数有几个相等,返回相等的个数,如果返回值等于3,那么它是等边三角形,如果返回值是2,那么它是等腰三角形,否则,它是一般三角形(如果不是直角三角形的话)。

  4、条件10:a2+b2==c2 条件11:a2+ c2== b2 条件12:c2+b2== a2

  这三个条件的处理方式有两种:

  (1)跟前面三组分析一样,把相同的逻辑提取到一个函数中,然后三次调用。

  (2)根据直角三角形的特点:斜边是最长的,所以我们可以事先写一个函数来找到最长的边,然后把它赋值给c,这样处理之后,只需要一次调用判定(a2+b2==c2)的函数了。

相关阅读:

白盒测试实例之二——答案

白盒测试实例之一——需求说明

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号