如何编写有效的测试用例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试用例(Test Case)是将软件测试的行为活动做一个科学化的组织归纳。目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一。可以说测试用例是软件测试的核心。作为一位功能测试人员,其主要的职能就是进行测试用例的设计,并根据测试用例执行测试,通过全面的测试来验证产品的质量。因此测试用例也从侧面反映了一个测试人员的测试思路的严密和发散性。不同的测试人员,编写测试用例的方法五花八门,各有千秋。
两种观点:
第一种观点:一个好的测试用例,做到以下几点:当一个不熟悉业务的人,看到你的用例后,要知道用例的测试目的什么,知道你要做什么,怎么做,为什么这样做,取得了什么什么成果。即越详细越好,做到每一个操作都考虑到。
第二种观点:用简单的语言描述测试case的输入和预期的输出结果。
好的测试用例应具备的五个要素:
一是测试用例对需求覆盖的完整性;
二是测试用例的有效性;
三测试用例的可理解性;
四是测试用例的清晰性;
五是测试用例的可维护性。
一、一个标准的测试用例应该包含以下元素:
1测试名称(Test Name):测试用例编号和测试用例名称。
A)用例根据各用例的功能来命名,尽量做到简洁明了。
B)一级目录使用各项目的顶级菜单名称来命名,如功能、业务、查询三大类;
C)二级目录使用顶级菜单下的二级菜单名称类命名,用户可根据名字判别该用例是测试哪个模块的。
2测试目的
3测试方法选择依据
4用例执行的前提条件:即执行用例需要满足的前提
5创建日期(Creation Date):测试用例创建时间,系统自动产生。
6设计人员(Designer):测试用例设计人员
7状态(Status):测试用例状态
8描述(Descrīption):测试用例详细描述
要用通俗易懂而又简洁的语言描述描述用例的设计目的,让其他人能够明白我们在什么
9步骤名称(Step Name):测试步骤名称
10步骤描述(Step Descrīption):测试步骤详细描述。
步骤描述要详细而不臃肿,条理而不凌乱。
11预期结果(Expected Result):测试预期结果。
二、测试用例编写原则:
原则上在一次功能测试活动中应包含单元测试、集成测试和业务流程测试,往往集成测试与业务流程测试时混合编写的,二者很难清楚的拆分开。
三、测试用例设计原则
1、全面性:指编写的测试用例应该覆盖所有的详细设计文档描述的功能.
数据库程序基本的增、删、改功能。
增、改测试用例重点在于数据合法性、正确性的检验和提示信息的正确性的检验.输入的数据可能有无限种组合,此时可以采用等价类划分和边界值法.
对于无输入的操作,应该详细描述其具体的操作步骤和结果
.例如::
1)选择商品,可以通过多种途径进行,此时应具体描述程序从何处进入,通过何种操作,达到商品界面.
2)对于报表的测试用例,最好紧跟在输入数据的后面,并且应该给出报表输出的数据的界面图(含数据).
单元测试用例的书写是使用一条数据,多种可能的情况考虑.但是对于其余各阶段的测试用例,必须考虑多条数据时的情况.此时主用是针对新增多条数据后,进行删、改、拖等情况的考虑.
应考虑存在跨年、跨月的数据
2、正确性:包括数据正确性和操作正确性。
首先保证测试用例的数据正确,其次预期的输出结果应该与测试数据发生的业务吻合.
操作的预期结果应该与程序发生的结果吻合
3、符合正常业务惯例:即测试数据应符合用户实际工作业务流程,实际就是测试用例的先后顺序。
例如:先新增,后修改或删除.不能将删除放在第一位.
4、可操作性:即测试用例中应写清测试的操作步骤,不同的操作步骤相对应的操作结果不同.达到的目的是,任何人,均可以根据测试用例,单独进行测试.
四、测试用例设计方法
1、等价类划分法
确定等价类的原则
如果输入条件决定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价
类。
例如:某计算器工具,只能计算出大于0小于5的数字,则有效等价类为1 如果输入条件规定了输入值的集合,或者规定了“必须如何” 的条件,此时可确立一个有效等价类和一个无效等价类. 例如:只能输入数字,则有效等加了为数字,无效等价类为非数字。 如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类 如果规定了输入数据的一组值,而且程序对每个输入值分别进行处理,此时可为每一个输入值确立一个有效等价类,此外,针对这组值确立一个无效等价类,它是所有不允许输入值的集合 如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同的角度违反规则) 如果确知,已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类 2、测试用例的选择原则 为每一个等价类规定一个唯一的编号 设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直至所有的有效等价类都被覆盖过 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直至所 有的无效等价类都被覆盖为止 3、边界值分析法 如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个边界范围的值作为测试输入数据 如果输入条件规定了值的个数,则用最大个数、最小个数、比最大多1、比最小的小1的数作为测试输入数据 根据详细设计说明书的每个输出条件,使用前面的原则 如果程序的详细设计说明书给出的输入输出域是有序集合,则应选取集合的每一个元素和最后一个元素作为测试用列 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例 分析详细设计说明书,找出其他可能的边界条件 ======================================================= 项目的测试,产品的测试,产品个性化的测试,第三方验收测试。项目的测试指的是我所测试的软件是一个项目,是某一个具体用户使用的。产品的测试指的是我所测试的软件是一个