51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2533|回复: 0
打印 上一主题 下一主题

[转贴] 用例分析技术小结

[复制链接]
  • TA的每日心情
    擦汗
    4 小时前
  • 签到天数: 1046 天

    连续签到: 4 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2016-1-4 14:01:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    前言
      现在RUP如日中天,需求分析是第一步,可以看作是高级系统分析员的必备知识,那么,如果用面向对象的分析技术来描述需求呢?
      在一个需求分析过程中,主要有项目描述,风险分析,用例图以及描述,项目建议这几部分。
      其中最重要的,也是最需要学习的就是用例的描述。那么用例的描述关键点在哪里呢?
      确定清晰的系统边界,就是要确定系统中有什么?系统外有什么?通过执行者和用例来确定系统边界。
      那么,我们第一步就是要找出执行者,执行者是一个角色,我们可以根据以下几个问题来思考决定一下:谁在使用系统?谁在维护?谁在启动?谁在关闭?谁从这个系统获得信息?谁为这个系统提供信息?是否有自动的事情在预计时间发生?等等方式,来确定执行者。
      找出了执行者,那就要确定用例,用例是系统的一个行为,为执行者产生可以估量的价值结果。
      用例的描述一般都是动名词结构。
      需要构建一张表,清楚的以名词解释的形式,把用例和执行者进行简单的定义。
      如果用例图过于大,那就分开,也可以采用包的形式。
      其中用例图的中的箭头表示是单向还是双向,要根据交付的信息看。
      如果是外部定时发生的事情,可以把时间也作为执行者。
      需求在系统之内,无法被执行者看到,那么这个需求就不用在用例图中体现。
      归档用例
      归档用例就是把用例用文档的方式表示。基本用例主要包括:前置条件(前置条件就是用例开始时候,必须要处在一个什么状态) 后置条件(用例结束,系统处在什么状态)事件流。(事件流是一系列的陈述句)。
      事件流中包含一些循环语句。可以采用for ,while循环。
      用例是一个传达工具,只有向读者传达系统如何工作的时候才有效。
      用例要从执行者的观点来写。
      对于非事件流的需求,可以在用例的特殊需求中描述。
      事件流分为两部分:基本路径和可选路径。
      一切正常运转就是基本路径。
      不同于基本路径而允许选择不同的事件序列的路径,就是可选路径,也可以说各种异常情况的处理也是可选路径。
      可选路径,最好用不同的段落编号来标示。
      什么是场景? 场景就是一种贯穿用例的特定路径。
      用例的包含:如果你发现在写各种用例的时候,要经常copy同一部分的内容,那么就说明你有了一部分通用的行为,那么就可以用一种包含关系来抽象这种通用行为。包含用例一定要有被包含用例,这个用例才算完整。
      用例的扩展:在不改变原始用例的情况下,增加用例的行为。重要关注的一个概念是扩展点,当到达这个扩展点,如果条件为真,就是这个扩展条件的前置条件为真的话,这个扩展的步骤将被执行。
      用例的继承:用例的继承代表一个用例(子)是另外一个用例(父)的特殊实现,执行者的继承意味着一个执行者(子)可以完成另外一个执行者(父)的任务。
      接口:接口不是执行者和用例的一部分。接口是执行者和用例相互作用的一种描述。
      文档中的文字可以简洁的描述系统,那么有些文字分支很多的时候,采用图就是一个非常好的方式,图形化用例也是一个不错的手段。我们可以用三种图来细化和具体化用例。
      活动图:描述用例的步骤。活动图描述满足用例需求而进行的活动以及活动之间的关系。(有些书把活动图定义为状态图的子集)
      时序图:描述执行者和系统的相互作用。时序图中,每个实体下面有虚线,代表对象生命周期。确认的返回值,是采用虚线箭头来表示。
      在学会写用例以后,那就有一个问题,用例写到什么程度好呢? 就是用例细化到什么程度为好。要回答这个问题,需要考虑三个问题: 谁需要阅读并审批这个文档?谁需要使用这个文档?我们要这个文档做什么?用例可能是给最终用户和开发者的,或者管理者的,决定多少细节放到用例中是一个很重要的事情。可以对同一个用例做不同细节程度的版本,交给不同的人看,要注意维护这种对应关联关系。
      用例文档模板:
      包括系统简介,风险因素,系统级用例(一个或者多个反映系统中所有用例和执行者的图,没必要包含用例之间的关系,例如包含,扩展和泛化),体系结构,子用例,非功能性的需求包括可用性,系统,安全,持久性,冗余性,性能,规模,标准化等。
      可以通过活动图来描述和表现用例之间的关系和流程。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏4
    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-14 13:38 , Processed in 0.070117 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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