1、1、等价类划分法例子 1:现在有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为 1990 年 1 月-2049 年 12 月,并规定,日期由 6 位数字组成,前 4位表示年,后 2 位表示月。1, 根据需求进行分析,找出有哪些输入条件年份: 【1990,2049】月份: 【01,12】字符长度:6 位字符类型:数字2, 画出等价类输入条件 有效等价类 边界值分析 无效等价类年份 【1990,2049】 (1) 上点:1990,2049(12)离点:1989,2050内点:20162049 (3)月份 【01,12】 (4) 上点:01,12(13)离点
2、:00,13内点:1112 (6)字符长度 6 位 (7) 上点:6离点:5,7内点:66 (9)字符类型 数字 (10) 非数字 (11)3, 为每个等价类规定一个唯一编号(如上图)4, 转换成测试用例转换测试用例的原则:A,设计一个测试用例尽可能多的覆盖多个有效等价类;B,设计一个测试用例必须对应覆盖一个无效等价类。有效等价类用例:用例 1:201611 (1)(4)(7)(10)无效等价类用例:用例 2:198911 (2)用例 3:205011 (3)用例 4:201600 (5)用例 5:201613 (6)用例 6:20161 (8)用例 7:2016113 (9)用例 8:201
3、61a/abcedf (11)根据边界值分析法分析后补充测试用例用例 9:199001 (12)用例 10:204912 (13)5,转成正式格式用例(用例写作的 8 大要素)用例编号 D1223232_ST_Search_Date_001项目 搜索功能标题 输入正确的日期格式成功搜索重要级别 高预置条件 系统运行正常输入 日期:201611操作步骤 1, 在查询条件中输入日期2, 点击搜索按纽预期结果 1,显示该日期范围内所有档案文件编写人 张三编写时间 2016-11-10用例类型 功能用例例子 2:(学生练习-参考例子)万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日
4、期的农历表示法及相关黄历信息。假设日期限定在 1990 年 1 月 1 日2049 年 12 月 31 日,并规定日期由 8 位数字字符组成,前 4 位表示年,中间 2 位表示月,最后 2 位表示日期。其中4,6,9,11 月只有 30 天,平年的 2 月份只有 28 天,闰年的 2 月份有 29 天。备注:闰年指能被 4 或 400 整除,且不能被 100 整除的年份,如:2008,20161, 根据需求进行分析,找出有哪些输入条件年份: 【1990,2049】月份: 【01,12】字符长度:8 位字符类型:数字日期: 4,6,9,11 月: 【01,30】1,3,5,7,8,10,12 月
5、: 【01,31】平年的 2 月份:【01,28】闰年的 2 月份:【01,29】2, 画出等价类输入条件 有效等价类 无效等价类年份 【1990,2049】 (1) 2049 (3)月份 【01,12】 (4) 12 (6)字符长度 8 位 (7) 8 (9)字符类型 数字 (10) 非数字 (11)4,6,9,11月【01,30】 (12) 30 (14)1,3,5,7,8,10,12月【01,31】 (15) 31 (17)平年的 2 月份【01,28】 (18) 28 (20)闰年的 2 月份【01,29】 (21) 29 (23)3, 为每个等价类规定一个唯一编号(如上图)4, 转换
6、成测试用例转换测试用例的原则:A,设计一个测试用例尽可能多的覆盖多个有效等价类;B,设计一个测试用例必须对应覆盖一个无效等价类。有效等价类用例:用例 1:20161130 (1)(4)(7)(10)(12)用例 2:20161031 (1)(4)(7)(10)(15)用例 3:20170228 (1)(4)(7)(10)(18)用例 4:20160229 (1)(4)(7)(10)(21)无效等价类用例:用例 2:19891110 (2)用例 3:20501110 (3)用例 4:201600 (5)用例 5:201613 (6)用例 6:20161 (8)用例 7:2016113 (9)用例
7、 8:20161a/abcedf (11)5,转成正式格式用例(用例写作的 8 大要素)例子 3(输入项):注册 163 邮箱,要求注册的邮箱名字符长度为 6-18 位,字符由字母、数字、下划线组成,且以字母开头。密码字符长度为 6-16 位,区分大小写。有验证码验证输入域 输入条件 有效等价类 无效等价类邮件地址 字符长度 【6,18】 18字符类型 全字母字母开头+数字字母开头+下划线字母开头+字母、数字字母开头+字母、下划线字母开头+数字、下划线字母开头+字母、数字、下划线非字母开头字母开头+非数字、字母、下划线的其它字符 是否必填 填写 不填是否被注册 未被注册 已注册是否有保留字段
8、有保留 无保留密码 字符长度 【6,16】 16字符类型 英文字母;数字;特殊字符;英文字母、数字、特殊字符三种组合;非英文字母、数字、特殊字符三种以外的字符是否必填 填写 不填确认密码 是否一致 一致 不一致是否必填 填写 不填手机号码 字符长度 11 位 11字符类型 纯数字 非数字国家编号 选择显示正确 选择显示错误验证码 是否一致 一致(1, 完全一致)(2, 不区分大小写)不一致切换 能切换 不能切换免费获取验证码免费 免费 不免费获取 收到短信 收不到短信短信验证码是否一致 一致 不一致同意条款 是否勾选 勾选 不勾选转成测试用例有效等价类用例 1:邮件地址:chenzhijian
9、密码:zhijian确认密码:同密码一致手机号码:13662218217验证码:同右边图片中完全一致免费获取验证码:点击获取输入短信验证码:收到的短信验证码(6 位数字)同意条款:勾选用例 2:邮件地址: chenzhijian123密码:123456确认密码:同密码一致手机号码:13662218217验证码:不区分大小写免费获取验证码:点击获取输入短信验证码:收到的短信验证码(6 位数字)同意条款:勾选用例 3:邮件地址: chenzhijian_密码: #$%!&确认密码:同密码一致手机号码:13662218217验证码:同右边图片中完全一致免费获取验证码:点击获取输入短信验证码:收到的短
10、信验证码(6 位数字)同意条款:勾选用例 4:邮件地址: chenzhijian_123密码: zhijian12%&确认密码:同密码一致手机号码:13662218217验证码:不区分大小写免费获取验证码:点击获取输入短信验证码:收到的短信验证码(6 位数字)同意条款:勾选用例 5:邮件地址:chenzhijian/chenzhijian123/chenzhijian_/chenzhijian_123/密码:zhijian/123456/#$%!&/zhijian12%&确认密码:同密码一致手机号码:13662218217验证码:同右边图片中完全一致/不区分大小写免费获取验证码:点击获取输入短
11、信验证码:收到的短信验证码(6 位数字)同意条款:勾选无效等价类例子 4(下拉框):例子 5:(课后练习)淘宝网便民服务之话费充值2、边值分析法例子 1:输入条件 有效等价类 手续费(元) 边界值分析 无效等价类存入金额M【1000,10000】 M*0.5% 上点:1000,10000离点:900,10100内点:5000(10000,50000】50 上点:10000,50000离点:10100,50100内点:20000设计测试用例用例 1:存入的金额数字有 900、1000、5000、10000、10100、20000、50000、50100例子 3:输入条件 有效等价类 边界值分析
12、无效等价类单笔提取金额 【50,2000】 上点:离点:内点:每天取款次数 【1,3】每天取款总额 【50,5000】提款的增量 50的整数倍【1,40】输入条件 有效等价类 边界值分析 无效等价类第一次提取金额 【50,2000】 上点:离点:内点:每天取款次数 【1,3】每天取款总额 【50,5000】提款的增量 50的整数倍【1,40】例子 4:转账例子 5:等价类边界值综合练习常见边界值缺陷:日期测试:10 月 31 日,月加 1 变为 11 月 31 日,而 11 月是没有 31 日的,这个时候日项显示就不正常了。1 月 30 日, 对日项加 1 时,日直接变为 01 了,即变成了
13、1 月 01 日无法进入待机模式:修改系统时间,当系统时间小于当前时间时,不能进入待机模式越界造成死机:1、将呼吸测量模式设置成手动测量;2、调整上下虚线的位置,将上下虚线的位置均调节到最下方或都调节到最上方,直到不可调节为止;3、将增益为 1 倍调节为 5 倍增益;4、退出呼吸设置菜单再次进入呼吸设置菜单后出现死机;5、重起后每次进入呼吸菜单都会死机,除非重新恢复缺省配置。3、判定表法例子 1:手机如果欠费或者停机则 不能主被叫 例子 2:手机接入 wifi 或打开 3G,对是否可以使用网络的情况进行设计测试用例1,根据需求进行分析,找出条件桩、动作桩、条件项、动作项条件桩 条件项接入 wi
14、fi 接入/ 未接入 1/0 打开 3G 打开/未打开 1/0动作桩 动作项可以使用网络 (未知)不可以使用网络2, 列出判定表规则的个数:2*2=4 个条件桩 1 2 3 4接入 wifi 1 1 0 0打开 3G 1 0 1 0动作桩可以使用网络 Y Y Y不可以使用网络 Y3, 画简合并条件桩 1 2 3接入 wifi 1 0 0打开 3G X 1 0动作桩可以使用网络 Y Y不可以使用网络 Y4, 转测试用例最终化简合并后得到的列,一列即为一条用例(如上共 3 条)用例 1: 1 X - 可以使用网络用例 2: 0 1 - 可以使用网络用例 3: 0 0 - 不可以使用网络例子 3:修
15、改 Notes 账户密码,要求如下,首先输入正确的原始密码;输入两次一致的新密码;并且新密码要具有一定的复杂度(8-15 位;包含大写字母;小写字母;数字;其它字符)判定表法1,根据需求进行分析,找出条件桩、动作桩、条件项、动作项条件桩 条件项原始密码 正确/不正确 1/0 新密码 复杂/不复杂 1/0确认密码 一致/不一致 1/0动作桩 动作项修改成功 (未知)修改失败5, 列出判定表规则的个数:2*2*2=8 个条件桩 1 2 3 4 5 6 7 8原始密码 1 1 1 1 0 0 0 0新密码 1 1 0 0 1 1 0 0确认密码 1 0 1 0 1 0动作桩修改成功Y修改失败Y Y
16、Y Y Y Y Y6, 画简合并条件桩 1 2 3 4原始密码 1 1 1 0新密码 1 1 0 X确认密码 1 0 X X动作桩修改成功Y修改失败Y Y Y7, 转测试用例最终化简合并后得到的列,一列即为一条用例(如上共 4 条)用例 1: 1 1 1 - 修改成功用例 2: 1 1 0 - 修改失败用例 3: 1 0 X - 修改失败用例 4: 0 X X - 修改失败例子 4:电影票优惠1,根据需求进行分析,找出条件桩、动作桩、条件项、动作项条件桩 条件项刷华夏信用卡 刷/不刷 1/0 周三下午 是/不是 1/0情侣 是/不是 1/0动作桩 动作项8 折优惠 (未知)7 折优惠 1.电影
17、票购票门票 50 元/ 张 2.刷华夏信用卡享受 8 折优惠 3.周三下午看电影享受 7 折优惠 4.情侣看电影,女生免票 符合情况 4 不享受额外优惠 符合情况 2 和 3 享受折上折女生免票折上折原价2, 列出判定表规则的个数:2*2*2=8 个条件桩 1 2 3 4 5 6 7 8刷华夏信用卡 1 1 1 1 0 0 0 0周三下午 1 1 0 0 1 1 0 0情侣 1 0 1 0 1 0 1 0动作桩8 折 Y7 折 Y女生免票Y Y Y Y折上折 Y原价 Y3, 化简合并条件桩 1 2 3 4 5刷华夏信用卡 X 1 1 0 0周三下午 X 1 0 1 0情侣 1 0 0 0 0动
18、作桩8 折 Y7 折 Y女生免票Y折上折 Y原价 Y4,转成测试用例例子 5:有一个需求描述如下:“.对已运行 10 年以上的机器,或功率大于 50 马力且维修记录不全的机器,给予全面维修处理,对其它机器只进行一般维修处理”1,根据需求进行分析,找出条件桩、动作桩、条件项、动作项条件桩 条件项10 年以上 是/不是 1/0 大于 50 马力 是/不是 1/0维修记录不全 是/不是 1/0动作桩 动作项全面维修 (未知)一般维修2,列出判定表规则的个数:2*2*2=8 个条件桩 1 2 3 4 5 6 7 810 年以上 1 1 1 1 0 0 0 0大于 50马力 1 1 0 0 1 1 0
19、0维修记录不全 1 0 1 0 1 0 1 0动作桩全面维修Y Y Y Y Y一般维修Y Y Y3、化简合并条件桩 1 2 3 410 年以上 1 0 0 0大于 50马力 X 1 1 0维修记录不全 X 1 0 X动作桩全面维修Y Y一般维修Y Y例子 6:修改文件如想对文件进行修改,需要遵守以下规则:输入的第一列字符必须是 A 或 B,第二列字符必须是一个数字,如果第一列字符不正确,则给出信息 L;如果第二列字符不正确,则给出信息 M;如果两列字符输入正确,则修改文件例子 5:判断三角形(作业)4、因果图法例子 1:(用因果图法实现)如想对文件进行修改,需要遵守以下规则:输入的第一列字符必
20、须是 A 或 B,第二列字符必须是一个数字,如果第一列字符不正确,则给出信息 L;如果第二列字符不正确,则给出信息 M;如果两列字符输入正确,则修改文件第二种方法1, 根据需求进行分析,找出原因和结果原因(输入条件) 结果(输出结果)第一列字符必须是 A L第一列字符必须是 B M第二列字符必须是一个数字 修改文件2, 画出因果图3、把因果图转成判定表计算规则个数:2N(N 为原因的个数 )=23=8条件桩 1 2 3 4 5 6 7 8A 1 1 1 1 0 0 0 0B 1 1 0 0 1 1 0 0数字 1 0 1 0 1 0 1 0动作桩LM修改文件因为条件中第一列字符一次只能输入 A
21、 或,所以当它们同时存在时不符合要求,需删除(如上图)条件桩 3 4 5 6A 1 1 0 0 0 0B 0 0 1 1 0 0数字 1 0 1 0 1 0动作桩L M 修改文件 补充如下计算动作项的方法(加入中间节点,再用与或关系进行计算)条件桩 3 4 5 6A 1 1 0 0 0 0B 0 0 1 1 0 0数字 1 0 1 0 1 011 1 1 1 1 0 0动作桩L 0 0 0 0 1 1M 0 1 0 1 0 1修改文件1 0 1 0 0 0、化简合并 经过分析,如上 6 条没有相似规则的列,不需要合并5、转成测试用例用例 1:A4 修改文件用例 2:Aa M用例 3:B5 修改
22、文件用例 4:Ba M 用例 5:C1 L 用例 6:CD L,M 综上共得到 6 条用例5、转正式格式用例(8 大要素)第一种方法1, 根据需求进行分析,找出原因和结果原因(输入条件) 结果(输出结果)第一列字符必须是 A 或 B L第二列字符必须是一个数字 M修改文件2, 画出因果图3、把因果图转成判定表计算规则个数:2N(N 为原因的个数 )=22=4条件桩 1 2 3 4第一列字符必须是 A 或 B1 1 0 0第二列字符必须是一个数字1 0 1 0动作桩L Y YM Y Y修改文件 Y4、转成测试用例用例 1:A4 修改文件 (1)B5 修改文件 (2)用例 2:Aa M (3)Ba
23、 M (4)用例 3:C1 L (5 )用例 4:CD L,M (6)综上共得到 6 条用例5、转正式格式用例(8 大要素)例子 2:(用因果图法实现)有一个处理单价为 5 角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入 5 角钱或 1 元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。当售货机没有零钱找,则一个显示零钱找完的红灯是亮的,这时在投入 1 元硬币并押下按钮后,饮料不送出来而且 1 元硬币也退出来;若有零钱找,则显示零钱找完的红灯不会亮,在送出饮料的同时退还 5 角硬币。1, 根据需求进行分析,找出原因和结果原因(输入条件) 结果(输出结果)5 角钱 送出橙
24、汁1 元钱 送出啤酒押下橙汁 红灯是亮 押下啤酒 饮料不送出来而且 1 元硬币也退没有零钱找 红灯不会亮 有零钱找 在送出饮料的同时退还 5 角进行优化原因(输入条件) 结果(输出结果)5 角钱 送出橙汁1 元钱 送出啤酒押下橙汁 红灯是亮 押下啤酒 1 元硬币也退有零钱找 退还 5 角为了更好画出因果图,调整原因和结果的顺序原因(输入条件) 结果(输出结果)有零钱找 红灯是亮1 元钱 1 元硬币也退5 角钱 退还 5 角押下橙汁 送出啤酒 押下啤酒 送出橙汁2, 画出因果图3、把因果图转成判定表规则个数为:25=32例子 3:(学生课堂练习)支付宝个人认证中,分为两部分:个人身份认证和银行卡
25、认证。这两者都通过后,则认为认证成功。个人身份认证需要提交个人基本信息及身份证复印件。银行卡认证需完成提现认证和充值认证。提现认证的流程是:用户提交正确的银行帐号 支付宝给用户的银行卡中随机打款用户确认金额,认证成功。充值认证的流程是:用户提交正确的银行帐号 充值充值完成 网银反馈,认证成功。为了简便起见,我们假设个人信息提交和身份证件提交成功后,身份认证则成功,忽略人工审核过程。画出因果图5、状态迁移法例子 1:根据电梯在实际生活中可能会出现的各种状态,画出状态迁移图(首层、上升状态、下降状态、空闲状态、维修状态、顶层、超载、故障)例子 2:某打印机的打印功能如下:打印机初始处于就绪的状态下
26、,可以接收打印的任务,进入打印状态,开始打印;在打印的过程中,如果打印机出现故障,打印机将处于故障状态,等待修复故障;故障修复后,打印机会恢复打印状态,继续打印原来的文档;在打印的过程中,如果纸张用完,打印机将暂停打印,处于缺纸状态,当放入打印纸后,打印机会自动检测,恢复打印状态,继续开始打印;打印任务完成,打印机恢复就绪状态。1、 根据需求进行划分,找出状态和状态之间的触发条件状态:就绪状态、打印状态、故障状态、缺纸状态触发条件:接收任务、出现故障、修复故障、纸张用完、放入纸张、打印完成2、 画状态迁移图3、 列出状态-事件表前一状态 触发条件 后一状态 现像就绪状态 接收任务 打印状态 打
27、印指示灯亮打印状态 出现故障 故障状态 故障灯亮打印状态 纸张用完 缺纸状态 缺纸指示灯亮打印状态 打印完成 就绪状态 就绪指示灯亮故障状态 修复故障 打印状态 打印指示灯亮缺纸状态 放入纸张 打印状态 打印指示灯亮4、 画出状态转换树根据广度优先原则,从一个根开始,依次找它的子结点,一直找到最终的叶子结点5、 推导出测试路径从根结点开始找到最终的叶子结点,即为一条路径,一条路径即为一条用例路径 1:就绪状态- 打印状态 -故障状态-打印状态路径 2:就绪状态-打印状态-缺纸状态-打印状态路径 3:就绪状态-打印状态-就绪状态6、 转成正式的用例格式用例编号 Printer_ST_Print_
28、fault_001项目 打印功能标题 打印过程出现故障恢复到打印状态测试重要级别 高预置条件 打印机初始置为就绪状态输入 1,Word 文档操作步骤 1, 点击 Word 文档打印2, 打印过程中让打印机出现故障(断电或卡纸)3, 修复故障预期结果 1,故障修复完成,恢复打印功能编写人 张三编写时间 2016-11-10用例类型 功能用例例子 3:(课堂练习)列出状态-事件表前一状态 触发条件 后一状态 现像播放 暂停播放 后退播放 前进暂停 播放暂停 后退暂停 前进后退 暂停后退 前进后退 播放前进 播放前进 后退前进 暂停画出状态转换树暂停播放后退 前进推导出测试路径(共 9 条)路径 1
29、:播放- 暂停- 播放。路径 9:播放- 前进 -暂停例子 4:(课堂作业)问题单的一生 测试人员提交新问题单,测试经理审核问题单,如果不是问题则作为非问题关闭,如果重复则作为重复问题关闭,否则置为打开状态。 开发人员分析打开状态的问题单,如果接受则进行修改。否则应与测试人员协商,在问题单提交人同意的情况下可退回给测试人员作为非问题关闭。 对于开发人员拒绝修改但测试人员无法认同的情况,该问题单需提交 CCB 评审,根据评审结果,如果确认要修改则进入修改状态,如果不是问题则作为非问题关闭,如果是问题但暂时无法解决则挂起,挂起的问题单到达指定修改期限时会再次进入打开状态。 修改后的问题单需由测试人员进行回归测试,如果回归通过则关闭问题单,如果回归不通过则重新进入打开状态。画出状态迁移图,确定测试路径6、流程分析法例子 1:ATM 机取款流程1、 画出业务流程图插入银行卡是否合法输入密码N结束是否合法输入金额YN 3M = 1 5 0 0R M BM % 1 0 0 = =0T i m e = 24 H & & S U M = 4 5 0 0 RM BM = A T M中余额确认金额取款退卡N2、 设置功能路径优先级