Use case是一种在开发新系统或者软件改造时捕获潜在需求的技术。

  每个用例提供了一个或多个场景,该场景揭示了系统是如何同终用户或其它系统交互的,从而获得一个明确的业务目标。用例要避免技术术语,取而代之的是终用户或者领域专家的语言。用例一般是由软件开发者和终用户共同创作的。

  用例的编写过程:

  1.定义系统范围和边界

  (追踪带有输入/输出列表的初始语境图的变化)

  2.集中讨论,并列出执行者

  (在系统整个生命周期内,找出每个人或非人的执行者)

  3.集中讨论,并尽可能列出系统所有的用户目标

  (产生初始的执行者-目标列表)

  4.捕获外部的概要用例,看看谁值得关注

  (对每个主执行者,检查外部的概要用例)

  5.再次考虑和修改概要用例。增加、减少或者合并用户目标

  (对给予时间的触发事件以及系统边界上的其他时间进行双重检查)

  6.选择一个用例进行扩展

  (考虑编写一个叙述文档来记录资料)

  7.捕获项目相关人员和利益、前提条件和保证

  (系统确保前提条件和利益得到满足)

  8.编写主成功场景

  (用3~9个步骤满足所有利益和保证)

  9.集中讨论,并尽可能列出所有扩展条件

  (包括系统所有检测到并且必须处理的所有条件)

  10.编写扩展处理的步骤

  (每个处理结束于:返回主成功场景,一个单独成功结束条件,或者失败)

  11.抽取复杂的处理流程作为子用例;合并琐碎的子用例

  (抽取子用例是容易的,但这会增加项目的开销)

  12.重新调整用例集:进行必要的增加、减少与合并

  (检查可读性、完备性以及是否满足项目相关人员的利益)

  编写有效用例的提示:

  编写具有可读性的用例

  (不正式但具有可读性的用例还是有用的,而没有可读性的用例则一点用都没有)

  从低精度到高精度,并扩展优先开展的工作

  精度级别1:主执行者的名字和目标

  精度级别2:用例简介或主成功场景

  精度级别3:扩展条件

  精度级别4:扩展的处理步骤

  对于每一步:

  显示一个成功的目标

  捕获执行者的意图,而不是用户接口的细节

  有一个传递信息、检测条件或者改变状态的执行者

  在步骤之间编写注释,执行步骤的顺序(或空缺)

  通过问“为什么”来找到更高层次的目标

  对于数据描述(只有精度级别1放在用例文本中):

  精度级别1:数据别名

  精度级别2:与别名相关联的数据域

  精度级别3:域的类型、长度和确认条件

  测试用力的编写时在工作中不断的总结和积累而提高的不是看几本书,发表几篇文章可以一劳永逸的,一定要时刻积累自己的点滴经验。

google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);