在线客服
扫描二维码
下载博学谷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,信誉好,不管是新顾客还是老顾客,都设为优先,这样一来,我们就可以得到更清晰的逻辑判断,也可以更好的协助我们编写测试用例。而决策表,对于开发人员来说一样有用。
以上就是测试用例的六种设计方法的举例说明。可能还有部分小伙伴没有看懂,大家可以上博学谷官网在线学习软件测试的所有核心知识点,除了视频学习外,还有名师在线答疑,有学习需求的小伙伴赶紧来体验吧!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试需要掌握哪些知识?软件测试基础理论
本文就软件测试基础理论的内容,来和大家讲解一下,软件测试需要掌握哪些知识?感兴趣的小伙伴赶紧看下去吧!
7217
2019-07-30 19:44:38
软件测试培训课程怎么样?主要学习什么内容?
软件测试是近几年在互联网领域比较热门的岗位之一,现在成为软件测试工程师的主要途径是通过自学,相关岗位转岗,或者通过参加培训。因为软件测试的主要工作内容非常复杂,因此自学的方式需要消耗非常漫长的时间成本,而转岗则是已经充分掌握软件开发或者某个技术,转行成本也相对较高。因此目前软件测试行业的新人大部分是通过集中培训,以及实践后具备相应的相应的工作技能。
7744
2019-08-06 18:49:14
学习软件测试需要学哪些知识?
学习软件测试需要学哪些知识?现阶段,随着IT技术的广泛应用,衍生出了很多新型的行业,软件测试工程师就是其中的一种。软件测试的应用范围和专业度都在不断的扩大和提高,很多朋友都想学习软件测试,需要了解哪些内容呢?
5127
2020-06-02 14:16:03
软件测试员学习Python看什么书比较好?
对于软件测试员来说,掌握一门编程语言虽然不是必须的,但绝对是一个职业发展的重要加分项。而简单易学、便捷好用的Python绝对是每一个软件测试员的不二选择!那么问题来了,软件测试员学习Python看什么书比较好呢?下面给大家介绍一下书籍《Python 接口自动化测试》。
4539
2020-06-22 19:04:58
功能测试包含哪些测试?分别有什么作用?
功能测试主要包括链接测试、表单测试、搜索测试、删除测试、cookies、session测试、数据库测试等部分。功能测试对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
8618
2020-12-09 11:38:30