博客
关于我
测试用例就得这么设计
阅读量:802 次
发布时间:2019-03-25

本文共 1340 字,大约阅读时间需要 4 分钟。

目录

测试用例的基本要素

测试用例由测试平台、测试数据、测试步骤及预期结果等基本要素组成,涵盖测试方式、标题、重要性、优先级及功能模块等属性

测试用例的设计方法

基于需求的设计

需根据需求分析,细化需求并提炼功能模块,逐层划分子功能,进而设计测试用例以验证需求的正确性

用户需求测试

测试题目:购买3000元以内的华为智能手机

测试范围:价格≤3000元,包含3000元、2999元及3001元等

测试范围:品牌为华为,型号为智能手机

测试内容包括:拨打电话、发送短信、安装及使用应用程序、网络连接等基础功能

软件需求测试

测试题目:用户未收到激活邮件时,应能在登录界面录入邮件及密码后,重发送激活邮件

预期结果:用户收到激活邮件时,应能成功登录;若未收到激活邮件,应显示提示信息并允许重发送

测试邮件内容:需包含有效激活链接,检查邮件排版、字体及内容完整性

特殊情况:每次发送激活邮件需在24小时内有效,超过24小时需重新发送

具体的设计方法

等价类

将输入划分为有效等价类及无效等价类,选取代表性值进行测试,保证验证完整性

if(a < 99) {...}

示例:对于1-99的输入,选取55、66、77等测试

有效等价类应涵盖所有符合需求的正常输入,无效等价类包括不符合规则的异常值

边界值

测试边界值以确保输入范围的准确性,常规边界值分析法与等价类结合使用

例如:姓名长度范围(6-15字符)需测试5、6、15、16等边界值

因果图

因果图分析输入-输出关系,用于识别不同输入对应的输出规律,可辅助设计完整测试用例

步骤:1. 分析所有输入与输出的对应关系2. 绘制因果图3. 生成判定表4. 根据判定表设计测试用例

正交法

研究多因素多水平实验法,通过正交表设计优化测试用例,确保测试效率及覆盖率

正交表构成:- 列:因素数(项目变量)- 行:水平数(每个变量的取值范围)- 每一行代表一个测试用例

场景法

结合具体场景设计测试用例,重点关注异常情况及关键流程

ATM取款场景示例:1. 正常取款流程(插卡、输入密码、取款)2. 异常处理(卡损坏、密码错误、金额超出等)

错误猜错法

结合测试人员经验,重点关注易出错模块进行测试,针对性设计用例

习题练习

1. 等价类、边界值

根据程序需求:-姓名:1-20字母,不能为空- 年龄:18-60整数,不能为空

等价类划分:姓名:- 有效等价类:1-20字母- 无效等价类:空值、空格、特殊字符、数字、字符混杂年龄:- 有效等价类:18-60整数- 无效等价类:空值、非整数、小于18、大于60的数

边界值测试如下:姓名:- 空值(特殊处理,如空格)- 边界值:6、15、20字符年龄:- 边界值:17、18、59、60整数

2.因果图、场景法

自动售货机功能:- 投入硬币后,选择饮料按键或直接取货- 硬币标准价为1.5元或2元- 特殊情况:硬币已被占用、网络中断、余额不足等

测试用例示例:输入2元硬币后选择饮料,应返回相应饮料及0.5元硬币输入1.5元硬币选择饮料,无需返回硬币未输入硬币或超时,提示"请按相应饮料按键"断电或网络中断时提示"请联系工作人员"

场景考虑:- 防盗警报功能- 硬币占用情况- 饮料库存状况

转载地址:http://ctnyk.baihongyu.com/

你可能感兴趣的文章
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>