发布新日志

  • 【ZZ】写给初次写用例的朋友

    2009-01-13 21:55:47

    作者: feiyunkai    来源: 51Testing论坛

    原文地址:http://www.51testing.com/?action_viewnews_itemid_102081.html

      写给初次写用例的朋友:(下面都是自己对用例编写的一点感受或建议,写的不对的地方请多多指教)

      有很多朋友初次写用例,不知道从何下手,虽然有的公司给出了相关说明文档,但是写起来还是不能得心应手,编写用例方法有很多种:功能导向用例(边界值、等价类等等),用户导向用例(场景法),用户、功能相结合导向用例……那么对于初次编写用例,应该怎样高效率的编写用例?应该注意点什么?

      一、功能导向用例是按照系统需要达到的每一个功能,进行编写用例,这样的用例着重点在功能实现上,而没有考虑到每个功能之间的关联,因而虽然用例已经达到功能覆盖,却不一定达到逻辑覆盖,因而这种方法通常会和其他方法结合使用。功能导向用例是每个用例编写者前期最常用的方法,网络上可以搜索到很多相关文章,这里因为时间关系就不写了。(还有一个原因就是可能写的很烂,所以就不拿出来丢人现眼了,呵呵)

      二、用户导向用例是按照用户的习惯,将用户使用系统的每个目的作为一个目标,以每个目标实现为基点设计测试用例,这样的方法在B/S结构中使用比较广泛(我一直从事B/S测试所以适不适用C/S我不清楚,,但因为我喜欢玩网游,所以对C/S软件也不陌生,个人觉得也可以应用,现在的网络游戏(非竞技类)以多任务为主导,比如魔兽世界、梦幻西游、大话西游、完美国际、QQ三国等等,那么可以将完成每个任务作为目标设计测试用例)但是设计这一类用例,初写者,可能会产生很多困惑(下面写一下我第一次写的时候有哪些困惑,并针对这些困惑,后来采取了怎样的解决方案)

      1、编写用例的第一步我该做什么?

      理解系统,首先站在测试的角度深入理解系统的每个功能与系统业务逻辑,画出业务逻辑图(即:系统能做什么)。

      其次站在用户的角度,列出用户使用系统的目的(即:用户使用这个系统,想干什么?)

      2、怎样确定用户目标?

      不能确定用户目标,可能由2方面原因造成: a>对系统不够熟悉,b>不了解用户背景。对于第一点原因,那是你自己的原因,只有回过去头看文档了,对于第二点原因,可以从‘系统能做什么 ’推算出‘用户可以做什么’然后再总结出‘用户可能想做什么’,当然这样做的前提是你对系统已非常熟悉。

      下面以51testing论坛为例,因为刚刚进测试论坛,所以对这类系统不太熟悉,只能简单的阐述一下过程,很多地方没全写(比如:角色、角色能做什么等等),这里只是阐述一种方法,大家可以自己动手写一下:

      1、首先确定系统使用角色:

      a、管理员用户:

      b、普通用户:

      A)版主:见习版主、**版主……

      B)水手:菜鸟、大虾……

      ……

      2、确定这些角色能做什么:

      ……

      菜鸟:看帖、发帖、回帖、修改自己发的帖……

      ……

      版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明,否则将追究法律责任。

      本文为51Testing论坛会员feiyunkai原创,http://bbs.51testing.com

      3、将自己放在用户角度设计用例:

      场景1:我不是51testing会员,我想发帖子

      对问题进行扩展:我不是会员(怎样成为会员),我想发帖子(在哪里发帖子、发什么样的帖子、发完后怎样查看帖子、怎样修改帖子、怎样查看别人的跟帖、怎样回帖(并送鲜花、砸鸡蛋)、怎样退出论坛)

      分析一下步骤:用户注册、登录、进入相关主题、发帖、查看帖、编辑帖、查看跟帖、回帖、退出论坛

      下面可以设计用例了:

      1、将用户场景作为用例概述

      2、将用户目标转化为用例所要达到的目标:a注册为会员,可发帖子。 b非会员不可发帖子(根据具体情况而定)。

      3、以问题扩展为步骤设计测试用例:

      1.1 我不是51testing会员,我想发帖子

      目标:a注册为会员,可发帖子。 b非会员不可发帖子

      Step 1 注册成为会员

      详细步骤:1)在IE浏览器输入:www.51testing.com

      2)点击【**】→点击【**】→点击【**】……点击【注册】,进入测试论坛注册页面(因为没打开51论坛,不记得步骤,所以用**代替,实际写用例过程应按照实际步骤写)

      3)填写注册信息,点击【提交】

      预期结果:

      1)成功打开51testing主页

      2)成功进入论坛注册页面

      3)A)填写的信息符合规则,注册成功,点击进入论坛链接直接进入论坛,未点击进入论坛链接5秒后自动进入论坛

      B)填写的信息不符合规则,注册失败,有相关提示(具体提示应和输入错误类型对应,这里不详细写了)

      Step 2 登录论坛,进入相关主题(根据实际,进入相应主题)

      步骤:

      1)……

      2)……

      预期结果:

      1)……

      2)……

      Step 3 发表帖

      ……

      Step 4 查看帖

      ……

      Step 5 编辑帖

      ……

      Step 6 查看跟帖

      ……

      Step 7 回帖

      ……

      Step 8 退出论坛

      1.2 我是会员,我想有自己的BLOG

      目标:会员可以成功开通自己的BLOG

      前提:该用户已经注册为52testing会员(前提,应按照实际情况写,没有前提就不写)

      Step1:……

      步骤:……

      期望结果:……

      Step 2:……

      ……

      ……

      1.3 我是会员,我想改变我的页面风格

      1.4 我是会员,我想给好友发消息

      ……

      (列出用户登录论坛的各种可能的目的,然后按照1.1的形式编写对应用例)

Open Toolbar