Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >软件测试用例的设计方法_设计测试用例的依据

软件测试用例的设计方法_设计测试用例的依据

作者头像
全栈程序员站长
发布于 2022-11-07 09:04:17
发布于 2022-11-07 09:04:17
9860
举报

目录

软件测试用例设计之等价类划分法

一、等价类划分法的定义

把程序的输入域和输出域划分成若干部分,然后从各个部分中选取若干代表性数据作为测试用例。这些数据在测试中的作用等价于其所属部分的其他值。

二、等价类划分法的术语

等价类:输入域的各个子集,该子集中所有数据在测试中的作用都是等效的。从等价类中选取个别数据用于测试的效果和该子集中所有数据用于测试的效果一样。 有效等价类:对于程序的规格说明来说合理的,有意义的输入数据集合,有效等价类可检验程序是否实现了规格说明书中所规定的功能和性能。 无效等价类:对于程序的规格说明来说不合理的,没有意义的输入数据集合。

三、等价类划分原则

  1. 确定了输入条件取值范围或值的个数,可以划分出1个有效等价类和2个无效等价类。 例如:输入学生成绩,输入域为[0,100],有效等价类为[0,100],无效等价类为(-∞,0)和(100,+∞)
  2. 输入条件规定了输入值的集合,例如条件中规定了“必须如何”的绝对条件,可以确定1个有效等价类和1个对立无效等价类。 例如:规定输入为正整数,有效等价类为所有正整数,无效等价类为所有非正整数
  3. 输入条件的数据类型为布尔类型,可以确定1个有效等价类和1个无效等价类,有效等价类为true,无效等价类为false。
  4. 规定了输入数据的一组值,假定n个,程序要对这n组值分别处理,可以划分出n个有效等价类和1个无效等价类。 例如:规定输入数据只能为中文,英文或阿拉伯文,则这三种分别为3个有效等价类,除这3种以外的任何字符集合为1个无效等价类
  5. 在规定了输入数据必须遵守规则的情况下,可划分出1个遵守规则的有效等价类和若干个从不同角度违反规则的无效等价类。
  6. 若已划分出的等价类中各元素在程序中的处理方式不同,则应再将该等价类进一步划分为更小的等价类。

四、实例演示(三角形问题和档案管理系统问题)

实例一:某程序规定,输入三个整数a,b,c分别作为三边的边长构成三角形,通过程序判定所构成的三角形的类型,例如,三角形为一般三角形,等腰三角形,等边三角形。 首先通过分析输入域和输出域,划分出等价类。 有效等价类: 根据输入数据得出条件:①三个数②整数③正数④非0数 根据输出数据得出条件:⑤等边⑥等腰⑦两边之和大于第三边

实例二:假设有一个档案管理系统,要求用户输入以年月表示的日期,假定日期限定1990年1月~2049年12月,并确定日期由6位数字字符组成,前4位表示年,后2位表示月,用等价类划分法设计测试用例,测试日期检查功能。 有效等价类:①6位数字字符②年范围[1990,2049]③月范围[1,12]

软件测试用例之边界值分析法

一、边界值分析法定义

边界值分析法通常作为对等价类划分法的补充,其测试数据来自于等价类的边界。边界值分析法是对输入或输出的边界值进行测试的黑盒测试方法。

二、等价类划分法和边界值分析法的区别

1.边界值分析法首先确定边界,然后选取大于,刚好等于,小于边界值的数据进行测试。而不是选取等价类中的典型值或随机值进行测试。 2.边界值分析法不止要考虑输入的边界,也要考虑输出的边界。

三、内部边界值

在设计测试用例过程中,某些边界值不需要呈现给客户,或者客户很难注意到,但是确实属于检验范畴,称为内部边界值条件或者子边界值条件。 内部边界值条件主要有以下几种:数值的边界值检验,字符的边界值检验和其他。

四、设计测试用例的原则

1. 如果输入条件规定了边界值,就应该取刚达到这个范围的值和刚超过这个范围的值作为边界值测试数据。 例如:某程序规格说明中规定:“重量在10公斤到50公斤范围内的邮件,其邮费计算公式为…”,这里应该取重量为10和50,还应该取9.99,10.01,49.99,50.01作为边界值测试数据。 2. 如果输入条件规定了值的个数,就应该取比最大个数多1,最大个数,最小个数,比最小个数少1作为边界值测试数据。 例如:某程序规格说明书中规定:“一个输入文件应包括1~255个记录”,这里应该取0,1,255,256作为边界值测试数据。 3. 应设计测试用例使输出达到边界值及其左右的值。 例如某程序规定:“每次最少显示1条,最多显示4条”,就应该取使输出达到0条,1条,4条,5条作为边界值测试数据。 4. 如果程序规格说明书给出的输出域或者输入域是一个有序集合,则应该选取该集合的第一个数据和最后一个数据作为边界值测试数据。 5. 如果程序中使用了一个内部数据结构,则应该选择这个内部数据结构边界上的值作为边界值测试数据。 6. 分析规格说明书,找可能的边界值测试条件。

五、边界值分析法实例(三角形问题)

假设规定输入a,b,c三条边的数值范围为[50,100] 则边界值分析法得出补充测试用例如下

软件测试用例设计之错误推测法

一、错误推测法定义

基于测试人员的直觉和经验推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例。

二、错误推测法基本思想

列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据这些设计测试用例。 例如输入数据和输出数据为0的情况,输入空格的情况,输入只有1行的情况。可根据这些设计测试用例。

三、错误推测法实例

  • 实例之在日历上添加提醒

测试点: (1)提交操作时限 (2)未到达的日期是否可以选择 (3)前后时间限制 (4)系统时间的调整

  • 实例之登录页面密码安全性问题

测试点: (1)复制黏贴密码,密码是否明文显示 (2)复制密码的时候能不能复制出来 (3)配置文件中能否看到密码

  • 实例之输入数组进行排序

测试点: (1)输入空数组 (2)输入含1个元素的数组 (3)输入的数组中已按顺序排序 (4)输入的数组中已按逆序排序 (5)输入数组中的部分或全部元素相同

  • 实例之手机通话功能

测试点: (1)无SIM卡时进行呼叫(紧急呼叫除外) (2)插入已经欠费的SIM卡进行呼叫 (3)射频器件损坏或信号区域外插入有效SIM卡进行呼出 (4)网络正常,插入SIM卡也正常,呼出无效号码 (5)网络正常,插入有效SIM卡,使用快速拨号功能呼出设置无效号码的数字

四、错误推测法的优势和不足

优点:测试人员能够快速且容易地切入,体会到程序的易用程度 缺点:覆盖面不广,丢失大量测试点,该测试行为带有一定主观性,如果外部特性本身设计有问题或者规格说明错误,该方法无法发现 错误推测法只能作为一种辅助的手段,不是系统的测试方法。

软件测试用例设计之判定表驱动法

一、判定表的定义

判定表适用于多逻辑条件下执行多操作的情况。在所有的黑盒测试方法中,判定表驱动法是最严格,最具有逻辑性的测试方法。

二、判定表的组成部分

条件桩:根据题目列出的所有条件。(通常认为条件的次序无关紧要) 动作桩:根据题目列出的所有操作。(通常认为条件的次序无关紧要) 条件项:对各个条件桩的取值 动作项:对各个动作桩的取值 规则:每一组条件项和动作项组合形成一条规则。 合并:对比多条动作项相同,条件项相似的规则,如果发现这些规则里某个条件桩或者某几个条件桩不管取什么值都不影响结果,则这些规则就可以合并。 如下面的例子,初始判定表的规则3,5,6,7就可以合并成最终判定表的规则2,即表示不管条件桩①②满不满足,只要条件桩③满足,动作桩④就满足。最终判定表的规则1和规则2也可以通过读题直接得出。 在判定表中用“-”表示结果与该条件桩的取值无关。

三、判定表驱动法设计步骤

  • 根据软件规格说明书,列出所有条件桩和动作桩
  • 确定规则的个数,如果有n个条件桩,每个条件桩有2个取值(0,1),那么初始判定表中就有2的n次方条规则。
  • 填入条件项。
  • 填入动作项,得到初始判定表。
  • 合并相似规则或相同动作。

四、实例

对于功率大于50马力的机器且维修记录不全或者已运行10年以上的机器,应给与优先维修处理,请建立判定表。 列出条件桩: ①功率大于50马力 ②维修记录不全 ③已运行10年以上 列出动作桩: ④优先维修处理 ⑤正常维修处理 初始判定表:

最终判定表:

五、因果图和判定表的区别

判定表和因果图都适用于多逻辑条件下多动作的测试对象,但判定表并非因果图的辅助,因果图用于逻辑比较复杂的测试对象,可以先画出因果图,然后得出判定表。对于逻辑比较简单的测试对象,可以直接画出判定表。

六、判定表驱动法的使用条件

  • 规格说明以判定表形式给出,或者很容易得出判定表。
  • 条件的排列顺序不影响执行哪些操作。
  • 规则的排列顺序不影响执行哪些操作。
  • 每当某一规则的条件已经满足,并确定要执行的操作后,不必检验其他规则。
  • 如果某一规则的得到满足需执行多个操作,这些操作的执行顺序无关紧要。

注:这5个条件的目的是为了使操作的执行完全依赖于条件的组合,就算不满足这些条件,也可以使用判定表驱动法,只不过需要补充用例。

七、判定表驱动法的优点

  • 全面地列出所有可能性,避免遗漏
  • 是最具有逻辑性最严格的测试用例设计方法,适用于复杂逻辑下多输入输出的情况。

八、判定表驱动法的缺点

不能表达重复执行的动作,例如循环结构。

软件测试用例设计之因果图法

一、因果图法定义

因果图法是利用图解法分析多个输入条件组合情况,考虑输入条件之间的约束关系,从而设计测试用例的方法。

二、因果图常用符号

Ci:原因 Ei:结果

注:其中i取0表示状态不出现,i取1表示状态出现,若有多状态可取大于1的值。

三、因果图的四种关系

恒等关系,若C1发生,则E1发生,否则E1不发生。

非,若C1发生,则E1不发生。

或,若C1,C2,C3有1个发生,则E1发生,只有一个都不发生,则E1不发生。

且,若C1,C2,C3都发生,则E1发生,只要有1个不发生,E1都不发生。

四、因果图约束条件

输入条件互相之间的约束:

  • E互斥:a,b不会同时发生,最多有1个发生,比如性别为男和女,只能选1个
  • I包含:a,b,c中至少有1个发生
  • O唯一:a,b中有且仅有1个发生,比如性别为男和女,只能选一个
  • R要求:a,b中当a出现时,b也必须出现。

输出条件互相之间的约束:

  • M强制:a发生时,b不可能发生,a不发生时,b随意。

五、因果图法设计步骤

(1)提取因果关系,赋予标志符:从软件规格说明书上找出所有输入条件和输出结果,并用CI和EI分别表示。 (2)提取因果关系,表示因果图:分析软件规格说明书中的逻辑,找出原因与结果之间,原因与原因之间的关系,并画出因果图。 (3)标明约束条件:由于环境关系,有些原因和原因,原因和结果之间的组合情况不可能出现,用一些记号标明约束条件。 (4)把因果图转换成判定表。 (5)根据判定表设计测试用例。

六、实例

某软件规格说明书包含这样的要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,在此情况下进行文件修改。若第一个字符不是#或*,给出信息N,若第二个字符不是数字,给出信息M。 输入条件: C1:第一个字符是# C2:第一个字符是* C3:第二个字符是一个数字 输出条件: E1:给出信息N E2:允许修改 E3:给出信息M 画出因果图,图中⑩表示一种中间状态,即表示C1和C2形成的一种结果(输入的第一个字符是#或*)

判定表:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183400.html原文链接:https://javaforall.cn

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
黑盒 测试用例设计方法「建议收藏」
黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。
全栈程序员站长
2022/07/01
1.4K0
黑盒 测试用例设计方法「建议收藏」
【测试】黑盒测试用例设计方法
等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。
全栈程序员站长
2022/08/10
2K0
【测试】黑盒测试用例设计方法
黑盒测试之测试用例的设计方法(全)
之前分享过一篇《黑盒测试以及测试用例设计》,感觉比较粗略,所以今天又再一次分享一下。
软测小生
2019/07/05
4.7K0
黑盒测试之测试用例的设计方法(全)
测试用例设计常用方法有哪些_软件测试用例包括什么
也称为功能测试或数据驱动测试。通过软件的外部表现来发现其缺陷和错误。在测试时,把被测程序视为一个不能打开的盒子,在完全不考虑程序内部逻辑结构和内部特性的情况下进行。它是在已知产品所应具有的功能前提下,通过测试来检测每个功能是否都能正常使用,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能够适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
全栈程序员站长
2022/11/07
1.7K1
测试用例设计常用方法有哪些_软件测试用例包括什么
测试用例设计的底层逻辑
众所周知,测试用例是每个测试人员都绕不开的话题,也是大家习以为常的事情,无论是功能测试、性能测试,还是自动化测试,都会涉及到用例设计,可以说测试用例是一切测试的基础。
测试蔡坨坨
2022/12/21
7570
测试用例设计的底层逻辑
自动化测试之-测试用例设计方法总结
黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。
顾翔
2019/12/12
3.1K0
自动化测试之-测试用例设计方法总结
软件测试 黑盒_软件测试黑盒测试报告
黑盒测试法也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
全栈程序员站长
2022/09/27
2.6K0
软件测试 黑盒_软件测试黑盒测试报告
软件测试黑盒用例文档,看完这篇黑盒测试用例编写教程,我豁然开朗
测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。
全栈程序员站长
2022/06/27
4450
黑盒测试以及测试用例设计
等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例;该方法是一种重要的,常用的黑盒测试用例设计方法。
软测小生
2019/07/05
1.1K0
黑盒测试以及测试用例设计
软件测试基础---流程和用例设计方法
  测试流程:需求分析-->编写测试计划-->测试设计-->测试执行-->测试结果输出
顾翔
2020/09/23
3.1K0
软件测试基础---流程和用例设计方法
黑盒测试用例设计 一[通俗易懂]
把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例
全栈程序员站长
2022/07/01
7050
黑盒测试用例设计 一[通俗易懂]
黑盒测试用例设计方法一(等价类划分、边界值分析)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136310.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/06
2.8K0
黑盒测试用例设计方法一(等价类划分、边界值分析)
测试从零开始-No.6-测试用例设计方法(等价类+边界值)「建议收藏」
是把所有可能的输入数据,即程序的输入域划分成若干部分子集,然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。
全栈程序员站长
2022/09/27
7870
测试理论之黑盒测试用例设计方法及选择策略
说明:本文章非黑盒测试方法使用普及文章,仅阐述每个方法的原理、适用场景及使用技巧。
叨叨软件测试
2020/04/14
1.9K0
黑盒(功能)测试基本方法
(1)黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点出发的测试。
wangmcn
2022/10/30
1.2K0
软件测试中根据测试用例设计的方法,测试用例设计方法有哪些?举例说明[通俗易懂]
众所周知,测试用例是编制的一组测试输入、执行条件及预期结果,专门为的是某个特殊目标,即测试某个程序路径,或是核实是否满足某个特定的需求。一般来讲,常用的测试用例设计方法有五种,分别是:正交实验法、边界值分析法、等价类划分法、判定表法、错误推测法。当然测试用例的设计方法不止这些,下面只是通过举例说明着重讲讲这常用的五种方法。
全栈程序员站长
2022/09/07
1.3K0
测试流程之如何设计测试用例
前言:在功能测试中测试人员使用的测试用例设计方法大多都是黑盒用例设计方法,黑盒用例设计方法有其中又以等价类划分法、边界值分析法为使用最多的方法,同时等价类和边界值也是最简单的,但这二个方法根据自身的属性,如果测试人员稍有不留意就会造成数据的遗漏,今天就主要分析一下测试人员是如何使用这二种方法的。 1 如何编写测试用例 测试人员应该怎样编写一份高质量的测试用例? 1.测试用例设计方法 等价类划分法 边界值分析法 因果图 决策表 正交试验 场景法 状态迁移 错误推测法 2.测试用例的组成元素 用例编号 用例标
王豆豆
2018/06/08
1K0
介于App测试的几种黑盒测试用例设计方法
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。
顾翔
2019/12/11
7970
软件测试流程设计—黑盒测试用例设计方法「建议收藏」
黑盒测试用例设计方法包括等价类划分法、边界值分析法、判定表法、因果图法、正交试验法、状态迁移图法、流程分析法、输入域测试法、输出域分析法、异常分析法和错误猜测法等,下面进行详细介绍。
全栈程序员站长
2022/09/05
4720
测试新手百科:黑盒测试用例的设计(图文并茂,非常详细!)
测试用例设计方法可以组合为一个整体的策略,因为每一种方法都可以提供一组具体的有用的测试用例,但是都不能提供一个完整的测试用例集。
全栈程序员站长
2022/09/02
1K0
测试新手百科:黑盒测试用例的设计(图文并茂,非常详细!)
推荐阅读
相关推荐
黑盒 测试用例设计方法「建议收藏」
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文