1、软件功能测试用户故事表
元素 | 属性 | 值 |
Actor(执行者) | User(用户) | 最大权限、最小权限 |
User Role(用户角色) | (1)Admin(系统管理) (2)Customer(客户) (3)Producer(生产者) | |
State(状态) | 输入字段 | 合理值、比较小的值、居中值、比较大的值、最大边界、最小边界; 缓冲区的值、超过数据缓冲的值; 存在的值,不存在的值; 空格、null; 默认值(字段本身存在的值) |
包含空格 | 是,否 | |
包含特殊字段 | 是,否 | |
是否存在模板 | 简单模板,中级模板,复杂模板 | |
是否存在模板元素 | 存在,不存在 | |
对象 | 存在的,不存在的 可使用的,禁用的 双向的,单向的 | |
特性 | 可用的、部分可用、不可用的 | |
组件 | 开始响应、没有开始、没有响应 | |
Action(行为)指用户做了什么样的动作 | 操作 | 创建、修改/更新、选择、删除、激活、冻结、导入、导出 |
Method(方式)指用户通过什么来做 | 接口 | 移动GUI界面、网络GUI,客户端GUI界面; 键盘控制界面、命令行 |
检查点 | 检查的途径 | 检查日志、检查数据 |
2、测试用户行为
2.1添加数据:
(1)空数据:是否可以输入为空,必须输入的要在数据框前明确标出。
(2)合法数据:正确识别合法输入,能正常保存并有相应提示,在数据库中有新保存的数据,查询页面上也能查询到添加的数据。
(3)添加中断机制:给某个操作取消、反悔的机会并给出相应提示。
(4)添加文件/图片:上传下载文件的功能是否实现;上传的文件能否打开;对上传的文件格式是否有规定;变化选择格式后,显示的内容是否变化;系统验证是否正常;系统是否能正常读取上传和下载的文件;图片预览功能,是否有默认照片。
(5)特殊字符字段:
输入半角/全角,大写/小写英文字符或数字
输入简体中文字符(默认全角)
输入繁体中文字符(默认全角)
输入全角特殊字符:!@#¥%……&*()
输入半角特殊字符:!@#$%^&*()
输入html字符: (空格的转义字符);<script></ script >;<br>;<tr>;<td>;</tr>;</td>;
</html>;</body>;</table>
输入Java Script函数:<b>Hello</b>,alert(“hello”)
输入日文字符
(6)带空格字段:中间空格,输入正常内容的前、后、中间加入多个空格,输入半角/全角空格,只输入空格。(7)带回车键字段:是否允许输入换行回车,保存后能否显示输入时的样式,只输入换行,若不能查看是否有提示。
(8)字段长度:测试可以输入的最短字符,测试可以输入的最长字符,复制大于长度的值看看能否输入。
(9)数字型边界:取边界值测试。
(10)数字约束:尝试输入负整数、负小数、0、正整数、正小数测试。
(11)字段类型:
例1:邮箱输入框字段校验测试
输入合理的英文及数字字符组成的正确格式
格式正确的情况下输入第一部分中的异常字段校验
输入无@的格式,如:ab.com
输入@前无内容的格式,如:@b.com
输入@后无内容的格式,如:a@
输入@前后均无内容的格式,如:@
输入没有域名的格式,如:a@b.,a@b
如数E-mail中有多个@的形式,如:a@@b.com,a@b@c.d
输入@后面直接跟域名的形式,如:a@.com
输入@后面有多个分隔符的形式,如:a@b.c.d,
输入@前面有分隔符的情况,a.b.c@d
例2:验证码输入框字段校验测试
不输入、空内容
空格输入
输入空格+正确校验码,空格出现在开头、中间、结尾
输入4位其他非数字内容
输入第一部分中的异常字段校验
输入前三位或后三位验证码正确数字
输入四位正确验证码+其他数字
例3:邮编输入框字段校验测试(假设设定6个数字字符)
不输入、空内容
空格输入
输入空格+数字,空格出现在开头、中间、结尾
输入其他非数字内容
输入第一部分中的异常字段校验
输入1个数字
输入6位数字
输入超过7位数数字
输入超长全数字测试
(12)重复添加:如果需求规定输入字段不能输入重复数据,那么验证程序对重复数据应该控制。如果输入内容不允许同名,还要检查是否区分大小写 的情况。在输入的内容前后加空格,看看系统是否对此做出正确处理。如果输入重复数据,程序不能崩溃,程序对重复数据的错误提示信息清晰准确。
(13)单选按钮:是必须选且只能选中一个按钮;一组单选按钮在执行同一功能时,初始状态必须有默认值,不能为空。比如选择男、女单选按钮,在页面初始时必须有一个被默认选中。
(14)复选框:查看是否允许选中所有窗体、部分选中若干个窗体、一个都不选、全选时应该选中所有,而去掉但钱页某个选项的勾选时,则全选框也取消选中。翻页后,自动去掉已勾选的选项及全选框。在以上情况下,查看控件状况,执行选中复选框的功能;如至少有一个必须选中,检查程序是否存在友好提示。
(15)列表框:列表框条目内容是否正确,列表条目比较多时要使用滚动条,挑出部分条目选择,验证功能实现是否正确,列表框如果允许多选时,利用Ctrl和Shift键查看鼠标多选条目的情况。键盘帮助选择的情况,
(16)上下控件文本框:上下箭头的可控性、边界检查、输入默认值和空白内容、输入字符。
(17)日期约束:日期校验、月份校验、年份校验、日期格式检查、时间格式检查。
2.2显示数据:
(1)分页显示:
(2)显示数据的一致性:
(3)显示信息归类的合理性:
(4)滚动条:
(5)陈旧数据的及时更新:
(6)对数据进行排序:
(7)避免遮蔽:
2.3删除数据
(1)删除合法数据:删除一条数据记录,删除多条数据记录,删除全部数据。
删除数据之后,可能就恢复不了。所以删除时,要让用户认识到删除严重性,并予以确认。
删除后,在数据库中是否也删除了。
删除后查询数据,数据库应该查不到。
删除后,是否可以添加同样的数据记录。
删除成功后要有提示信息。
(2)不允许删除的数据
(3)删除不存在的数据
(4)删除数据的衍生影响
2.4查询数据
(1)查询条件输入
(2)查询关键字
(3)模糊查询与精确查询
(4)查询结果
2.5修改数据
(1)修改合理数据
(2)不能修改的情况
(3)修改多个数据
(4)修改后的衍生影响
2.6激活/冻结
(1)冻结后不允许用户再使用的,要把它变灰
(2)冻结成功后要有合理的提示信息
(3)能否同时冻结多个
(4)重复冻结的情况
(5)冻结已经被删除数据的情况
(6)冻结的时候要不要一些描述冻结的理由
2.7导入/导出数据
(1)导入合理数据
(2)导入数据中存在不合理数据
(3)导出数据
2.8实例化
(1)创建出来的对象是否能正常显示
(2)实例化过程中是否可定制化
(3)能否实例化多个对象等
2.9拷贝
(1)拷贝数据信息检查
(2)默认拷贝数据名
2.10检查日志
比较好的日志一般满足如下条件:
(1)能保存成独立的文件,如:将日志存储在磁盘
(2)打印日志的方法必须是可重入的且必须是多线程
(3)对打印的要求设定级别,级别的粒度因需要而定,一般都要包括日志信息、报警信息和一般信息三类,用户可以根据需要,通过日志的配置文件来选择需要打印的信息。
(4)打印接口要设计的灵活,可以让用户自由的去打印任何信息。
(5)打印内容要采用统一的格式,一个合理的日志条目应该包含如下信息:[时间戳] [等级] [文件/函数/进程ID/主机名] [信息内容]