如何进行测试用例设计
一、等价类划分法
所谓「等价」,就是具有相同属性或者方法的集合,这个集合中某个个体所表现的特征与其他个体完全一致。
由此可知,等价类划分就是将所有可能的输入数据,划分成若干个等价类,然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,分为有效等价类和无效等价类。
例如,规定的用户名长度区间为4~8个字,那么它的有效等价类是用户名长度在[4,8],无效等价类为用户名长度大于8位,或用户名长度小于4位。
二、边界值
测试经验告诉我们,在测试有时会涉及到大量的数据,遍历所有数据会使测试效率低下,如果是手工执行,更加难以覆盖所有数据。这时更有效率的做法是,先划分等价类,再从等价类中选择部分参数测试,边界值是等价类所有可选参数中最容易出问题的地方,所以我们一般会选择边界值作为测试的重点,边界值法的应用步骤如下:
1.先根据等价类法划分有效等价类和无效等价类,确定上点、离点及内点。上点是边界上的点,离点是离上点最近的点,内点则是边界有效范围内的任意一点。同样以用户名长度为4~8位为例,4和8为上点,3和9为离点,6则为内点。
2.设计一个新的测试用例,使其尽可能地覆盖所有尚未覆盖的有效等价类,直到所有有效等价类完全覆盖。
3.设计一个新的测试用例,使其仅覆盖一个无效等价类,直到所有无效等价类都被覆盖。
三、判定表法
判定表又称策略表、决策表,能表示输入条件的组合,以及与每一输入组合对应的动作组合。判定表法适合逻辑判断比较复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,具体又明确地表达复杂地逻辑关系和多种条件组合情况。
判定表主要由条件桩和动作桩两部分组成。条件桩是功能要满足地所有条件,动作桩则是所有可能的操作以及产生的结果。
判定表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。其缺点是判定表的建立过程较烦杂,当条件过多时,需要分析的逻辑组合呈2的倍数增长。测试工程师可根据实际情况与等价类划分法、边界值法结合使用。
四、正交试验法
正交试验法是研究多因素、多水平组合的一种实验法,它是利用正交表来对实验进行设计,通过少数的实验替代全面实验。正交表中所有参与试验的、影响试验结果的条件成为因子,影响试验因子的取值或输入的成为水平。
在设计测试用例时,采用正交试验法能够有效地、合理地减少测试的工作量与和成本。正交试验的一般流程包括以下几个步骤:
1)分析测试需求,获取因子和水平
2)根据因子和水平选择合适的正交表
3)替换正交表中的因子和水平,获取试验次数
4)根据经验或者其他因素补充试验次数
5)细化输出获得测试用例
以上是一些常见的测试用例设计方法,希望能够解答你的问题。
1、等价类划分
为每个输入划分等价类,得到等价类表,为每个等价类规定一个唯一编号。设计一个测试用例,使其尽可能多的覆盖所有尚未覆盖的有效等价类。重复这一步骤,使得有效等价类均被测试用例所覆盖设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤使得所有无效等价类均被覆盖。
2、边界值分析
从测试规格中分析得到输入参数类型,对于输入等价类划分方法进行等价类的划分,运用域测试分析方法确定域范围的边界(上点、离点与内点)。如果存在多个输入域,则需要运用因果图、判定表方法这些输入域边界值的组合情况进行进一步分析,选择这些上点、离点与内点或者这些点的组合形成测试项。
3、判定表
判定表是分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。
列出所有的条件桩和动作桩,填入条件桩、条件项和动作桩、动作项,化简,合并相似规则,将每条规则转化为用例。
基本格式
1、用例编号
测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:PROJECT1-ST-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。
2、测试标题
对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。
3、重要级别
定义测试用例的优先级别,可以笼统的分为四个不同的等级。
4、输入限制
提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。
5、操作步骤
提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。
6、预期结果
提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。
在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
测试用例的使用令软件测试的实施重点突出、目的明确。
在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路。
必须掌握:用例编号(如何命名)、所属模块、用例标题(验证谁在什么情况下,去做什么,最后结果是什么)、优先级、前置条件、操作步骤、测试数据、预期结果、实际结果
了解内容:通过否、bugID、编写人员、编写时间、测试人员、测试时间、备注
测试用例覆盖所有的用户需求
测试用例要简单明了
各类型的测试用例要齐全
用最少的用例覆盖最多的需求
等价类划分 是把所有可能输入的数据分为若干个区域,然后从每个区域中取少量有代表性的数据进行测试即可。
等价类 :何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的。
一般可分为有效等价类和无效等价类。
有效等价类:指符合《需求规格说明书》,输入合理的数据集合
无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合
取值范围型: 输入学生成绩 0-100
恒等类型 : 只有一个结果是正确的,其他都是错误的 例如 彩票的特等奖
布尔值型: 通过是否来进行选择,如同意协议
枚举类型: 给出选项内容,只要符合其中任意一个就可以 例如选择学历
规则类型: 给定要求,满足要求的就可以,比如邮箱
在任意文本输入框中可以填写的字符类型: 中文、英文、特殊符号、空格、数字。
定义:边界值分析 是取稍高于或稍低于边界的一些数据进行测试。
原因: 程序开发循环体时的取数可能会因为<,<=搞错。
上点: 是指边界上的点,无论此时的域是开区间还是闭区间,开区间的话,上点就是在域外,闭区间的话,上点就是在域内。
离点: 是指离上点最近的点,这里就跟是闭区间还是开区间就有关系了,如果是开区间,那么离点就在域内,如果是闭区间,那么离点就在域外。(开内闭外)
遵循的原则:开内闭外 开区间往中间找,闭区间往外找
内点: 域内的任意点都是内点。
0<=x<=10 左上点 0左离点 -1右离点 11 右上点 10 内点 5
0<x<10 左上点 0 左离点 1 右离点 9 右上点 10 内点 5
0<=x<10 左上点 0 左离点 -1 右离点 9 右上点 10 内点 5
因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。
1、确定原因、结果、中间过程
2、连接因果图
3、标明约束条件
4、输出测试用例
错误猜测法是测试经验丰富的人喜欢使用的一种测试用例设计方法。
一般这种方法是基于经验和直觉推测程序中可能发送的各种错误,有针对性地设计。只能作为一种补充。
输入一串数字,程序可自动从小到大排序
邮箱格式@符合的全角以及半角情况
测试手机终端的通话功能,可以设计各种通话失败的情况来补充测试用 例:
无SIM 卡插入时进行呼出(非紧急呼叫)
插入已欠费SIM卡进行呼出
射频器件损坏或无信号区域插入有效SIM卡呼出
网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)
网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字
最重要的是要思考和分析测试对象的各个方面,多参考以前发现的bug的相关数据,总结的经验,个人多考虑异常的情况、反面的情况、特殊的输入,以一个攻击者的态度对待程序,就能设计出比较完善的测试用例来。
设计测试用例时,分析和表达多输入条件下执行不同操作的黑盒测试方法。
注意: 该方法和因果图法相似。
1、确定原因和动作
2、排列组合
3、标明结果关系
4、输出测试用例
日本人提出
使用工具:正交表
正交实验法就是利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果。
这种试验设计法是从大量的试验点中挑选适量的具有代表性的点,利用已经造好的表格—正交表来安排试验并进行数据分析的方法。
正交表能够在因素变化范围内均衡抽样,使每次试验都具有较强的代表性,由于正交表具备均衡分散的特点,保证了全面实验的某些要求,这些试验往往能够较好或更好的达到实验的目的。
正交实验设计包括两部分内容:第一,是怎样安排实验;第二,是怎样分析实验结果。
在一个界面中有多个控件,每个控件有多个取值,控件之间可以相互组合,不可能(也没有必要)为每一种组合编写一条用例,如何使用最少最优的组合进行测试。——正交排列法
对于一个软件的测试计划,具体指需求分析,测试策略,工作量估算,进度安排,度量标准,风险评估,子计划制定,计划评审。测试计划包括的内容要素也可概括为:软件测试的范围、策略、需求、资源要求、人员要求、进度,软件测试停止的方法,测试用例设计的方法,测试中潜在的风险和问题区域以及角色与职责。
若你此处的测试方案指的是测试的策略的话,应该有以下几项内容:测试方法、测试工具、测试用例设计方法内容的选择则,测试方法也就是那些黑盒白盒等,测试用例的设计方法可以是等价类划分,边界值等等。希望有所帮助。(*^__^*) ……