在线客服
扫描二维码
下载博学谷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,信誉好,不管是新顾客还是老顾客,都设为优先,这样一来,我们就可以得到更清晰的逻辑判断,也可以更好的协助我们编写测试用例。而决策表,对于开发人员来说一样有用。
以上就是测试用例的六种设计方法的举例说明。可能还有部分小伙伴没有看懂,大家可以上博学谷官网在线学习软件测试的所有核心知识点,除了视频学习外,还有名师在线答疑,有学习需求的小伙伴赶紧来体验吧!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
做软件测试工资高吗?薪资待遇怎么样?
做软件测试工资高吗?薪资待遇怎么样?初级软件测试月薪大概5K~7K左右。薪资水平高于同龄人1K-2K,2-3年的软件测试月薪在9K~12K左右,工作5年后可以达到年薪20万以上。软件测试人员缺口30万左右,就业竞争压力小于同类其它岗位。
5364
2019-10-07 17:48:05
软件测试的类型有哪些?
软件测试的类型有哪些?软件测试的类型包括数据和数据库完整性测试、白盒测试、功能测试、UI测试、性能测试、安全性和访问控制测试、故障转移和恢复测试、配置测试等。软件测试的工作是发现问题并整理报告上交,提交给开发工程师确认对软件进行Bug修复,软件测保障了产品的完整性减少上线后的各种问题。
7454
2019-10-24 14:42:15
女生能不能做软件测试?
在互联网岗位中,一般都认为女生只适合做设计类或者市场运营类工作,不适合编程开发类的工作。近两年软件测试岗位需求日益明显,那女生能不能做软件测试呢?
5931
2019-12-18 18:27:30
Web自动化测试实战项目演练
众所周知,Web自动化测试是测试工程师的必备基础能力之一。不仅如此,Web自动化还是大部分测试初学者的入门首要学习技能。为了让大家更好的掌握软件测试的基础能力,本文将向大家介绍Web自动化测试实战项目课程,如果大家对这方面的学习内容感兴趣,不妨在博学谷官网进行在线实战项目课程的学习。下面一起来看看相关的课程内容吧!
5122
2020-01-13 15:08:27
什么是接口测试?接口测试的概念详解
接口测试可以说是软件测试中的一个必须掌握的知识点。在测试行业蓬勃发展,从业者要求越来越高的当下,只有满足企业级的接口自动化测试工作,才能在测试行业走得更远。可是许多初学者连“什么是接口测试”,这一问题都没办法回答清楚,下面我们来一起看看接口测试的概念详解。
6998
2020-07-27 16:14:29