功能测试用例的书写方式

功能性测试用例
1. 测试的来源,即测试的需求
测试用例的主要来源有:
1) 需求说明”及相关文档

2)相关的设计说明(概要设计,详细设计等)

3)与开发组交流对需求理解的 记录(可以是开发人员的一个解释)

4)已经基本成型的UI(可以有针对性地补充一些用例)

简而言之,所有你能得到的项目文档,都尽量拿到。 从所得到的资料中,分解出若干小的“功能点”,理解“功能点”,编写相应的测试用例。

2. 用例的组织方式

不同的公司有不同的做法,原则上,只要方便管理和跟踪,怎么组织都可以的。

用例可以按大的功能块组织,如查询功能模块的用例,可以组织在一起,打印模块的测试用例,可以另外组 织在一起。

在没有专门的测试用例管理工具的情况下,用例执行后会产生2种状态:“通过”、“失败”——这样加上“未 执行”的用例的状态,共3种状态。

即从“未执行”用例中执行一个用例后,该用例状态应为“失败”或“通 过”。将同一状态的用例组织在一起。

至于用例文件格式,可以是.DOC或.XLS(如果有专门的测试用例管理工具另当别论)。

3. 用例与其他材料的关联方式,即如何解决用例跟踪的问题 测试用例面临的比较大的风险有:

需求的变更、设计的修改、需求的错误和遗漏等等。

由于用例的主要来源是需求和设计的说明,所以对用例的跟踪其实就是对需求和设计的跟踪,需求和设计的 变更势必引起测试用例的变更。

如前所说,将分解的功能点编号,与相应的用例联系起来。例如,你可以列一个表格,列出各个(编号的)功 能点和测试用例间的关联关系。

这样,当需求和设计发生变化时,你只需要跟踪“功能点”是否变化,是否增 加了新的功能点。

重要和困难的是,不手头的资料和信息一定要是最新的。

4. 一个好的用例的表述要点,即用例中应当包含的信息

一个优秀的测试用例,应该包含以下信息:

1) 软件或项目的名称

2) 软件或项目的版本(内部版本号)

3) 功能模块名

4) 测试用例的简单描述,即该用例执行的目的或方法

5) 测试用例的参考信息(便于跟踪和参考)

6) 本测试用例与其他测试用例间的依赖关系

7) 本用例的前置条件,即执行本用例必须要满足的条件,如对数据库的访问权限

8) 用例的编号(ID),如可以是 软件名称简写-功能块简写-NO.。

9) 步骤号、操作步骤描述、测试数据描述

10)预期结果(这是最重要的)和实际结果(如果有BUG管理工具,这条可以省略)

11)开发人员(必须有)和测试人员(可有可无)

12)测试执行日期

5. 给出一个测试用例的例子该范例已经包含一个测试用例的模板。 

项目/软件 技术出口合同网络申领系统 (企业端) 程序版本 1.0.25
功能模块名 Login 编制人   xxx
用例编号- TC-TEP_Login_1 编制时间   2002.10.12
相关的用例
功能特性 用户身份验证
测试目的 验证是否输入合法的信息,允许合法登陆,阻止非法登陆
预置条件 特殊规程说明 如数据库访问权限
参考信息 需求说明中关于“登陆”的说明
测试数据 用户名=yiyh 密码=1
操作步骤 操作描述 数 据 期望结果 实际结果 实际结果

测试状态

1 输入用户名称,按“登陆”按钮。 用户名=yiyh,密码为空 显示警告信息“请输入用户名和密码!”
2 输入密码,按“登陆”按钮。 用户名为空,密码=1 显示警告信息“请输入用户名和密码!”
输入用户名和密码,按“登陆”按钮。  用户名=yiyh,密码=2  显示警告信息“请输入用户名和密码!” 

输入用户名和密码,按“登陆”按钮。  用户名=xxx,密码=1  显示警告信息“请输入用户名和密码!” 
输入用户名和密码,按“登陆”按钮。  用户名=xxx,密码=2  显示警告信息“请输入用户名和密码!” 
输入用户名和密码,按“登陆”按钮。  用户名=空,密码=空  显示警告信息“请输入用户名和密码!” 
输入用户名和密码,按“登陆”按钮。  用户名=yiyh,密码=1  进入系统页面。 
输入用户名和密码,按“登陆”按钮。  用户名=Admin,密码=admin  进入系统维护页面。 
输入用户名和密码,按“登陆”按钮。  用户名=yiyh',密码=1  显示警告信息“请输入用户名和密码!” 
10 输入用户名和密码,按“登陆”按钮。  用户名=yiyh,密码=1'  显示警告信息“请输入用户名和密码!” 
11 输入用户名和密码,按“重置”按钮。 用户名=yiyh,密码=1 清空输入信息
测试人员 开发人员 项目负责人

备注:本用例未考虑“企业代码”的输入情况;测试用例并未涵盖所有的非法输入,如非法输入中可能会有

“user=*,pw=*”的组合,对回车的默认操作,空格输入,对输入上溢的处理的处理(可能会跳过身份验证) 等等。

如果你有兴趣,至少可以再补充5-10条左右的输入组合

(当然,如果步骤超过15步,用例的易操作 性就降低,你可以再创建一个测试用例如TC-TEP_Login_2)。

时间: 2024-09-08 22:13:34

功能测试用例的书写方式的相关文章

浅谈功能测试用例模板设计

测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一,设计良好的测试用例模板能提高测试用例的设计质量,便于跟踪测试用例的执行结果,自动生成测试用例覆盖率报告.这几年测试技术和理论有了长足的发展,就功能测试用例设计要素而言,样式上均大同小异,一般都包含主题.前置条件.执行步骤.期望结果等. 测试用例可以用数据库.Word .Excel .xml 等格式进行管理,市面亦有成熟的商业软件工具和开源工具等,对于一般中小软件企业,使用文档来管理测试用例是较为方便.经济的途径. Word 格式的文档

功能测试用例基础设计模型

功能测试用例基础设计模型 一. 异常测试 异常数据输入:空数据库输入.特殊字符数据输入.超长数据输入. 错误数据输入 异常操作输入:省略操作步骤.重复关键步骤.插入多余操作步骤 异常环境:网络环境异常.硬件环境异常.软件环境异常 二. 用例合并 用例合并:异常测试等价类.测试数据等价类.测试步骤等价类.测试 结果等价类 三. 功能组合 功能内组合测试:改变组合输入顺序.必选功能和可选功能组合 功能间组合测试:正交组合法.场景插入法.地标法 与运行环境的组合:操作系统兼容性(2.1-4.0).浏览

浅谈功能测试用例

浅谈浅谈,各位都是测试用例设计方面的高手,本篇只是抛砖引玉,分享下我在测试过程中对测试用例设计和执行的一些感悟,也希望大家能有更好的观点分享. 首先是测试用例数据的来源,测试用例中的数据来源于需求,规范的需求人员会将用户的准确信息汇总传达给项目组的开发和测试人员(当然需求不准确是另一回 事),测试人员需要验证的是开发的实现是否符合需求的预定目标.在项目开始的时候,开发人员着手设计框架和编码,我们测试人员则排计划和准备测试用例.刚 开始的时候觉得没有需求文档一切行动就像失去目标一样.有时需求文档确

路由器QOS功能原理和工作方式

设置路由器时,大多会用到路由器的安全机制,也就常说的QOS功能,QOS功能可以保护整个网络的安全,本篇带你了解其具体的原理和工作的方式. 一.QOS用来解决带宽解决网络延迟和阻塞等问题的一种技术,一般里面包含优先级别.弹性带宽管理等等,主要用来解决各种网络的攻击和病毒,保护网络的正常运行,它主要有以下几个方面的功能: 1.端口优先:可针对源端口.目的端口进行设置优先的级别,一般来说如果是玩游戏为主.那么我可以针对一些主流游戏的端口.优先这些游戏的带宽. 2.IP/网段优先:可针对源IP.目的IP

浅析四种常见的Javascript声明循环变量的书写方式_基础知识

Javascript中的循环变量声明,到底应该放在哪儿? 习惯1:不声明直接使用 function loop(arr) { for (i = 0; i < arr.length; i++) { // do something } } 非常危险的使用习惯,一般情况下循环变量将成为window对象上的一个属性被全局使用,极有可能影响程序的正常逻辑实现. 需要着重提一下的是,在strict模式下,未声明变量而直接赋值的使用方式会直接抛出异常,早就该这么做啦!引用一下ecma-262标准附录C中的一段话

专家称欧盟功能拆分垄断企业方式适用电信业

陈丽容 欧盟成员国代表日前就电信业改革方案最终达成一致,允许成员国对本国处于垄断地位的电信巨头进行"功能拆分",以有效防止电信巨头排挤新竞争者,该方案因此也引起国内电信专家们的强烈关注 良好的发展态势,积极地实施改革欧盟电信业近期两件大事颇受全球电信业关注:其一,欧盟委员会日前发表的2008年度<欧盟单一电信市场进展报告>显示,一年来,欧盟电信业继续发展,业务收入稳步上升,用户数量持续增长,竞争环境继续改善. 其二,欧盟成员国代表日前在布鲁塞尔就电信业改革方案最终达成一致

用Jsp来实现文件下载功能的几种方式

1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中.这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限).这个就不写示例了. 2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地.(示例如下) <%response.setContentType(fileminitype);response.setHeader("Location",filenam

很久以前写的一个功能测试用例

你要测试windows附件中的计算器,请列出两个整数相加的测试用例(假设计算器能输入的数据最大长度为8位). - 整数(双字节[16bit]): 有效等价类:≥-32768(-2[-15]-1)且≤32767(2[15]-1). 无效等价类:<-32768.>32767 边界值: -32769.-32768.0.32767.32768 错误推测: - 无符号整数(双字节[16bit]): 有效等价类:≥0且≤65535(2[16]-1). 无效等价类:<0.>65535 边界值:

vue制作加载更多功能的正确打开方式_javascript技巧

使用vue制作加载更多功能,通过ajax获取的数据往data里面push经常不成功,原因是push是往数组中追加数据内容的,而不能用作数组之间的拼接,ajax获取的数据就是数组形式的,因此不成功,应该使用concat()拼接两个数组. //这是错误的写法 $.ajax({ type:'get', async:false, url:path+'no/noticeMobile/getSendNoticeList?imToken='+ getToken +'&pageFlag=2', dataType