【转】测试用例的设计

一、什么是测试用例

测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求,通俗的讲:就是把我们测试系统的操作步骤用按照一定的格式用文字描述出来。

二、为什么要写测试用例

1、 理清思路,避免遗漏

理清思路是我们认为最重要的一点,有的系统本来就是一个大而复杂的项目,我们需要把项目功能细分,根据每一个功能通过编写用例的方式来整理我们测试系统的思路,避免遗漏掉要测试的功能点。

2、 跟踪测试进度进展

通过编写测试用例,执行测试用例,我们可以很清楚的知道我们的测试进度,方便跟踪我们的测试进度。

3、 回归测试

首先我们的系统不是测一遍就完了的,我们需要在开发环境上测试,测试环境上还要进行回归,其次还有可能涉及到合并测试,而且也有可能会有不同的人在不同的阶段进行测试,那么我们就需要测试用例来规范和指导我们的测试行为。

4、 历史参考

在我们所做项目的各个版本中,也许会有很多功能是相同或相近的,我们对这类功能设计了测试用例,便于以后我们遇到类似功能的时候可以做参考依据。

另外如果产品发布后出现了发布缺陷,测试用例也是分析发布后缺陷的依据之一。

三、如何编写用例

1、测试需求分析,得到测试点

在测试需求分析阶段,我们只有需求文档,所以编写测试用例的唯一依据就是需求文档,因此在进行用例编写之前一定要进行需求分析,需求分析的主要工作就是:了解需求的整个实现背景;分析需求的合理性;明确需求的范围,挖掘需求文档中隐藏的需求;在通过需求交底的过程,确定开发的初步实现思路和方法,随着测试需求分析的深入,列出需求的框架,包括测试范围即各个功能点,测试的场景等;确定一些测试可以提前介入的工作等;需要说明的是对于需求中的问题一定要记录下来,找需求确认,需求漏掉的或者存在问题的地方,开发和测试更容易漏掉,而且遗漏的需求很有可能会使得项目整体业务逻辑发生变化,一定要及时提前确认。

2、分析得到用例优先级

得到了需求的各个测试点后,应该先将这些测试点简单的分配一下优等级,一般分为高中低三个优先级,我认为得到优先级后可以让需求用例的设计更有侧重和着重点。

3、细化测试点变成可执行case

根据测试需求分析得到的需求框架,梳理细化测试点,这里的测试点虽然粗,但是不应该有遗漏,这是进行测试点细化的前提。根据测试点,细化出具体的测试用例,要注意各个点的组合测试的情况,还要注意各个测试点的反向测试的情况。

在细化测试点的时候,我们可以要参考以前写好的公共测试用例,甚至可以直接引用,这样既可以避免一些不必要的时间浪费,但是参考不等于照搬,在引用的同时,也一定要思考本次需求自己特有的测试点。

另外需要考虑的就是测试点细化到什么程度的问题,也就是一个度的问题,我们要把握好测试点细化的一个度的问题,太粗的测试点没有指导意义,太细的测试点容易让我们纠的太细,忽略整体的测试,反而也起不到一个指导的效果,所以一定要把握好测试点细化的度。

4、及时更新测试用例

需求分析和用例编写阶段,是主要的细化用例时间,这段时间的目标是梳理出可指导执行测试的用例,但是需求会有变动,需求会有维护,用例也一样,所以用例是需要持续维护的, 所以在需求变动的同时,我们也要及时维护测试用例,否则的话,测试用例很可能成为一个错误的指导。

另外测试用例完成后就会进入一个用例评审的阶段,在用例评审阶段,会有用例评审人,针对你的用例作出的评审,主要检查你的用例是否有测试点遗漏,场景遗漏,测试case描述模糊,测试结果输出模糊等问题,针对用例评审人提出的问题,我们也要及时的更改我们的用例。

5、及时维护通用测试用例

什么是通用测试用例呢?我理解的通用测试用例就是:项目中或者跨项目中很多的公用业务,固化模块,这些功能基本上是趋于稳定不变的,因此可以梳理出通用的比较全面的测试点,作为指导和规范业务和模块的规范,这些生成的规范即通用的测试用例。当我们针对某一模块或者业务持续维护时,就发现我们需要持续维护这的用例,就会发现有些用例业务类似、执行步骤一致、验证项属性一致等等,这个时候通过梳理业务的通用属性,通用用例梳理梳理成章。所以说,通用的测试用例是一个对用例不断维护的产出,因此我们在测试软件维护的过程中一定要及时的更新通用测试用例,对后面的测试和用例维护有一个很大的指导作用。

四、如何提升用例编写能力

1、   熟悉业务,了解系统

任何系统都有大的业务背景,只要熟悉了业务知识才能更有效的使用系统。

任何系统在使用过程中,都有一个熟悉的过程,对系统越熟悉,越容易发现系统问题和业务问题。

2、   用客观的思考方式站在用户的角度分析

作为测试人员如果想提升测试用例的编写能力,首先应该做到的就是站在客户的角度分析客户需要什么和客户想要什么,客户不想要什么,也就是所谓的客户的使用场景,这样有利于我们更好的挖掘和思考隐含的需求。至于这个需求该不该做,那是需求人员的职责,这个需求做起来复不复杂那是开发人员的事情,作为测试人员需要考虑的事就是你所设计的正向和反向测试用例是不是用户常用到的场景,以及一些客户基本不会用到的场景有哪些。

3、   多思考,不要拘束于惯性思维

我们知道一个人做一个工作时间越久,也就是我们说的经验越丰富,可能这个思维方式就会越被限定住。比如,测试的统计表多了,当拿到一个新增的统计表的时候,首先想到的是公用用例上所列的测试点基本上就是最全的了,我都不用思考,直接用就行了。

其实这是一个误区,公用用例的目的是帮助我们减少一些不必要的内耗,但是我们的思维不要被它所限定,如果公用用例中某个点是错的,那我们岂不要一错再错了。所以作为一个测试人员如果想要提升自己的测试用例设计能力,一定要多思考,不要被这种惯性思维束缚,不要被所谓的经验束缚。

4、   不要闭门造车,利用好网络资源

提升测试用例设计能力,多思考是非常重要的,但是不是让你傻思考,当你的进步遇到瓶颈的时候,不要闭门造车,做井底之蛙,要充分利用网络上的学习资源,学习一些前辈的经验,并把这些运用到实际的测试用例设计中去。山外青山楼外楼,多浏览和关注一些关于测试用例设计的网站或者微信公众号,广开言路,相信会对你的测试用例设计能力的提升会有很大的帮助的。

5、   善于总结分享

基于以上四点我们还要做到善于总结,乐于分享,把经常见到的用例设计的误区和一些好的用例设计,和用例设计习惯分享给周围的小伙伴,这样可以集众人之所长,不断提升我们的用例设计能力。

原文地址:https://www.cnblogs.com/hainabaichuan/p/9572873.html

时间: 2024-10-12 09:04:26

【转】测试用例的设计的相关文章

测试小笔记(黑\白盒测试及区别、测试用例的设计)

测试的概念: 白盒测试 黑盒测试 白盒测试.黑盒测试优劣比较   测试用例的设计 一般而言,在所有的方法中效率最低的是随机输入测试,即在所有可能的输入值中随机选取某个子集来对程序进行测试的过程. 白盒测试的方法:1)语句覆盖.2)判定覆盖.3)条件覆盖.4)判定/条件覆盖.5)多重条件覆盖. 1.>语句覆盖:较弱的准则,将程序中的每条语句至少执行一次. 2.>判定覆盖或分支覆盖:较强的逻辑覆盖准则,必需编写足够的测试用例,使得每个判断都至少有一个为真和为假的输出结果.也就是说每条分支路劲都必须

测试用例的设计方法

测试用例的设计方法有: 等价类划分方法,边界值分析方法,错误推理方法,因果图方法,判定表驱动分析方法,正交实验设计方法,功能图分析方法,场景设计方法 等价类划分方法: 基本概念: 一.方法简介 1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 2.划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等

软件测试用例的设计和编写

一.为什么要写测试用例 写测试用例可以让测试的需求覆盖更加全面,让测试工作进行得条理有序,且方便移交和交流 好的测试用例要做到:结构设置和理,case覆盖全面,且具有可执行性,可重复等特点. 二.软件测试文档 1.测试范围列表:需求编号.模块名称.功能名称.复杂度.复用性.自测充分性.是否公用模块.使用频率.优先级 2.测试用例一般包含的要素:用例编号.测试项目.用例标题.优先级(致命.严重.一般.微小.建议).预置条件.输入参数.执行步骤.预期结果 3. 缺陷报告要素:缺陷编号.缺陷标题.严重

从“系统登陆”测试用例案例来分析测试用例的设计

编写测试用例是软件测试工程师最基本的工作.但是如何要编写出好的测试用例,这还真是需要我么对平时的工作认真的进行总结一下. 下面我以"系统登陆"黑盒测试用例设计来分析一下测试用例到底如何来写? 一.案例描述 测试对象:是一个以B/S结构系统的登陆功能点. 功能描述:1.用户在地址栏输入相应的地址,要求限时登陆界面 2.输入用户名.密码和验证码,登陆,系统自动校验,并给出相应提示信息. 3.如果用户名.密码.验证码任一信息未输入,登陆后系统给出相应提示信息. 4.连续3次未通过验证时,自动

测试用例的设计步骤

测试用例的设计步骤作为测试新人,如何实现测试用例的设计一直是我的一个疑惑,在工作中写过几个项目的测试用例,尝试总结一个测试用例的设计步骤.前提:编写测试用例之前我们需要对项目的需求有清晰的了解,对要测试什么,按照什么顺序测试,覆盖哪些需求做到心中有数,作为测试用例的编写者不仅了解要有常见的测试用例编写方法,同时需要了解被测软件的设计.功能规格说明.用户试用场景以及程序/模块的结构.步骤:1.测试需求分析从项目部拿到软件的需求规格说明书后,开始对项目的需求进行分析,通过自己的分析.理解,整理成为测

单元测试中测试用例的设计方法

单元测试中测试用例的设计方法 1. 用于语句覆盖的基路径法 基路径法保证设计出的测试用例,使程序的每一个可执行语句至少执行一次,即实现语句覆盖.基路径法是理论与应用脱节的典型,基本上没有应用价值,读者稍作了解即可,不必理解和掌握. 基路径法步骤如下: 1)画出程序的控制流图 控制流图是描述程序控制流的一种图示方法,主要由结点和边构成,边代表控制流的方向,节点代表控制流的汇聚处,边和结点圈定的空间叫做区域,下面是控制流图的基本元素: 以下代码: void Sort(int iRecordNum,

011-黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用

黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用. 1)等价类划分 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 2)边界值分析法 边界值分析方法是

在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?

导语:”在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?” 偶然在知乎上看到一篇关注度很高的话题,标题如上. 作为一名从业8年有余的软件测试工程师,并且一直在外企做测试的我, 忍不住想发表一些自己的看法和见解. 我觉得在国内,很多公司或者个人把自动化测试当成一个了不起的资本,根本是源于国内大家对代码的无上崇拜,这也造就了国内现在IT互联网行业内一个鄙视链: 开发---> 测试开发--->自动化测试---&g

测试用例的设计思路

在结对项目中,我负责测试用力的设计以及执行.在设计测试用例的过程中,我运用到了以下思路. 良好测试用例的特征: 可以最大程度地找出软件隐藏的缺陷 可以最高效率的找出软件缺陷 可以最大程度地满足测试覆盖要求既不过分复杂.也不能过分简单 使软件缺陷的表现可以清楚的判定 测试用例包含期望的正确的结果待查的输出结果或文件必须尽量简单明了 不包含重复的测试用例 测试用例内容清晰.格式一致.分类组织 测试用例的几种设计思路: 对于白盒测试: 1. 语句覆盖:设计若干个测试用例,使程序中的每个可执行语句至  

测试的艺术:测试用例的设计

由于时间和成本的约束,软件测试的最关键问题是: 在所有可能的测试用例中,哪个子集最有可能发现最多的错误 测试方法: 黑盒测试 等价类划分(Equivalence Partitioning) 1. 严格控制测试用例的增加,减少为达到“合理测试”的某些既定目标而必须设计的其他测试用例的数量 2. 它覆盖了大部分其他可能的测试用例. 划分了等价类后,就可以说,如果对该集合中某个元素所进行的测试没有发现错误的话,那么对该集合中其他元素所进行的测试也不大可能会发现错误. 使用等价类划分方法设计测试用例主要