在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
测试用例的设计方法有哪些?一般来说,测试用例的常见设计方法有六种,分别是等价类划分、边界值分析法、错误推测法、因果图方法、正交试验设计法和判定表法。下面小编将举例为大家一一说明解释这五种测试用例的设计方法,感兴趣的小伙伴赶紧接着看下去吧!
1、等价类划分:
等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类。
举例:我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。然后从每个子集选出若干个有代表性的值.
2、边界值分析法:
边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
举例:假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。
3、错误推测法:
基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例-例如, 在单元测试时曾列出的许多在模块中常见的错误-以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有, 输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行-这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例.
举例:错误推测法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。
4、因果图方法:
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等-考虑输入条件之间的相互组合,可能会产生一些新的情况-但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多-因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例-这就需要利用因果图(逻辑模型)-因果图方法最终生成的就是判定表-它适合于检查程序输入条件的各种组合情况.
举例:某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
5、正交试验设计法:
有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。
举例:某所大学通信系共2个班级,刚考完某一门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询。按照传统的方式,我们将会穷举所有的组合,来编写测试用例,组合个数是2*2*2=8。当组合条件不多的时候,穷举暂时没问题,但是,一旦条件多了,组合个数就会以指数形式增长。这个时候,就要用到正交表了,通过选出有代表性的测试实例,达到以少数代替全面的效果。
6、判定表法:
判定表法又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。
举例:某公司的对客户分类标准如下:顾客每次订货额在 1000元以上(含1000元),信誉好的,订单设“优先”标志;信誉不好,但是老客户的,订单设“优先”标志;信誉不好,但是新客户的,订单设“正常”标志;每次订货额在 1000元以下,订单设“正常”标志。
因为穷举了所有条件,所以可以说这个判断是100%正确的。下一步是对这个表进行合并优化。例如,从编号为1,2的列可以看出,顾客订单>=1000,信誉好,不管是新顾客还是老顾客,都设为优先,这样一来,我们就可以得到更清晰的逻辑判断,也可以更好的协助我们编写测试用例。而决策表,对于开发人员来说一样有用。
以上就是测试用例的六种设计方法的举例说明。可能还有部分小伙伴没有看懂,大家可以上博学谷官网在线学习软件测试的所有核心知识点,除了视频学习外,还有名师在线答疑,有学习需求的小伙伴赶紧来体验吧!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试功能接口性能测试课程学习哪里好?
性能测试是软件测试中非常重要的一个环节,其中功能接口测试是对测试系统组件间接口的一种测试。其测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系。因此功能接口测试非常的重要。那想学习软件测试中的功能接口性能测试课程哪里好呢?
6843
2019-07-24 17:56:03
软件测试缺陷包含哪些状态?缺陷生命周期分析
在软件测试中,缺陷生命周期常常是绕不开的话题。本文就来详细为大家讲讲,软件测试缺陷的八种状态,缺陷的等级、缺陷单应该包含的内容等等。对软件测试的基础理论知识感兴趣的小伙伴,现在就赶紧看下去吧!
16839
2019-10-22 14:45:34
学习软件测试需要学哪些知识?
学习软件测试需要学哪些知识?现阶段,随着IT技术的广泛应用,衍生出了很多新型的行业,软件测试工程师就是其中的一种。软件测试的应用范围和专业度都在不断的扩大和提高,很多朋友都想学习软件测试,需要了解哪些内容呢?
5565
2020-06-02 14:16:03
软件测试按照什么分类?又是怎么分类的?
在实际项目测试过程中,选择并确定测试模型只是我们实施测试的第一步。除此之外,还要弄清楚整个测试过程中需要做哪些类型的测试,并根据不同的测试类型进行相应的测试,比如我们耳熟能详的功能测试、性能测试等,这样我们的测试工作才能有效进行。那么软件测试按照什么分类?又是怎么分类的呢?简单来讲,软件测试可以按照开发阶段、是否查看代码、是否运行、是否手工操作四个方向分类的。
5950
2020-08-06 17:29:53
什么是测试用例?如何设计测试用例?
在学习或者实际的测试工作中经常都会提到“测试用例”这个词,没错,测试用例是测试工作的核心,不管要做的是什么样的测试,在真正动手执行测试之前,我们都需要先根据软件需求来设计测试用例,之后再依据设计好的测试用例,展开测试工作。那么问题来了,什么是测试用例?它有什么用呢?下面我们一起进入测试用例的学习吧!
7385
2020-08-13 11:25:08