测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。

在这里我们不讨论以上的各种观点,但是综上所述,大家可以看出,测试用例编写这项软技能非常重要且是测试人的必备技能,相信很多人没有质疑。

下面我们介绍下测试用例编写。

我们将用例编写分为黑盒用例编写和白盒用例编写两大类。

总体编写思路:

黑盒测试用例(优先)+白盒测试用例(补充)=完整测试用例

总体编写策略:

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

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

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

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

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

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

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

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

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

第一部分:黑盒用例编写

常见的方法如下:

  • 等价类

  • 边界值

  • 因果图

  • 判定表驱动法

  • 正交实验法

  • 功能图法

  • 场景实验法

  • 错误推断法

  • 需求转化

  • 设计文档

  • 探索式测试

1、黑盒-等价类

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

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

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

转化为测试用例

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

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

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

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

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

等价类举例:

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

2、黑盒-边界值

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

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

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

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

边界值举例

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

3、黑盒-因果图

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

分析思路

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

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

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

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

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

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

4、黑盒-判定表

判定表:分析和表达多逻辑条件下执行不同操作的情况的工具 ;略过因果图的绘制,直接列出所有组合进行筛选;

分析思路:判定表通常有四个部分组成:条件桩、动作桩、条件项、动作项;

判定表的建立步骤:(根据软件规格说明)

确定规则个数;列出所有条件桩和动作桩;填入条件项;填入动作项,得到初始判定表;简化合并相似规则;

使用场景:控制类和游戏。优点是能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。缺点是不能表达重复执行的动作,例如循环结构。

5、黑盒-正交试验法

正交实验法:利用因果图来设计测试用例时, 输入原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到;往往因果关系非常庞大,以至于测试用例数目巨大,为了有效地、合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。

分析思路

1、提取功能说明,构造因子--状态表 ;

2、加权筛选,生成因素分析表 ;

3、利用正交表构造测试数据集 ;

使用场景:必须考虑输入条件的各种组合(从大量的数据中挑取适量、有代表性的点,合理有效的测试);

6、黑盒-场景实验法

场景实验法:软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成事件流;生动的描绘出事件触发时的情景,有利于设计用例,同时测试用例也更容易的得到理解和执行。

分析思路:

每条路径都反映了基本流和备选流;基本流是最简单的路径;备选流自基本流开始,会有特定条件下加入并执行,可能有多种情况;

使用场景(0代表基本流):0;0+1;0+1+2;0+3;0+3+1;0+3+1+2;0+4;0+3+4;…

7、错误推断法

错误推断法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法;更多的与用户的使用习惯及测试程序中的常见问题为主。

分析思路:

列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据这些情况选择测试用例;

注意积累与分享;

使用场景:任何测试、任何情景下都会用到的方法。

有常用的测试用例集,可以参照。

举例:数字输入验证,分别输入数字(正数、负数、零值、单精度、双精度)、字符串、空白值、空值、临界数值;不合法的输入,系统给出必要的判断提示信息;

8、黑盒-需求转换法

需求转换法:根据需求,执行需求分析,并编写测试用例。

分析思路:

将需求转换为思维导图;

仔细推敲每一个字的含义;

与用户的使用场景和目的结合;

严格设计每一个用例;

可以建立一种模型,进行需求转换;

使用场景:任何测试、任何情景下都会用到的方法。

注意:需求的变更带来的影响;需求理解偏差带来的影响;需求含糊不清带来的影响等;

9、黑盒-设计文档

设计文档:参照设计文档,可以理解软件系统内部设计流程及处理机制,对比写好的测试用例,可以在对应功能及模块处新增;

分析思路:

仔细阅读设计文档;

与相关人员沟通实现机制;

结合测试用例编写方法,对比之前写好的用例;

使用场景:任何测试、任何情景下都会用到的方法。

注意:设计文档的编写正确性;设计文档的理解偏差;

10、黑盒-探索式测试法

探索式测试法:无限创意的测试点,永无止境的探索测试;我们要在测试的最前沿发挥洞察力、技术及应变措施,找出产品的缺陷;

分析思路:

局部探索式测试;全局探索式测试;混合探索式测试;

使用场景:任何测试、任何情景下都会用到的方法。像漫游一样,自由地寻找软件中的缺陷,软件测试的未来必然有探索式测试。

第二部分:白盒用例编写

基本思路:

第一步需要绘制流程图;

第二步根据路径分析法确定测试用例;

第三步使用等价类/边界值的方法确定测试用例的数据

第四步根据实际情况补充(如默认流程、特殊流程等)

基本策略:

1、语句覆盖准则基本上没啥用,比较强的逻辑覆盖准则是判定覆盖或者条件覆盖;通常判定覆盖可以满足语句覆盖;语句覆盖<判定覆盖<条件覆盖;

2、循环覆盖来说,完全的路径测试并不符合实际;

软件测试--用例编写相关推荐

  1. 软件测试用例分享ppt,软件测试技巧与用例编写ppt课件.ppt

    <软件测试技巧与用例编写ppt课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<软件测试技巧与用例编写ppt课件.ppt>文档请在天天文库搜索 ...

  2. 软件测试肖sir__007用例编写技巧

    用例编写 一.用例基本介绍 (1)测试的工作重点: 编写测试用例.执行测试用例(依据测试用例) (2)测试的基本流程( h模型) 1.拿到需求(需求文档) 2.了解需求 3.编写测试计划 4.xmin ...

  3. 接口自动化测试中的用例编写问题总结

    本篇文章分享几个接口自动化用例编写过程遇到的问题总结,希望能对初次探索接口自动化测试的小伙伴们解决问题上提供一小部分思路. 01.sql语句内容出现错误 空格,由于有些字段判断是变量,需要将sql拼接 ...

  4. 软件测试人员如何编写测试报告

    之前写过测试计划如何写?测试用例如何写?因此,当然也少不了在测试文档中占有重要地位的测试报告,所以今天王豆豆写写测试报告如何编写的. 软件测试人员如何编写测试计划 测试人员如何设计测试用例 1.什么时 ...

  5. 接口之用例编写、验证

    一.用Excel编写用例(xlsx格式) 截图仅供参考,实际用例编写需要根据实际情况来. 二.用例加载.验证 1.数据的加载 import xlrd,xlwt #python操作excel主要用到xl ...

  6. 软件测试之用例编写的八大要素

    用例编写的八大要素 1.用例编号:产品名-测试阶段-测试项XXX英文(wechat_st_register_001) 2.测试项目:功能模块–子项目 3.测试标题:测试点的细化,一行一个测试点 4.重 ...

  7. 测试学习(三)——用例编写

    一.穷举场景设计测试点 等价类划分法(针对穷举场景设计测试点) 步骤:1.明确需求 2.确定有效和无效等价 3.提取数据,编写用例 用例总数原则: 正向(有效数据集):一条用例尽可能覆盖多条. 逆向( ...

  8. 编写有效用例电子版_软件测试人员必须编写代码吗?

    相信每一个刚入门软件测试的小伙伴都会琢磨一个问题:软件测试人员,要不要写代码? 其实这个问题同样困扰着已经在测试行业闯荡了几年的测试小司机们. 那今天,我就来给大家分析一下~ 01 各种软件测试角色 ...

  9. 软件测试学习之悟空CRM项目测试的用例编写

    今天老师再次详细讲解了具体模块对应该测试的具体流程,如何去转换为用例的编写,其实重点还是在于对系统功能的了解,然后思路要清晰,不然,虽然写的很多很繁杂,这样对于测试来说可能帮助更大,但是工作量也会相应 ...

  10. 软件测试工程师简历编写规范

    测试工程师简历编写规范 一.简历重要性以及编写原则 ''' 能力,经验,技能和工作态度的提现.对自身的说明书.主要是提现你的价值.包装简历的原则: (不失真的包装) 1.台适原则:需要的是合适,能够为 ...

最新文章

  1. 串行、并行、并发总结
  2. 关于 SAP 电商云 Spartacus UI package.json 中的 sass 依赖
  3. 解决:Field xxMapper in xx.service.impl.xxServiceImpl required a bean of type ‘xx.mapper.xxMapper‘
  4. OSI 认证的开源 License 有哪些?
  5. verilog异步复位jk触发器_同步复位和异步复位常见问题总结
  6. 二分查找---查找区间
  7. 网站选择按钮点击无反应?_Win10系统电脑鼠标左键单击没有反应的解决办法
  8. oracle中update锁记录,oracle进行update时对行加锁的测试
  9. 哪吒之魔童降世视听语言影评_《哪吒之魔童降世》观后感精彩影评5篇450字
  10. 计算机系统原理,实验三:bomblab,汇编详解
  11. 北京内推 | 360人工智能研究院招聘计算机视觉算法研究员
  12. 智禾教育:现在入局电商行业算晚吗,行业前景将会如何发展
  13. SRAM与SDRAM的比较
  14. 【毕业设计/Matlab系列】基于PCA和BP神经网络的人脸识别系统(附matlab代码)
  15. 软件测试-按测试阶段/对象/测试手段分类
  16. 云计算学习路线思维导图
  17. 使用MockingBird模拟特定人物的声音
  18. linux内核与bash脚本接囗,Bash脚本编程之脚本基础和bash配置文件
  19. 程序员如何优雅的挣零花钱?
  20. 关于 The RPC server is unavailable

热门文章

  1. floyd算法求最短路径_算法题-蜜蜂采蜜最短路径
  2. yaws mysql_MySQL入门之C语言操作MySQL
  3. vs2013 win10 Caffe的编译安装(微软版本)
  4. 分享一个mysql的docker-compose.yml
  5. html video 笔记
  6. rabbitMQ windows 下安装
  7. ArmLinux BOOTLOADER全程详解
  8. matlab 电流相量图,表示了电路电压相量与电流相量之间的关系.ppt
  9. qt将tablewidget导出为excel
  10. matlab相机标定