前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >测试用例的几种常见设计方法[通俗易懂]

测试用例的几种常见设计方法[通俗易懂]

作者头像
Java架构师必看
发布2022-07-12 15:29:33
8710
发布2022-07-12 15:29:33
举报
文章被收录于专栏:Java架构师必看Java架构师必看

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说测试用例的几种常见设计方法[通俗易懂],希望能够帮助大家进步!!!

测试用例常见的设计方法有:等价类划分法边界值分析法错误推测法判定表法正交实验法

一、等价类划分法

顾名思义,顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。

  例如,我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。

  我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。

  然后从每个子集选出若干个有代表性的值:

  空用户名:“” (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入)

  1-7位数字:”234” (无效等价类实例)

  8位数字:”00000000” (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能)

  9位或以上数字:”1234567890” (无效等价类实例)

  非数字:”abc&!!!” (无效等价类实例)

  他们5个,就是用等价类划分选出的测试用例。实际上,对于1-7位数字的子集来说,选“234”和“11111”没有本质的区别。

  等价类的划分,最关键的是子集的划分。实际上,非数字还可以继续划分子集:字母,特殊字符。

二、边界值分析法

  长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值,例如,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。

  例如,假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。

  注:上面只是说边界值,如果是完整的测试,除了边界值外,还需要一个正常值,即12-98之间的任意值。

三.错误推测法

  错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。

  这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。

三、错误推测

  错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。

  这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。

四、判定表法

  又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。

  例如,某公司对客户分类标准如下:

  顾客每次订货额在1000元以上(含1000元),信誉好的,订单设“优先”标志;

  信誉不好,但是老客户的,订单设“优先”标志;

  信誉不好,但是新客户的,订单设“正常”标志;

  每次订货额在 1000元以下,订单设“正常”标志。

  绘制的决策表

  此表分两大行,两大列,分别用不同的颜色区别。

  浅蓝:列出所有条件(或称为输入)

  浅灰:列出所有结果(或称为输出,行动或决策)

  浅黄:穷举所有条件的组合

  浅绿:根据每一列的条件,判断出结果

  因为穷举了所有条件,所以可以说这个判断是100%正确的。下一步是对这个表进行合并优化。

   例如,从编号为1,2的列可以看出,顾客订单>=1000,信誉好,不管是新顾客还是老顾客,都设为优先,于是上面的表合并整理后,得到下表

这样,我们就可以得到更清晰的逻辑判断,也可以更好的协助我们编写测试用例。而决策表,对于开发人员来说一样有用。

  从上面的表格,我们就可以写出更简洁的判断语句。

五.正交实验法

  用语言描述正交实验法会很抽象难懂,简单说,就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。

  其中,上面所说的特殊表格就是正交表,是按照一定规则生成的表。

  虽然说是特殊的表格,实际表现形式跟一般的表格没有什么区别,正交表的主要特征是,“均匀分布,整齐划一”,正是因为“均匀”的,所以才能以少数代替全部。

  例如:

  某所大学通信系共2个班级,刚考完某一门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询。

  按照传统的方式,我们将会穷举所有的组合,来编写测试用例,组合个数是2*2*2=8。

  排列组合参见下表

  【这里还没看完,不好意思,回头再来。】

参考自:测试用例的几种常见设计方法

今天文章到此就结束了,感谢您的阅读,Java架构师必看祝您升职加薪,年年好运。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-082,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、等价类划分法
  • 二、边界值分析法
  • 三、错误推测
  • 四、判定表法
  • 五.正交实验法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档