功能用例编写指南
上一篇 / 下一篇 2009-01-13 22:00:19 / 个人分类:测试用例
1.1. 用例编写思路:
1.1.1. 功能用例说明
功能用例:是一个完整的任务,是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果的检验文档,以便测试某个程序路径或核实某个功能是否满足设计要求,需要从用户和系统之间进行交互的接口的角度,来观察系统外部应该具备的表现。
功能用例站在用户的角度上(从系统的外部)来描述如何检验系统的功能。在编写用例过程中,我们把被编写的用例看作是一个黑箱,我们并不关心系统内部是如何通过具体的程序语句完成它所提供的功能的。
1.1.2. 测试中心用例编写思路
事务流模式:即“事件流”+“业务流”的模式。
事件流:按照程序设计的思路,将功能中的事件(界面控件方法)对应的控件转换提取为测试项,并按照事件的响应顺序来从上到下排列测试项。
现在的程序基本上是通过触发事件来控制流程,触发事件的方式和顺序就形成了事件流
最基本事件有:初始化事件、保存事件、下拉框点击事件、文本框输入等等
对应的测试项为:页面静态检查、页面初始加载,保存按钮、××下拉框、××文本框。
基本上来说,引起页面或者数据发生变化的都称之为事件。
而对任何功能测试,页面静态检查、页面初始加载是排在最前的。
测试项的提取可参见“模板填写项说明”中相应内容,也可参考样例进行。
业务流:以业务人员或用户操作为指导,对功能界面的操作
实现方式:
采取事件流,加上用户(业务)的操作顺序的方式,具体表现是控件为主导测试项,操作项中用来描述用户(业务)的顺序操作。
首先提取该功能中的控件元素作为测试项,然后再结合业务逻辑先关注业务或用户的操作步骤和顺序,加上控件的检验点,生成一条测试子用例。
坚持一个大原则。尽量以控件(或者事件)为测试项,测试项的顺序主要按照用户的操作习惯跟业务顺序从上到下,从左到右来放置。首先是页面初始化(静态),其次是页面初始加载,然后是操作主控件之前所需要的页面数据的元素,这些元素写了之后是主控件,最后是一些该功能页面中重要级别较低的控件。
比如:保存功能,首先是界面检查(静态),页面初始化,然后是一些动态关联下拉框,公共弹出框,然后是保存事件,保存事件之后才是编辑,删除,排序,翻页。因为必须有保存之后才会有数据。才方便做后面的检查。
比如查询功能,首先是界面检查(静态),页面初始化,然后才是查询控件,其次才是排序,翻页,清空(重置)
1.1.3. 编写用例尽量注意的问题:
测试子用例可以引用公共用例,但是必须明确注明出处,引用方式为:“xxx项目名称(简称:统一项目简称统一)”+公共用例+“公共用例名称”
用户界面不要太多,用户界面应属于设计范畴,鼠标、按键等内容不应出现在用例中;
较低目标层次上的用例不要太多,无法展示系统将会给其最终用户提供什么功能;
使用用例表示非行为信息,性能需求、业务规则等不要在用例中描述;
目标实现不完整,尤其是错误处理;
句子片断,主、谓、宾尽量完整;
不要使用模糊语言,比如“是否”,应当是就是“是”,否就是“否”
1.1.4. 测试数据选取原则:
如果输入了条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界的值作为测试用例数据,如果以a和b为边界,测试数据应当包含a和b及略大于a和略小于b的值。
若规定了值的个数,分别以最大,最小个数及梢小于最小,梢大于最大的个数作为测试数据
一般采用以上2个原则。
如果输入是个有序集合,注意选择有序集合的第一个和最后一个元素作为测试数据
2. 测试项中的重要级别如何区分
功能用例编写过程实际是程序控件语言化,条理化的一个过程。程序控件在使用过程中的频次,编写,实现他所需要的时间程度都是不一样的。下面对程序控件做了一个简单的归类:
归类依据:
根据程序员编写控件所花费的时间来划分主次控件。大致归类为:该操作修改数据库跟该操作不修改数据库。修改了数据库的为H级,查询数据库的为M级别,但是报表的查询,试算为H级别,单一控件为L级别。
具体细分参加下表:
类型 | 大类 | 小分类 | 重要级别 | 备注 | ||||||||||||||||||||||||||||||||||||||||||||||||||
修改数据库 | 按钮 | 保存(确认) | 重要(H) | insert、update操作,操作失败需要回滚 | ||||||||||||||||||||||||||||||||||||||||||||||||||
更新(修改) | 重要(H) | update操作,操作失败需要回滚 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
删除 | 重要(H) | delete操作,同步删除相关数据,操作失败需要回滚 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
上传(保存) | 重要(H) | insert操作,操作失败需要回滚,注意上传文件大小。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
审核(驳回) | 重要(H) | 引起数据状态的修改 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
输入框 | 文本输入 | 重要-(M) | 数据格式校验 | |||||||||||||||||||||||||||||||||||||||||||||||||||
选择输入 | 重要-(M) | 显示文本和数据库保存文本对应 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
下拉框 | 重要-(M) | 显示数据和保存的文本进行对应 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
不修改数据库 | 按钮 | 编辑 | 重要-(M) | select操作,数据输出,显示文本和数据库保存数据对应 | ||||||||||||||||||||||||||||||||||||||||||||||||||
查询 | 重要-(M) | select操作,数据输入,校验单引号 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
链接 | 重要-(M) | select操作,数据输出,显示文本和数据库保存数据对应 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
取消 | 一般(L) | 清空、初始化 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
输入框 | 文本输入 | 一般(L) | 单引号校验 | |||||||||||||||||||||||||||||||||||||||||||||||||||
选择输入 | 一般(L) | 显示文本和数据库保存文本对应 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
一般(L) | (单一控件,不会引起数据错误,最多会引起页面错误) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
单选框 | 一般(L) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
组合框(Combo Box) | 一般(L) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
单一控件 | 日期时间选择器(Date Time Picker)控件 | 一般(L) | ||||||||||||||||||||||||||||||||||||||||||||||||||||
热键(Hot Key)控件 | 一般(L) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
列表框(List Box) | 一般(L) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
列表(List)控件 | 一般(L) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
月历(Month Calendar)控件 | 一般(L) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
进度(Progress)控件 |
TAG:
清空Cookie -
联系我们 -
51Testing软件测试网 -
交流论坛 -
空间列表 -
站点存档 -
升级自己的空间
Powered by 51Testing
© 2003-2021
|