测试用例是软件测试的核心
测试用例是测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量稳定的根本保障。
一、什么是测试用例
它是指导你测试的一个评判线索;你可以根据测试用例去判断你的测试进度以及测试覆盖面;也可以作为你自动化测试脚本的一个基础;它也是你入门的一个最基础的基本功。
1.便于理清测试思路,确保需覆盖测试的功能点无遗漏
2.便于测试工作量的评估
3.便于提前准备测试数据
4.便于把控测试工作进度
5.便于回归测试
6.把握app迭代过程中的测试侧重点
7.便于测试工作的组织,提高测试效率,较低测试交接成本
二、测试用例的基本组成要素
(1)用例编号:(一般为模块对应的拼音首字母缩写)如DL_001
(2)功能模块:选择bug对应的功能模块,便于bug筛选统计
(3)测试标题:(一定要包含具体的测试点,验证什么写什么,简洁明了,不存在重复)
(4)前提条件:(做这条用例前必须有的前提条件)如:网络正常
(5)操作步骤:(具有指导性意义,如果涉及到测试数据输入的,最好包含具体的测试数据)
(6)期望结果:(一定是唯一的)
(7)实际结果:
(8)适用阶段:即根据测试流程划分测试阶段
测试用例,属于冒烟测试用例的,要选择冒烟测试用例,这样后续可以直接通过搜索条件进行过滤,并提供给开发进行冒烟测试。
(9)用例优先级:用例执行的优先级
三、软测用例的设计方法
1、边界值分析:
选取等于、刚刚大于、刚刚小于边界的值作为测试数据
基本思想是在最小值、略高于最小值、正常值、略低于最大值和最大值等处取值
2、等价类划分:
等价类划分就是把程序的输入域划分成若干部分,然后从每部分选取少量的具有代表性的数据作为测试用例。
无效等价类:不合理的、无意义的输入数据结婚,验证程序处理意外数据的能力
有效等价类:有意义的输入数据的集合,检验程序是否实现了规格说明总的功能和性能
等价类划分方法:按区间划分、数值划分、数值集合划分、限制条件和规则划分
3、错误推算法:
进行错误的操作,验证程序是否对出错的场景和情况有些应对能力,来选择测试用例数据
4、因果法/判定表法:
将判定表的每一列作为依据,设计测试用例。检查输入条件的各种组合情况
5、场景法:
通过描述的业务流程,设计用例来列出不同业务场景,作为测试用例的测试数据
基本流:主要是功能的正常操作流程
分支流:需要程序做非法判断处理的
【以上的测试用例设计方法没有讲的很仔细,不明白的遗忘的需要课后再查找资料哦~】
*测试用例方法的选择*(划重点)
1、进行等价类划分,主要是输入条件的划分,这是提高测试效率最有效的方法(在任何情况下都必须使用边界值分析法,这种方法设计出测试用例发现程序错误的能力最强)
2、用错误推测法追加测试用例
3、如果程序说明中含有输入组合情况,则一开始就用判定表法(判定表法很少用到)
4、如果还没有达到覆盖标准,应当再补充足够的测试用例(场景法)
四、测试用例设计工具
测试用例设计工具很多,常用的有FreeMind,Excel,testlink和公司自主研发的用例管理平台。
1.FreeMind(思维导图),用来设计测试用例,按用例涉及的功能模块,用例场景进行分别设计。中心主题为本次需求的名称,分支主题为各个功能模块,子主题为每个测试用例的名称,下面可以为各个测试点,最终节点为预期结果。
2.Excel,来组织测试用例。不同的公司有不同的用例模板,通常情况下有下面几个列内容:用例ID,用例名,用例级别,用例描述,前置条件,测试步骤,预期结果和测试结果等。当然还有各个公司重点关注的列内容,按要求进行设计用例即可。
3.testlink,开源用例管理平台。左侧树型结构管理用例和测试用例,右侧显示具体的用例信息,有名称,摘要,编码,步骤动作,期望的结果,执行方式等等,不过现在使用的公司不多了。
4.公司自主研发的用例管理平台。不少大型公司,有相应的技术积累的公司,会开发自己的测试管理平台,当然也少不了用例管理功能。测试用例记录信息和上面介绍的Excel差不多,不过可能会和其他功能有相应的对接,增加一些儿信息。按要求进行填写用例即可!
五、用例编写方式:一般是按照功能+业务逻辑
一、首先保证单个功能是正常的(冒烟测试,预测)
即功能联合起来的业务逻辑是对的,即把所有的功能联合起来走一遍,看是否是好的,编写时首先考虑正常功能验证。
二、功能验证,规则:按顺序从上至下,对每一个输入项进行验证:
1、重复性、数据长度(有效+无效)、数据类型验证(有效+无效)、必填项验证。(注:是否必填项验证,两种场景:不填或全空格(这是两个概念))
2、业务约束验证;
(1)功能交互验证:模块之间传递的信息和数据,对存在功能交互的功能项进行验证;
(2)隐性需求:充分熟悉产品业务,挖掘隐性需求。
输入框:需要验证(格式+长度+类型)是否必填项验证。
3、用例覆盖:测试用例包含正面和反面的用例
(1)正面的用例,是根据功能模块来分,把要测试的某个具体功能模块的所有正常输入数据的测试用例都写出来,也可以成为正常测试用例。
(2)反面的用例,例如登录失败的情况的用例,单个输入数据是非法输入的用例,违反唯一性约束的用例。
4、其它
(1)修改信息,比如用户信息修改,要登录验证,修改的信息是否有效
(2)输入框:必填项、重复性、格式、类型、长度等验证
(3)页面的分页功能验证
(4)页面检查,包括页面元素是否跟原型图效果图一致,页面跳转,文字检查,输入框的提示语等等。
(5)弹窗检查,包括提示语
(6)测试优先级:功能测试--->界面测试---->规则校验优化
(7)页面适配兼容,需要兼容不同电脑推荐的缩放和分辨率
三.用例覆盖:测试用例包含正面和反面的用例
(1)正面的用例,是根据功能模块来分,把要测试的某个具体功能模块的所有正常输入数据的测试用例都写出来,也可以称为正常测试用例。
(2)反面的用例,例如登录失败的情况的用例,单个输入数据是非法输入的用例,违反唯一性约束的用例。
补充: 编写测试用例时,是根据列出来的细分功能点进行用例编写。编写用例就通过拆分各个细分功能点的细节进行。用上测试用例分析方法:划分有效类、确定边界值、使用因果图、判定表、错误推测等等,这些都是用来确定测试数据的。
编写用例需要有一个表格,有个通用的模版
每个用例都需要有一个唯一的编号;一个通俗易懂,一读就明白该条用例的目的的标题;预置条件用来存放一些已知的测试步骤;测试数据,就是我们分析出来的进行测试的数据;测试步骤,引导测试的步骤;预期结果,判断用例的执行结果,用来与实际结果相比较。