目录

文章末尾可以领取所述用例模板

总体编写策略:

一、测试用例的引入

1.测试用例的定义

2.测试用例的构成要素

二、黑盒测试用例设计方法

1.等价类

2、黑盒-边界值

3、黑盒-因果图

4.因果图法

5.状态迁移图法

6.场景法

7.正交实验法

三、总结

高薪简历模板(面试宝典免费领)


本篇从多角度带大家从0开始学习怎么写测试用例,七种方法8个案例(含用例模板);学习目标:测试用例的基本知识以及黑盒测试用例的设计方法。用例模板放在最前面:

多角度带你编写更规范的黑盒测试用例模板

文章末尾可以领取所述用例模板

总体编写策略:

对于测试用例编写来说,常用的四种方法基本就够用了,等价类、边界值、正交实验法、错误推断法,辅以场景测试法、需求/设计转换法、探索式测试思想,可以应付绝大多数产品的测试。个别的产品还需要在某一点细化和扩充,需要就事论事。

使用各种编写方法的综合设计策略;

1)在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。

2)必要时用等价类划分方法补充一些测试用例,尤其注意无效等价类情况。

3)如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法(或判定表法、正交试验法)。

4)用错误推测法再追加一些测试用例,主要是利用测试经验。

5)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例;参照白盒用例编写。

6)对程序的应用场景进行研究和思考,增加不同场景下的测试用例;用户场景测试必须重视,很大一部分程序错误就是因为测试场景与用户真实场景的差异性带来的。

7)对业务和程序有更深的理解之后,可以充分发挥发散思维和探索式想法;大家不要误解探索式测试就是漫无目的的测试,其实探索式测试有非常详细的测试指导思路。

一、测试用例的引入

首先要思考两个问题:什么是测试用例?测试用例的构成要素?

1.测试用例的定义

2.测试用例的构成要素

在实际工作中根据项目要求对用例设计要素可做调整,下图基本覆盖常见用例设计模板。

从上面两点可知:

测试用例的定义:软件测试的核心,为了特定的目的而设计的一组测试输入、执行条件、预期结果的输出文档;

测试用例构成要素:用例编号、用例标题、测试项目、用例级别、预置条件、测试输入、执行步骤预期结果。

二、黑盒测试用例设计方法

1.等价类

1、黑盒-等价类

等价类:选取少数有代表性的数据,这一类数据等价于这一类的其它值;找出最小的子集,可以发现最多的错误;

两大特性:必须设计的用例;涵盖了大部分情况;

两类情况:有效等价类;无效等价类;

转化为测试用例

1、按照输入条件、有效等价类、无效等价类建立等价类列表,列出所有的等价类;

2、为每一个等价类固定一个编号;

3、设计一个测试用例,使其覆盖一个或多个有效的等价类;

4、设计一个或更多的测试用例以覆盖剩余的有效等价类;

使用场景:输入条件(取值范围/值个数;必须值集合;布尔值;一组处理值;必须遵守的规则;再细分更小等价类;)

等价类举例:

以三角形测试为例:输入3个整数做为三角形的三个边,通过程序判定三角形的类型。

2、黑盒-边界值

边界值:所谓边界条件,是指输入和输出等价类中那些恰好处于边界、超过边界、或在边界以下的状态 ;

两个特征:选择一个或多个元素,以便等价类的每一个边界都经过了测试;与仅仅关注输入条件不同,还需要考虑结果空间(输出等价类)设计测试用例;

边界条件可能非常微妙,因此把他们确定下来煞费心思;

使用场景:输入+输出都需要考虑(值的范围;值个数;有序集合;内部数据结构;分析规格说明;)

边界值举例:

以三角形测试为例:输入3个整数做为三角形的三个边,1<a、b、c<10,通过程序判定三角形的类型;

3、黑盒-因果图

因果图:输入条件的组合进行分析。用一个系统的方法选择出高效的测试用例集;

分析思路:

1、分析规格说明描述,确定原因和结果,并赋予标识符;

2、分析规格说明语义,找出原因与原因之间,原因与结果之间关系,画出因果图;

3、有些原因与原因之间,原因与结果之间组合不会出现,用记号表明约束或限制条件;

4、因果图转换为判定表;

5、判定表的每一列作为依据,设计测试用例;

使用场景:必须考虑输入条件的各种组合(一种适合于描述多种条件的组合、相应产生多个动作的形式来进行设计);

案例:支付宝个人账户注册——验证用户名需求:第一项要求输入手机号或者电子邮箱作为账户名,第二项要求正确输入验证码,两项都验证成功后填写账户信息;但如果第一项校验不正确,则报错L(输入手机号或电子邮箱格式错误);如果第二项验证不成功,则报错M(验证码输入错误)。

4.因果图法

判定表法设计用例——规则数:2的n次方(n是条件数)

条件数:4 —> 规则:16

条件数:5 —> 规则:32

条件数:6 —> 规则:64

条件数:7 —> 规则:128

………

因果图:

1、考虑所有输入/输出条件的相互制约关系以及组合关系

2、考虑输入条件之间的依赖关系

3、再根据分析的关系来转化为判定表的规则

案例:支付宝个人账户注册——验证用户名需求:第一项要求输入手机号或者电子邮箱作为账户名,第二项要求正确输入验证码,两项都验证成功后填写账户信息;但如果第一项校验不正确,则报错L(输入手机号或电子邮箱格式错误);如果第二项验证不成功,则报错M(验证码输入错误)。

5.状态迁移图法

状态迁移图:首先要找出所有的状态,然后再分析各个状态之间的转换条件和转换路径。然后从其状态迁移路径覆盖的角度来设计测试用例。(多用于协议测试)

测试步骤:

案例:飞机售票系统

  • 客户向航空公司打电话预订机票,此时机票信息处于“预定”状态

  • 顾客支付了机票费用之后,机票信息变为“已支付”状态

  • 旅行当天达到机场,拿到机票后,机票信息变为“已出票”状态

  • 登机检票后,机票信息变为“已使用”状态

  • 在等级之前任何时间都可以取消自己的订票信息,如果已经支付了机票费用,还可以退款,取消后,订票信息处于“已取消”状态

抽取四条路径:

路径1:预订—已取消
路径2:预订—已支付—已取消
路径3:预订—已支付—已出票—已取消
路径4:预订—已支付—已出票—已使用

6.场景法

软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。

重要概念:

  • 基本流

  • 备选流

  • (异常流)

场景1:基本流
场景2:基本流—备选流程1—基本流
场景3:基本流—备选流程2—基本流
场景4:基本流—异常流程1
场景5:基本流—备选流程2—异常流程2
场景6:基本流—备选流程1—备选流程2—异常流程2
场景7:基本流—备选流程1-备选流程2—基本流
场景8:基本流—备选流程1—异常流程1

案例:支付宝个人账户注册——验证用户名需求:第一项要求输入手机号或者电子邮箱作为账户名,第二项要求正确输入验证码,两项都验证成功后填写账户信息;但如果第一项校验不正确,则报错L(输入手机号或电子邮箱格式错误);如果第二项验证不成功,则报错M(验证码输入错误)。

设计用例如下:

  • 用例1:第一项输入手机号,第二项验证码正确,进入填写账户信息页面

  • 用例2:第一项输入电子邮箱,第二项验证码正确,进入填写账户信息页面

  • 用例3:第一项输入不是手机号或者电子邮箱,报错L(输入手机号或者电子邮箱格式错误)

  • 用例4:第一项输入手机号或者电子邮箱,第二项验证码错误,报错M(验证码输入错误)

7.正交实验法

正交实验设计方法:是由数理统计学科中正交实验方法进化出的一种测试多条件多输入的用例设计方法,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。

条件:因子 取值:水平。

正交实验设计方法步骤:

三、总结

觉得有所帮助的点个赞呗 

最后是小编自己整理的一些学习资料笔记:想要小编学习资料笔记文档和上述所有用例模板的【私信我关键词“999”免费获取】

高薪简历模板(面试宝典免费领)

全网最全360无死角编写软件测试用例模板【建议收藏】相关推荐

  1. 互联网公司面试官是如何360°无死角考察候选人的?(下篇)

    点击上方"蓝字", 右上角选择"设为星标" 周一至五早11点半!精品文章准时送上! 本文转载自公众号:石杉的架构笔记 一.写在前面 上一篇文章:<互联网公 ...

  2. js时间搓化为今天明天_秋冬国产搓背神器!360°无死角,让你搓背不求人,太舒服了...

    秋冬国产搓背神器!360°无死角,让你搓背不求人,太舒服了! 夏季悄然离去,秋季快步走来,距离冬季也不远了~ 天气变冷以后,下班.放学回家了最惬意不过的就是洗个澡,如果泡完澡再搓个背,感觉舒服又干净, ...

  3. 挑战360无死角讲解Linux内核 进程管理,调度器的5种实现丨C++后端开发丨C/C++Linux服务器开发丨内核开发丨网络编程

    挑战360无死角讲解 进程管理,调度器的5种实现 1. 8500行 CFS是什么 2. RT调度器使用场景 3. IDLE/Dealine调度器 视频讲解如下,点击观看: 挑战360无死角讲解Linu ...

  4. Java基础-->一篇讲全Java常用类(详细易懂,建议收藏)

    Java基础–>一篇讲全Java常用类(详细易懂,建议收藏) 文章目录 Java基础-->一篇讲全Java常用类(详细易懂,建议收藏) 1.字符串相关的类 String类 概述 创建Str ...

  5. 呕心沥血集齐史上最全 JavaScript最实用工具函数大全,建议收藏!

    为元素添加on方法 Element.prototype.on = Element.prototype.addEventListener; NodeList.prototype.on = functio ...

  6. 软件测试用例模板和例子_如何编写测试用例?

    一.刚刚从事软件测试职业,如何快速掌握编写测试用例的方法?该怎样编写测试用例呢?专家分析:1.根据需求文档,完全按照需求文档框架/功能描述,根据自己的理解整理为用例.简单来说,就是将需求文档描述的内容 ...

  7. 如何编写优秀的测试用例,建议收藏和转发

    1.测试点与测试用例 测试点不等于测试用例,这是我们首先需要认识到的. 问题1:这些测试点在内容上有重复,存在冗余. 问题2:一些测试点的测试输入不明确,不知道测试时要测试哪些. 问题3:总是在搭相似 ...

  8. 【AI研究院】360无死角认识一下女神的线上美容院-“美图秀秀”

    小 满 计算机视觉爱好者. 作者 | 小满 编辑 | 言有三 你爱自拍么? 距离2018年结束还有一个多月的时间. 19日晚小米集团带来了重磅消息,官宣与美图集团联姻,未来合作期间美图公司将旗下手机业 ...

  9. 【3d建模】全网最全3dmax快捷键【附软件安装包和角色基础教程下载】

    在实际操作的过程中有哪些快捷键可以使得我们的工作效率更高吗?来看3dmax快捷键大全. 字母键: A键:激活角度捕捉 开关 B键:切换到底视图 C键:切换摄像机视图 D键:当前视图暂时失效 E键:旋转 ...

  10. 阿里三面,P9面试官是如何360°无死角考察候选人的?

    点击上方"蓝字", 右上角选择"设为星标" 周一至周五早11点半!精品文章准时送上! 本文转载自公众号:石杉的架构笔记 目录 1.业务背景介绍 2.架构演进考察 ...

最新文章

  1. 每个开发阶段对应的最流行的Java工具
  2. Linux学习笔记Sed最全整理
  3. Java高级语法笔记-文件操作-链表的存储
  4. win8学习--------计时器
  5. 我眼中的Oracle Database Software 和 Oracle Database
  6. 从零到一,使用实时音视频 SDK 一起开发一款 Zoom 吧
  7. Nginx中 --- 内存池
  8. Node.js的require()的工作原理
  9. Python学习笔记(未完)
  10. Ubuntu 解决WPS缺少宋体,微软雅黑等中文字体
  11. 伟大时刻:小米的命门
  12. Linux Shell脚本详细教程
  13. winrar捆绑软件
  14. c++priority_queue详解
  15. 电脑出现“由于该设备有问题,Windows 已将其停止(代码 43)”的提示,该怎么解决?
  16. [浏览器插件]经典书签同步工具xmarks与chrome自带同步功能比较
  17. ExtJs4_ComboWithTemplatesAndAjax示例;
  18. ps如何放大缩小图层
  19. 基于Python实现的微信好友数据分析——抓取好友性别、位置、头像签名
  20. 苹果个人开发者账号申请+获取证书+上架应用商城

热门文章

  1. 新型计算机作文1000,科幻的作文1000字(精选9篇)
  2. python如何清屏_python如何清屏
  3. ROS@Ubuntu16.04体验记录
  4. 安装VisualC++出现未安装等错误怎么办
  5. Idea导入MySQL驱动包
  6. 广域网宽带接入技术九ADSL技术
  7. DOOM启世录的启示
  8. 网络工程设计教程--系统集成方法
  9. 安装完 SQL Server 2008 后没有 SQL Server Management Studio
  10. 2011年国家统计局省市代码、城市代码、省份代码表数据