第5讲 测试技术与测试设计 1、术语一 1)动态测试:比如:百度搜索python,微信发朋友圈,支付聊天==》有数据交互 2)静态测试:需求测试 需求评审 用例评审 ui测试 3)正式评审:用例评审==》组内评审 交叉评审 会议评审 4)度量(metric):测量所使用的方法或标准 ==》bug密度 ==》对软件分等级a b c d 5)评审员(reviewer):参与评审的人 ==》需求评审==》产品经理 用例评审==》测试人员 6)记录员: 2、术语二 1)技术评审: ①、开发对当前迭代的功能代码进行评审 ②、对老功能新增了某些接口进行评审 2)走查(Walkthrough):由文档作者逐步陈述文档内容,以收集信息并对内容达成一致 3)复杂性:功能逻辑比较多==》开发或者测试有难度 4)圈复杂度(Cycloramiccomplexity):程序中独立路径的数 量。可 以衡量一个组件模块的判定结构的复杂程度。 ==》逻辑也多圈复杂度越高,反之越低 5)控制流(ControlFlow):执行组件或系统的一系列顺序的路径 6)数据流(Data Flow):数据从那里来到哪里去 7)圈复杂度计算公式 ①、V = E-N+2=5 ②、V = 区域数 = 5 ③、V = p+1 独立路径的数量 5 1-4-6 1-4-5-6 1-2-3-7-6 1-2-5-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 3、功能测试设计用例的方法(黑盒测试用例设计方法) 1)等价类【重点】 2)边界值【重点】 3)判定表 4)场景法 5)状态迁移图 6)因果图 7)正交表 4、【等价类】 需求1:搜索框功能对公司绩效考核1-100之内进行打分且为正整数 1)等价类的定义:指某个输入域的集合,在集合中 各个输入的条件都是等效的。 2)什么是输入域:1-100 3)集合:1-100之内任意的正整数,比如:1,2,66,88 4)等效:对于搜索框来说不管输入1,2,55,66,88等等,结果都是查询成功==》所以所输入的条件 都是等价 5)有效等价类:对程序规格说明有意义的、 合理 的输入数据 例子:1,3,4,77,99,100 6)无效等价类:对程序规格说明无意义的、 不合 理的输入数据 例子:0,-1,多测师,duoceshi,% @# 空,101,0.1 需求2:年龄必须是数字且正整数 小于200 有效等价类:1-199之间的正整数,1,67,89,33,55 无效等价类:0,中文,英文,@#¥,浮点型(小数点),空 需求3:微信聊天功能 有效等价类:文字,表情 英文 特殊符 数字 视频 图片 文件 链接 红包 位置 语音等等 无效等价类:空 超出文字,语音时间超出,图片大小超出 文件超出 视频超出 红包超出 5、规定了输入规则时,可以划分出一个有效的等价类(符合规则) 和若干个无效等价类(从不同角度违反规则) 例子:需求qq密码是由6-10位数字字符或下划线或英文组成 有效等价类:123456 =》长度符合 无效等价类 12345 ==》长度违反 多测师多测师 ==》类型违反 @#¥%==》类型违反 空 6、等价类划分的设计用例思路: 需求qq密码是由6-10位数字字符或下划线或英文组成 1. 找输入条件 2. 为每个输入条件找有效、无效等价类 3. 为每个等价类编号 4. 用最少的用例覆盖最多的有效等价类 5. 每一个无效等价类都是一个用例==》不能跨两个无效等价类 6. 并非所有有效等价类都有无效 ==》男女 7. 等价类的覆盖可以重复覆盖 ==》123456 ==》数字,长度 7、测试用例一般包括哪些内容? 编号:用例的序号 用例标题:用简洁的语言描述清晰,一看就知道你要验证什么 前置条件:作这件事之前做好了什么 用例步骤:详细描述操作的过程,包括数据 预期结果:要符合需求规定 实际结果:操作是什么样就是什么样, 场景:正常 异常 写用例需要注意: 1)用例一验证开头 2)标题需要和步骤、预期结果相呼应 3)等价类用例设计方法描述的时候可以用大于 小于 在什么之间 4)取数据的合理 5)标题不要出现判断语句 有效等价类: 123456 1234567890 abcdef acbdefghij ______ __________ abc123 123___ 12ab__ abc___ 1234567 acbdefg _______ 无效等价类: 长度违反 12345 12345678900 ______ ___________ abcde acbdefghijk 类型违反 特殊符:!@#¥%& 中文字符:多测师多测师 数据空:空 8、档案管理系统取数据的合理性 有效等价类: 199001==》年份1990-2049之间 204901==》年份1990-2049之间 200001==》验证月份01-12之间 200012==》验证月份01-12之间 199105 无效等价类: 非数字:中文 英文 特殊符 空 19900 ==》长度小于6位 1990010==》长度大于6位 1990多测 ==》包含中文 1990aa ==》包含英文 1990!@ ==》包含特殊符 198901 ==》年份小于1990 205001 ==》年份大于2049 199000==》月份小于01 199013==》月份大于12 9、常见的能够划分等价类的地方: 1. 数值范围 ==》0<a<100 2. 重复次数 ==》ATM取款 3. 字符串长度 ==》规定长度只能输入6个字符 4. 字符串组中字符的个数 ==》[1,2,3,4] 5. 文件命名 ==》.png .jpg .gif 6. 文件大小 ==》5mb 7. 屏幕的颜色种类 ==》红色 绿色 8. 超时时间 ==》 10、等价类的优缺点 优点:是考虑了单个输入域的各类情况, 避免 了盲目或随机选取输入数据的不完整性和覆盖 的不稳定性。 缺点:方法虽然简单易用,但是没有对组合情况 进行充分的考虑。 需要结合其他测试用例设计的 方法进行补充。比如边界值 11、【边界值】 需求1:搜索框功能对公司绩效考核1-100之内进行打分且为正整数==》[1,100] 边界点定义 :临界值 上点:边界上的点 离点:离上点最近的点 (即上点左右两边最邻 近的点) 内点:在域范围内的点 [1,100] ==》 闭区间 闭满足 上点:1,100 正常点:1,100,3 离点:0,101 异常点:0,101 内点:3 (1,100] ==》半开半闭 上点:1,100 正常点:2,100 ,3 离点:2,101 异常点:1,101 内点:3 (1,100)==》开区间 上点:1,100 正常点:2,99,3 离点:2,99 异常点:1,100 内点:3 [1,100)==》半闭半开 上点:1,100 正常点:1,99,88 离点:0,99 异常点:0,100 内点:88 1)例子:qq密码是8-16位数字 ==》 测试五个点:8,16,9,7,17 2)手机号码规定是11位数字组成 ==》测试3个点 10 11 12 验证输入手机号11位数字字符组成 验证输入手机号12位数字字符组成 验证输入手机号10位数字字符组成 边界值分析原则 1. 如果输入(输出)条件规定了取值范围,则应该以该范 围的边界内及边界附近的值作为测试用例 2. 如果输入(输出)条件规定了值的个数,则用最大个数, 最小个数,比最小个数少一,比最大个数多一的数作为测试数据 3. 如果程序规格说明中提到的输入或输出是一个有序集合, 应该注意选取有序集合的 第一个和最后一个元素作为测试数据==》{春 夏 秋 冬} ==>春 冬 12、测试点写法:一般包含是否 ==》编写20条 练习 微信发朋友圈功能 1)点击法朋友圈功能,是否可以正常打开 2)点击发朋友圈功能,是否可以上传本地图片 3)点击发朋友圈功能,是否可以上拍摄 支付宝扫码功能 编写 20条测试点
|