在线客服
扫描二维码
下载博学谷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,信誉好,不管是新顾客还是老顾客,都设为优先,这样一来,我们就可以得到更清晰的逻辑判断,也可以更好的协助我们编写测试用例。而决策表,对于开发人员来说一样有用。
以上就是测试用例的六种设计方法的举例说明。可能还有部分小伙伴没有看懂,大家可以上博学谷官网在线学习软件测试的所有核心知识点,除了视频学习外,还有名师在线答疑,有学习需求的小伙伴赶紧来体验吧!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试开发需要具备哪些测试能力?
软件测试工作在项目中起到了承上启下的作用,会熟练使用测试工具,做工具开发需要具备一定的代码能力。做个测试要求比较高不仅要懂测试还要回开发敲代码,除此之外你需要用户基础测试能力、环境治理能力、专项测试能力、工具开发能力等
10954
2019-06-12 17:50:48
软件测试面试题汇总:测试流程(2)
为面试新工作做准备的同学们,小编在这里整理了一下软件测试面试题中关于测试流程的问题,需要面试的同学可以大致梳理一遍,这样便于大家在面试过程中游刃有余地应对考试或是面试官提问。
7364
2019-07-03 16:26:23
软件测试自学教程 新手小白学习指南
在互联网飞速发展的当下,IT技术行业越来越受到重视。而软件测试作为IT核心技术岗位之一,其职业发展前途不言而喻。不少小伙伴都看到了软件测试的就业前景,纷纷想抓住这个机遇,那么问题也来了,零基础的新手小白该如何自学软件测试呢?下面小编总结了软件测试自学教程,有需求的小伙伴可以看看。
5847
2019-09-18 16:43:51
功能测试包含哪些测试?分别有什么作用?
功能测试主要包括链接测试、表单测试、搜索测试、删除测试、cookies、session测试、数据库测试等部分。功能测试对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
7971
2020-12-09 11:38:30
女生适合学软件测试吗?有优势吗?
有人说女生心细耐心能够更好的找出bug;有人说测试不用写代码,女生学更容易上手;有人说做测试强度低不用加班,对女生更友好。在以前手工测试盛行的年代,有这样的看法还算正常,但测试行业不断升级变化不加班是不可能的。
3915
2021-01-13 14:26:48