• 动态测试(dynamic testing):通过运行软件的组件或系统来测试软件
• 静态测试(static testing):对组件的规格说明书进行评审,对静态代码进行走查 ===》看需求文档就属于静态测试
• 正式评审(formal review):对评审过程及需求文档的一种特定评审
•交叉评审 :测试组内测试人员互相评审对方用例
•组内评审:项目组当中的相关人员进行评审(开发,测试,产品,ui设计)===》正式评审
•会议评审:有客户参加参加的评审
• 度量(metric):测量所使用的方法或标准
比如测试过程中用了什么工具,用了什么方法,以及我出口(上线)的标准
bug的密度
• 评审员(reviewer):参与评审的人
• 记录员(scribe):记录评审会议上的会议纪要
• 技术评审(Technical Review):同行间对技术进行的评审,目的是技术实现达成共识。
• 走查(Walkthrough):由文档作者逐步陈述文档内容,以收集信息并对内容达成一致
• 复杂性(complexity):系统或组件的设计或内部结构比较复杂, 导致难以理解,维护或验证的程度
• 圈复杂度(Cycloramic complexity):程序中独立路径的数量。可 以衡量一个组件模块的判定结构的复杂程度。• 控制流(Control Flow):执行组件或系统的一系列顺序的路径
• 数据流(Data Flow):表示数据对象的顺利或状态发生变化的过程
• 圈复杂度:
• 程序中独立路径的数量,可以衡量一个组件模块的判定结构的复杂程度。
• 计算对象是结构图或程序图,而程序图又包括控制流图与流程图。
通用公式:
1.V=E-N+2 (E是结构图的边数 N节点数)
10-7+2=5
2.V等于区域数===》5
3.判定节点+1 ===》4+1=5
4.独立路径的数量
1-4-6
1-2-5-6
1-2-3-7-6
1-4-5-6
1-2-3-2-5-6
独立路径的数量
&& 代表的是与 两个为真则为真
|| 代表的是或 两个中有1个为真则为真
a-d-g =====》 x=100 y=500 z=5000
a-b-c ===>x=101 y=501
a-d-e-f ===>x=100 y=500 z=5001
功能测试(黑盒测试)的用例设计方法
1.等价类【重点】
2.边界值【重点】
3.判定表
4.因果图
5.正交表
6.场景法
7.状态迁移法
等价类他其实是一个用例设计方法
指的是某个输入域的集合,在集合中各个输入的条件都是等效的
需求1:在输入框中输入考试成绩在1-100之内进行打分并且为正整数
输入域:1-100分
集合:1-100分之间的任意的正整数 比如:1,56,89.......
通常等价类划分为2种情况
有效等价类:对程序规格说明有意义的,合理的输入数据
无效等价类:对程序规格说明无意义的,不合理的输入数据
有效等价类:
1,100,88,45
无效等价类:
0,-1,101, 多测师,duoceshi,!@#$%^&
0<a<100
输入6-10个字符
输入是或否 ===》布尔值 (真或假)
规定了输入数据的一组值(文化程度:小学,初中,高中)
规定了输入规则是,可以划分出一个有效等价类和若干个无效等价类(从不同的角度违反规则)
需求2:qq密码是由6-10位数字字符或英文字符或下划线组成的
123456 ===》符合规则
12345 ====》不符合规则===>从长度方面违反规则
多测师 ====》不符合规则,从类型方面去违反规则
等价类划分的设计用例思路
1.找输入条件
2.为每个输入条件找有效,无效等价类
3.为每个等价类编号
4.用最少的用例覆盖最多的有效等价类
5.每一个无效等价类都是一条单独的用例
6.并非所有的有效等价类都有无效
如:单选框:男 女 ===》必选项,有且只能选择一个
7.等价类的覆盖是可以重复覆盖的
abc___ ===>1,2,4
ab12___ ===》1,2,3,4
8.等价类设计用例覆盖原则:
1.每个用例尽可能多的覆盖多个有效等价类
2.每个用例只能覆盖一个无效等价类
写用例的注意点:
1.用例以验证开头
2.验证标题需要和步骤内容相呼应
3.用例的标题需要和预期结果相呼应
4.等价类划分法用例设计方法的描述一般是用:大于,小于,在某某之间
5.用例标题不能重复
常见的能够划分等价类的地方:
1.数值范围
如:1-100分之内的数值
2.重复次数
如:银行卡密码输入超过5次就锁定
3.字符串长度
如:输入字符串长度为5
4.字符串中字符的个数
如:有一个列表有很多个字符串:["duoceshi","dcs46","hello"]
5.文件命名
如:用.txt结尾的都是有效等价类 .zip .tar .tar.gz
6.文件大小
如:上传1-200MB文件 有效:20mb 无效:201MB
7.屏幕的颜色
如:规定为,红色,黄色,绿色 其他颜色就是一个无效等价类
8.超时时间
一个程序超过30秒没有响应则报错
数据的合理性:
有效等价类:
123456
1234567891
abcdef
asdfghjklo
______ (6个下划线)
__________(10个下划线 )
abc123
123___
abc___
ab12__
无效等价类
1.从长度违反
12345 ==》小于6位
12345678911====》大于10位
abcde
aaaaaaaaaaa
_____
___________
2.从类型上违反
特殊字符:#¥%……&*()
中文字符:多测师第四十六
3.数据为空 ===》异常场景
档案管理系统数据的合理性
有效等价类:
199001 ====》验证的年份在1990-2049
204912 ===》验证月份在01-12月之间
200001 ===》长度为6位
无效等价类
非数字字符===》中文 英文 特殊字符
19900 ====》长度小于6位
1992011====>长度大于6位
1990多测师 ===》包含了中文字符
1990ab ====>包含了英文字符
1990!@ ===》包含了特殊字符
198901 ===》年份小于1990
205001 ===》年份大于2049
199000 ===》月份小于01
204913 ===》月份大于12
输入框输入为空的情况
边界值:
需求:在输入框中对考试成绩在1-100分之内进行打分并且为正整数
上点:1,100 正常场景
离点:0,101 异常场景
内点:区域内的点 88 正常场景
闭区间【1-100】
上点:1,100
离点:0,101
内点:88
开区间(1-100)
上点:2,99
离点:1,100
内点:55
半开半闭:(1-100】
上点:2,100
离点:1,101
内点:55
半闭半开【1-100)
上点:1,99
离点:0,100
内点:55
需求1:美团外卖3-8公里包邮
正常:3,8,6
异常:2,9
需求2:用户名是由11为纯数字字符的手机号组成===》10,11,12
边界值的描述:
验证在输入框输入11位纯数字字符组成的手机号码
验证在输入框输入10位纯数字字符组成的手机号码
验证在输入框输入12位纯数字字符组成的手机号码
等价类的描述:
验证在输入框输入小于11位纯数字字符组成的手机号码
验证在输入框输入大于11位纯数字字符组成的手机号码
验证在输入框输入等于11位纯数字字符组成的手机号码
档案管理:
上点:199001-204912 离点:199000-204903 内点:200001 201512
面试题:
1.一条测试用例包含哪些内容?
2.常用的用例设计方法有哪些?
3.结合你的项目及测试用例讲一下测试点
4.给你一个xxxx(路灯,小汽车,给你一个app)你说一下测试点
5.如何保证用例的覆盖率?1.评审好需求,按照需求梳理测试点,按照测试点编写测试用例,已经及时的进行用例的评审
在公司中-====》拿到需求文档===》提炼测试点===》根据测试点写用例
什么地方可以写成用例:
一个状态的变更
一个页面的跳转
页面的变化
作业:
1.众安保险编写35条用例
2.微信发朋友圈的测试点==》40条 ==》测试点中会包含“是否”
例子1:
在微信朋友圈界面进行下拉操作是否可以刷新朋友圈
在微信朋友圈点击封面图是否会出现换封面
点击朋友圈朋友的头像是否会跳转到朋友的详情信息界面
3.支付宝支付功能的测试点写25条
例子1:
在支付宝首页 点击扫一扫是否会进入到扫描二维码界面