找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

第5讲 测试技术与测试设计

[复制链接]
1、动态测试:比如微信支付功能  聊天功能  有数据交互

2、静态测试:需求评审  ui图  这个过程就是静态测试

3、正式评审:交叉评审 组内评审  会议评审

4、度量:木匠用的尺子等  软件:bug密度可以衡量一个软件的好坏

5、记录员:参加需求评审的人都是

6、评审员:需求主讲==》产品经理  测试用例==》测试人员

7、技术评审:
1)对当前迭代的功能代码进行评审
2)对当前迭代的功能新增的接口进行评审

8、走查:需求评审和用例评审

9、复杂性:组合场景都,越复杂

10、圈复杂度:
代码写越复杂,圈复杂度越高
代码写越简单。圈复杂度越低

11、控制流:登录功能的逻辑==》画出一个控制流程图

12、数据流:数据从哪里来往哪里去,比如我们的微信,注册的信息==》微信后台数据库

13、控制流图:开发实现功能的时候自己画一个流程图帮助理解

14、圈复杂度:独立路径的数量   
v= e-n +2==》10-7+2=5

计算圈复杂度的公式 V = p+1 ==》1,2,3,4是判定节点==》5
独立路径的数量
1-4-6
1-2-5-6
1-4-5-6
1-2-3-7-6
1-2-3-2-5-6

例子
独立路径的数量&& 与  ==》且 两个为真且为真
||代表或  ==》只要有一个为真则为真
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

15、功能设计用例的方法(黑盒设计用例的方法)
等价类【重点】
边界值【重点】
判定表
因果图
状态迁移图
场景法
正交表

1)等价类
等价类:指某个输入域的集合,在集合中 各个输入的条件都是等效的。
例子1 需求:搜索框对公司绩效考核进行打分1-100分正整数
输入域:1-100
集合:1-100之间的任意正整数,比如 2,6,88,99
等效:等价类当中的这些集合都是等价的

通常等价类划分为2种情况:
有效等价类:对程序规格说明有意义的、 合理 的输入数据
1,6,7,88,99,100 ==》有效等价类

无效等价类:对程序规格说明无意义的、 不合 理的输入数据
0,-1,101,多测师,duoceshi,% @ 空  ==》无效等价类

例子2:微信聊天输入框:现有功能
有效等价类:文字 数字 特殊符 英文 中文表情 视频 图片文件 连接 语音 红包
无效等价类:长度超出  图片大小 文件大小 语音超时 空 红包额度 最低额度
例子3:
年龄:必须是数字且是正整数小于200
有效等价类:1,2,3,4 ==》小于200正整数
无效等价类:0 -1 浮点型 中文  英文 特殊符 空

规定了输入规则时,可以划分出一个有效的等价类(符合 规则)
和若干个无效等价类(从不同角度违反规则)==》怎么去理解?

需求:QQ 密码是由6-10位数字或英文或下划线 组成

有效等价类:123456   abcdef  ______

无效等价类:
12345  ==》长度违反
多测师多测师 ==》类型违反
!@#¥%&  ==》类型违反



16、需求:QQ 密码是由6-10位数字或英文或下划线 组成
等价类划分的设计用例思路:
1. 找输入条件
2. 为每个输入条件找有效、无效等价类
3. 为每个等价类编号
4. 用最少的用例覆盖最多的有效等价类 ==》注意数据的合理性
5. 每一个无效等价类都是一个用例 ==》不能跨两个无效等价类
6. 并非所有有效等价类都有无效 ==>性别 男女
7. 等价类的覆盖可以重复覆盖
==>abc12  ==>跨了那几个编号 1,3

设计测试用例包括哪些内容?(用例的要素)
用例编号:每一条用例的id 序号
用例标题:用简洁的语言描述着用用例需要验证什么
用例步骤:详细记录操作过程(需要备注验证数据)
预期结果:通过操作过程会达到什么预期(需要符合需求)
前置条件:作下一步之前首先做好了什么
优先级:  高中低
场景法:正常  异常

编写用例需要注意哪些事项
1)用例一般以验证开头
2)用例标题和步骤内容相呼应
3)用例标题和预期结果相呼应
4)等价类设计用力方法描述一般用大于 小于 等于 在什么之间
5)标题不要出现判断语句

注意数据的合理性
有效等价类:
123456
1234567890
abcdef
abcdefghij
______
__________
abc123
abc___
123___
ab12__
abc1234567
abc__________
1234567___
acb123456_

无效等价类:
12345
12345678901
abcde
abcdefghijk
_____
___________
abc12
abc__
123__
ab12_
abc12345678
abc___________
1234567____
acb123456__

特殊字符 ==》@#¥%&*
中文  ==》多测师多测师



17、档案管理系统
怎么来规范数据合理性
有效等价类

199001  ==》验证年份在1990-2049(月份)
204901  ==》验证年份在1990-2049
199012  ==》月份
204912  ==》月份
200002  ==》中间时间

无效等价类:
非数字  ==》中文 英文 特殊字符
19900  ==》长度小于6位
1990011 ==》长度大于6位
1990多测 ==》含有中文
19900ab  ==》含有英文
1990@#  ==》含有特殊符
198901 ==》年份小于1990
205012 ==》年份大于2049
199000 ==》月份小于01
199013 ==>月份大于12
为空

18、常见的能够划分等价类的地方
1. 数值范围  ==》0-100
2. 重复次数 ==》银行取钱密码输入错误次数超出3次锁定
3. 字符串长度 ==》输入框规定输入规则师6-10英文字符
4. 字符串组中字符的个数 ==》[123,456,789]
5. 文件命名 ==》.png .gif .jpg
6. 文件大小 ==>规定了上传文件5-10mb  
7. 屏幕的颜色种类 ==》红色 绿色
8. 超时时间  ==》查询页面返回不能超过5s


19、边界值【重要】
上点:边界上的点
离点:离上点最近的点 (即上点左右两边最邻近的点)
内点:在域范围内的点

例子1 需求:搜索框对公司绩效考核进行打分1-100分正整数[1,100]闭区间
上点 ==》1,100
离点 ==》0,101
内点 ==>88

闭区间[1,100]==>正常测试点:1,100,88  异常测试点:0,101
上点 ==》1,100
离点 ==》0,101
内点 ==>88

半闭半开[1,100)==》正常测试点:1,99,88  异常测试点:0,100
上点 ==》1,100
离点 ==》0,99
内点 ==>88

半开半闭(1,100] ==》正常测试点:2,100,88  异常测试点:1,101
上点 ==》1,100
离点 ==》2,101
内点 ==>88

开区间(1,100) ==>正常测试点:2,99,88  异常测试点:1,100
上点 ==》1,100
离点 ==》2,99
内点 ==>88

总结一个输入域的边界值设计用来方法测试点取几个点5个点 :两个上点 两个离点 一个内点

例子1:qq注册密码是8-16为数字字符[8,16]
上点 ==》8,16
离点 ==》7,17
内点 ==>10

例子2:由11位纯数字字符组成的手机号  ==》10位  11位 12位
边界值的描述:
验证输入框输入11位数字字符组成的手机号
验证输入框输入10位数字字符组成的手机号
验证输入框输入12位数字字符组成的手机号

等价类的描述:
验证输入框输入等于11位数字字符组成的手机号
验证输入框输入小于11位数字字符组成的手机号
验证输入框输入大于11位数字字符组成的手机号


20、场景法
场景法:用于流程方面
基本流程:正常流程
备选流程:异常流程
登录功能的逻辑
正常流程:输入正确的账号 密码登录成功
异常流程
1)正确的账号,错误的密码登录失败
2)错误的账号 正确的密码登录失败
3)错误的账号和密码登录失败
4)账号为空,密码正确登录失败
5)账号正确,密码为空登录失败
5)账号密码都为空登录失败
6)重复登录同一账号失败
7)账号被锁定了登录失败
8)手机端和电脑端是否可以同时登录

取款机
主流程:插入正确的银行卡=》输入正确的密码=》选择服务=》输入金额=》取款成功

异常流程
1)插入银行卡方向不正确
2)插入的卡消磁了
3)插入的卡挂失了
4)插入的卡缺失
5)输入错误的密码
6)插入卡后取消
7)输入的金额大于银行卡的余额
8)输入的金额大于取款机的余额
9)输入的金额大于当日银行卡的限额
10)输入的金额小于100元
11)输入的金额是小数点


21、状态迁移图(订单的状态)
已下单=》已取消订单=》待付款=》已付款==》取消付款==》待配货=》已配货=》已发货=》待收货
=》取消收货=》已签收

作业:
众安保险需求文档编写30条用例
微信发朋友圈编写20条测试点
支付宝支付功能编写20条测试点


微信发朋友圈测试点:测试点一般包括是否
1)是否能拍摄照片
2)拍摄的照片是否可以取消
3)是否可以拍摄视频
4)点击拍摄,是否可以返回


总结边界值:
边界值分析原则
1. 如果输入(输出)条件规定了取值范围,则应该以该范
围的边界内及边界附近的值作为测试用例 ==》1-100

2. 如果输入(输出)条件规定了值的个数,则用最大个数,
最小个数,比最小个数少一,比最大个数多一的数作为 测试数据 ==》[1,100]

3. 如果程序规格说明中提到的输入或输出是一个有序集合, 应该注
意选取有序集合的第一个和最后一个元素作为测 试数据 ==>{春,夏,秋,冬}



20、场景法
场景法:用于流程方面
基本流程:正常流程
备选流程:异常流程
登录功能的逻辑
正常流程:输入正确的账号 密码登录成功
异常流程
1)正确的账号,错误的密码登录失败
2)错误的账号 正确的密码登录失败
3)错误的账号和密码登录失败
4)账号为空,密码正确登录失败
5)账号正确,密码为空登录失败
5)账号密码都为空登录失败
6)重复登录同一账号失败
7)账号被锁定了登录失败
8)手机端和电脑端是否可以同时登录

取款机
主流程:插入正确的银行卡=》输入正确的密码=》选择服务=》输入金额=》取款成功

异常流程
1)插入银行卡方向不正确
2)插入的卡消磁了
3)插入的卡挂失了
4)插入的卡缺失
5)输入错误的密码
6)插入卡后取消
7)输入的金额大于银行卡的余额
8)输入的金额大于取款机的余额
9)输入的金额大于当日银行卡的限额
10)输入的金额小于100元
11)输入的金额是小数点


21、状态迁移图(订单的状态)
已下单=》已取消订单=》待付款=》已付款==》取消付款==》待配货=》已配货=》已发货=》待收货
=》取消收货=》已签收

作业:
众安保险需求文档编写30条用例
微信发朋友圈编写20条测试点
支付宝支付功能编写20条测试点


微信发朋友圈测试点:测试点一般包括是否
1)是否能拍摄照片
2)拍摄的照片是否可以取消
3)是否可以拍摄视频
4)点击拍摄,是否可以返回


22、判定表
由4个组成部分
条件桩
条件项
动作桩
动作项

结构:由4个部分组成
1)条件桩(condition stub):列出问题的所有 条件(通常条件次序无关紧要)。
2)条件项(condition entry):列出针对它条 件的取值(所有情况下的真假值)
3)动作桩(action stub):列出问题规定可采 取的动作(顺序无约束)。
4)动作项(action entry):列出条件各种情况 的应采取的动作。

例子:12306登录功能  ==》账号  密码  验证码
条件桩:账号  密码  验证码
条件项:账号  密码  验证码==》三种组合场景
动作桩:登录成功  登录失败
动作项:条件项:账号  密码  验证码==》三种组合场景==》每种组合会得到一种结果

1为真  0为假   y 成功  n 失败
条件桩                                  条件项
账号     1  1 1 0 1 0 0 0
密码     1  0 1 1 0 1 0 0
验证码   1  1 0 1 0 0 1 0

动作桩                                  动作项
登录成功 y
登录失败    n n n n n  n


23、因果图
1)因果图的基本符号
C cause ==》原因
E end   ==》结果
假设1为真  0为假   与 两两为真则位真, 或 只要一个为真则为真
恒等 ==  ==》当原因出现的时候,结果一定出现 ==》c = 1,e = 1

非 not  ==》当原因出现的时候,结果一定不出现 ==》c = 1,e =0

或 or  ||   ==》多个原因只要有一个出现,则结果一定出现
c1 = 1 or c2 = 0 => e=1

与  且 &&  ==》多个原因同时出现,则结果一定出现
c1 = 1 and c2 = 1 => e=1

约束符号

E:异  ==>男女  ==》要么不选,要选只能选一个

I:或  ==》多个原因只要有一个出现,则结果一定出现c1 = 1,c2=0 ==》e=1

O:唯一 ==》必须选一个,不能同时选或者同时不选,必填项男女

R:要求 ==》南京市 ==》江苏省

M:结果与结果之间关系


面试题:
你上一家公司是怎么用因果图来设计用例的?
我们上一家公司一般不会用因果图,但是如果需求当中由因果关系的需求
我们会把因果关系中的原因作为条件桩,结果作为动作桩,从而把因果图
转化为判定表,来设计测试用例


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册