51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5281|回复: 4
打印 上一主题 下一主题

[资料] 功能测试用例的书写方式

[复制链接]
  • TA的每日心情
    奋斗
    2024-10-22 08:40
  • 签到天数: 546 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2010-4-27 15:25:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    功能性测试用例
    a)        用例来源,即测试的需求
    测试用例的主要来源为:系统主要功能描述,需求规格说明书,补充需求,系统关注点。

    b)        用例的组织方式
    用例首先应当以功能进行分类,然后按照系统工作方式,依据主工作流程和辅助工作流程进行组织。用例可以进行归纳整理,整理的最小单位为最小不可拆分模块。如:登陆模块,包含的用例可能为密码校验,帐户合法性校验,系统掉线处理等子测试用例,但是可以认为登陆操作是个不可再分的最小测试用例模块,其中包含很多的子测试用例。
    争论:
    在测试用例的组织过程中,应当将测试用例流程化,按照系统工作流程将所有测试用例分派完毕,达到可对系统检验的目的。
    测试用例只组织到最小不可拆分模块,当书写测试方案的时候再组织相应的测试用例。由于在此期间需求或者由于其它因素的变化,可能会造成人力的浪费。

    c)        用例与其它材料的关联方式,即如何解决用例追踪的问题
    一致认为对测试用例的追踪,最好有工具来完成。
    可以使用ID进行跟踪,ID的编号规则,应该与相互关联的文档有追踪关系,前提是其它相关文档有自己的编号规则。
    建立测试和其它相关文档的关联对应表,达到对测试用例追踪的目的。

    d)        一个好的用例的表述要点,即用例中应当包含的内容
    ID,输入条件,处理,输出结果,创建时间,创建人,执行结果
    功能性测试用例
    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                  
    操作步骤        操作描述        数据        期望结果        实际结果        实际结果        测试状态(P/F)
    1        输入用户名称,按“登陆”按钮。        用户名=yiyh,密码为空        显示警告信息“请输入用户名和密码!”                          
    2        输入密码,按“登陆”按钮。        用户名为空,密码=1        显示警告信息“请输入用户名和密码!”                          
    3        输入用户名和密码,按“登陆”按钮。        用户名=yiyh,密码=2        显示警告信息“请输入用户名和密码!”                          
    4        输入用户名和密码,按“登陆”按钮。        用户名=xxx,密码=1        显示警告信息“请输入用户名和密码!”                          
    5        输入用户名和密码,按“登陆”按钮。        用户名=xxx,密码=2        显示警告信息“请输入用户名和密码!”                          
    6        输入用户名和密码,按“登陆”按钮。        用户名=空,密码=空        显示警告信息“请输入用户名和密码!”                          
    7        输入用户名和密码,按“登陆”按钮。        用户名=yiyh,密码=1        进入系统页面。                          
    8        输入用户名和密码,按“登陆”按钮。        用户名=Admin,
    密码=admin        进入系统维护页面。                          
    9        输入用户名和密码,按“登陆”按钮。        用户名=yiyh',密码=1        显示警告信息“请输入用户名和密码!”                         
    10        输入用户名和密码,按“登陆”按钮。        用户名=yiyh,密码=1'        显示警告信息“请输入用户名和密码!”                         
    11        输入用户名和密码,按“重置”按钮。        用户名=yiyh,密码=1        清空输入信息                         
                                                        
    测试人员                 开发人员                         项目负责人        
    备注:本用例未考虑“企业代码”的输入情况;测试用例并未涵盖所有的非法输入,如非法输入中可能会有
    “user=*,pw=*”的组合,对回车的默认操作,空格输入,对输入上溢的处理的处理(可能会跳过身份验证)
    等等。如果你有兴趣,至少可以再补充5-10条左右的输入组合(当然,如果步骤超过15步,用例的易操作
    性就降低,你可以再创建一个测试用例如TC-TEP_Login_2)。
    功能性测试用例
    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                  
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-10-22 08:40
  • 签到天数: 546 天

    连续签到: 1 天

    [LV.9]测试副司令

    2#
     楼主| 发表于 2010-4-27 15:26:03 | 只看该作者
    操作步骤        操作描述        数据        期望结果        实际结果        实际结果        测试状态(P/F)
    1        输入用户名称,按“登陆”按钮。        用户名=yiyh,密码为空        显示警告信息“请输入用户名和密码!”                          
    2        输入密码,按“登陆”按钮。        用户名为空,密码=1        显示警告信息“请输入用户名和密码!”                          
    3        输入用户名和密码,按“登陆”按钮。        用户名=yiyh,密码=2        显示警告信息“请输入用户名和密码!”                          
    4        输入用户名和密码,按“登陆”按钮。        用户名=xxx,密码=1        显示警告信息“请输入用户名和密码!”                          
    5        输入用户名和密码,按“登陆”按钮。        用户名=xxx,密码=2        显示警告信息“请输入用户名和密码!”                          
    6        输入用户名和密码,按“登陆”按钮。        用户名=空,密码=空        显示警告信息“请输入用户名和密码!”                          
    7        输入用户名和密码,按“登陆”按钮。        用户名=yiyh,密码=1        进入系统页面。                          
    8        输入用户名和密码,按“登陆”按钮。        用户名=Admin,
    密码=admin        进入系统维护页面。                          
    9        输入用户名和密码,按“登陆”按钮。        用户名=yiyh',密码=1        显示警告信息“请输入用户名和密码!”                         
    10        输入用户名和密码,按“登陆”按钮。        用户名=yiyh,密码=1'        显示警告信息“请输入用户名和密码!”                         
    11        输入用户名和密码,按“重置”按钮。        用户名=yiyh,密码=1        清空输入信息                         
                                                        
    测试人员                 开发人员                         项目负责人        
    备注:本用例未考虑“企业代码”的输入情况;测试用例并未涵盖所有的非法输入,如非法输入中可能会有
    “user=*,pw=*”的组合,对回车的默认操作,空格输入,对输入上溢的处理的处理(可能会跳过身份验证)
    等等。如果你有兴趣,至少可以再补充5-10条左右的输入组合(当然,如果步骤超过15步,用例的易操作
    性就降低,你可以再创建一个测试用例如TC-TEP_Login_2)。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2014-7-28 13:51:00 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2014-8-7 11:25:16 | 只看该作者
    测试用例要写这么细啊?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-8 08:48 , Processed in 0.072702 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表