51Testing软件测试论坛

标题: 我的测试历程2--写给初次写用例的朋友 [打印本页]

作者: feiyunkai    时间: 2009-1-6 12:35
标题: 我的测试历程2--写给初次写用例的朋友
本帖最后由 feiyunkai 于 2011-6-29 12:06 编辑

写给初次写用例的朋友:(下面都是自己对用例编写的一点感受或建议,写的不对的地方请多多指教)
有很多朋友初次写用例,不知道从何下手,虽然有的公司给出了相关说明文档,但是写起来还是不能得心应手,编写用例方法有很多种:功能导向用例(边界值、等价类等等),用户导向用例(场景法),用户、功能相结合导向用例……那么对于初次编写用例,应该怎样高效率的编写用例?应该注意点什么?
一、功能导向用例是按照系统需要达到的每一个功能,进行编写用例,这样的用例着重点在功能实现上,而没有考虑到每个功能之间的关联,因而虽然用例已经达到功能覆盖,却不一定达到逻辑覆盖,因而这种方法通常会和其他方法结合使用。功能导向用例是每个用例编写者前期最常用的方法,网络上可以搜索到很多相关文章,这里因为时间关系就不写了。(还有一个原因就是可能写的很烂,所以就不拿出来丢人现眼了,呵呵)
二、用户导向用例是按照用户的习惯,将用户使用系统的每个目的作为一个目标,以每个目标实现为基点设计测试用例,这样的方法在B/S结构中使用比较广泛(我一直从事B/S测试所以适不适用C/S我不清楚,但因为我喜欢玩网游,所以对C/S软件也不陌生,个人觉得也可以应用,现在的网络游戏(非竞技类)以多任务为主导,比如魔兽世界、梦幻西游、大话西游、完美国际、QQ三国等等,那么可以将完成每个任务作为目标设计测试用例)但是设计这一类用例,初写者,可能会产生很多困惑(下面写一下我第一次写的时候有哪些困惑,并针对这些困惑,后来采取了怎样的解决方案)
1、编写用例的第一步我该做什么?
理解系统,首先站在测试的角度深入理解系统的每个功能与系统业务逻辑,画出业务逻辑图(即:系统能做什么)。
其次站在用户的角度,列出用户使用系统的目的(即:用户使用这个系统,想干什么?)
2、怎样确定用户目标?
   不能确定用户目标,可能由2方面原因造成: a>对系统不够熟悉,b>不了解用户背景。对于第一点原因,那是你自己的原因,只有回过去头看文档了,对于第二点原因,可以从‘系统能做什么’推算出‘用户可以做什么’然后再总结出‘用户可能想做什么’,当然这样做的前提是你对系统已非常熟悉。
下面以51testing论坛为例,因为刚刚进测试论坛,所以对这类系统不太熟悉,只能简单的阐述一下过程,很多地方没全写(比如:角色、角色能做什么等等),这里只是阐述一种方法,大家可以自己动手写一下:
1、首先确定系统使用角色:
a、管理员用户:
b、普通用户:A)版主:见习版主、**版主……
B)水手:菜鸟、大虾……
    ……
2、确定这些角色能做什么:
……
菜鸟:看帖、发帖、回帖、修改自己发的帖……
……
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
前提:该用户已经注册为51testing会员(前提,应按照实际情况写,没有前提就不写)
Step1:……
步骤:……
期望结果:……
Step 2:……
……
……
1.3我是会员,我想改变我的页面风格
1.4我是会员,我想给好友发消息
……
(列出用户登录论坛的各种可能的目的,然后按照1.1的形式编写对应用例)
功能用例就不写了,网络上可以找到很多功能用例的编写方法
时间关系,先写这些了,写的不好的地方,请提出来,多多指教,谢谢

[ 本帖最后由 feiyunkai 于 2009-3-10 09:23 编辑 ]
作者: movestar    时间: 2009-1-7 16:35
学习学习……  
作者: feiyunkai    时间: 2009-1-8 09:22
原帖由 movestar 于 2009-1-7 16:35 发表
学习学习……  

写的不好,多多指教
作者: fpbaggio    时间: 2009-1-8 09:26
学习
初次写用例总感觉抓不住关键
又觉得所有的都是关键
作者: 月上百合    时间: 2009-1-8 10:39
对51写的测试用例很详细,其实用例也是一个策划啦,策划好了,用例就出来了,还要动脑的
作者: Candy_yang    时间: 2009-1-8 13:57

作者: lauryn628    时间: 2009-1-8 15:04
非常感谢!!!!
作者: nwyfrd    时间: 2009-1-8 16:19
标题: 我正测试论坛,学习中。。。。。
非常感谢!!!!
作者: feiyunkai    时间: 2009-1-8 17:54
原帖由 fpbaggio 于 2009-1-8 09:26 发表
学习
初次写用例总感觉抓不住关键
又觉得所有的都是关键

用户最关心的地方就是关键了,呵呵
作者: feiyunkai    时间: 2009-1-8 18:01
原帖由 月上百合 于 2009-1-8 10:39 发表
对51写的测试用例很详细,其实用例也是一个策划啦,策划好了,用例就出来了,还要动脑的


是啊,写用例就像写作文。用户需求是中心思想,抓不住中心思想,就会偏题,就得不到高分
如果抓不住重点(主要需求、次要需求),那么就会主次不清也得不到高分
因而要想写好用例,前提:必须熟悉系统,弄清哪些是主要需求(即用户最关心的)哪些是次要需求,把握好用例颗粒度(其实我写的用例很一般,让大家见笑了,但是思路是对的
作者: feiyunkai    时间: 2009-1-8 18:02
原帖由 Candy_yang 于 2009-1-8 13:57 发表

多谢支持
作者: feiyunkai    时间: 2009-1-8 18:04
原帖由 lauryn628 于 2009-1-8 15:04 发表
非常感谢!!!!


不客气,其实写这些东西的同时,我也把这些知识重温了一遍,对我也有帮助的
作者: feiyunkai    时间: 2009-1-8 18:05
原帖由 nwyfrd 于 2009-1-8 16:19 发表
非常感谢!!!!

那以后要相互学习啊,我现在做的是B/S的测试,WEB测试有很多通用性的
作者: nayiyewozuile    时间: 2009-1-8 20:35
LZ是个很用心的人,每个人的跟贴都有回复很可贵
作者: hyn宝宝    时间: 2009-1-9 09:21
学习了
作者: feiyunkai    时间: 2009-1-9 09:27
原帖由 nayiyewozuile 于 2009-1-8 20:35 发表
LZ是个很用心的人,每个人的跟贴都有回复很可贵

其实这并不是用不用心的问题,而是你们每个人的跟帖,都是对我的尊重和支持
让我觉得我的付出没有白费,所以我回帖也是对他们的尊重,尊重别人,别人也会同样尊重你的
作者: feiyunkai    时间: 2009-1-9 15:34
原帖由 hyn宝宝 于 2009-1-9 09:21 发表
学习了

写的不好的地方,希望大家指出来,谢谢
作者: dsc0vida    时间: 2009-1-13 14:44
实用,学习。。。顶
作者: feiyunkai    时间: 2009-1-13 19:30
原帖由 dsc0vida 于 2009-1-13 14:44 发表
实用,学习。。。顶

谢谢,其实写的不好,只是写了一个思路罢了,不足的地方,可以自己再补充一下
作者: xmxrmx    时间: 2009-1-14 16:24
谢谢,谢谢,
作者: 蝴蝶月色    时间: 2009-1-15 10:40
我看过你的测试经历1,我也经常犯一个错误,就是把学的东西都遗忘了,可能是实践的少,所以记忆总是不深刻。所以有时候我就反复温习一篇资料或者一篇帖子。
掌握一样只是最好的办法就是 学习->实践->-总结>再温习,再学习。
这个环节我差在实践和总结上,我想可能多数人也是差在这里。
有时候学了不能学以致用,用了不能吸取经验。
有时候即使学了用了总结了,还有不完美的地方就是没有延伸,没有在这个问题上的延伸,没能做到举一反三。
对于自己的毛病,我正在努力改进中。
希望楼主也多多介绍在总结经验方面的经验,呵呵。
作者: Greendream    时间: 2009-1-16 15:13
呵呵,受益了LZ,感谢。。。。。。。。。。
作者: navy2008    时间: 2009-1-19 10:57
没写过测试用例,但是思考过这个问题,以为就是根据每个功能点编写用例,看了文章后感觉思路拓宽了,站在用户的角度去思考用例,学习了,以后试着用用。
但是,感觉还有个问题,如果按照第二种方法设计用例的话,在设计的过程中,是不是也有遗漏功能点的可能啊?
如果说,这两种方法结合使用,那是不是说,结合每个功能点,来思考用户该怎么使用?
呵呵,偶是菜鸟,希望LZ多多指教!!

[ 本帖最后由 navy2008 于 2009-1-19 11:08 编辑 ]
作者: ablf    时间: 2009-1-21 14:02
顶!!初学者!
作者: qztwh    时间: 2009-1-21 14:16
思路太过于简单了。。实际远比这复杂多了。。只有认真去做了,才知道
作者: feiyunkai    时间: 2009-1-23 17:41
原帖由 xmxrmx 于 2009-1-14 16:24 发表
谢谢,谢谢,

只是写了一个思路,具体的还要自己去写
作者: feiyunkai    时间: 2009-1-23 17:45
原帖由 蝴蝶月色 于 2009-1-15 10:40 发表
我看过你的测试经历1,我也经常犯一个错误,就是把学的东西都遗忘了,可能是实践的少,所以记忆总是不深刻。所以有时候我就反复温习一篇资料或者一篇帖子。
掌握一样只是最好的办法就是 学习->实践->-总结>再温习, ...

你的学习方法很好,祝你成功!::JFBQ00125080409b:::
作者: feiyunkai    时间: 2009-1-23 17:51
原帖由 qztwh 于 2009-1-21 14:16 发表
思路太过于简单了。。实际远比这复杂多了。。只有认真去做了,才知道


你说的一点也不错,就好象出去旅游,地图看的再熟悉,没有真正去过,那还是可能会迷路,只有你曾经到达过终点,才有可能不迷路。所以51用例我只是写了一点点(只写了一小部分场景,另外功能用例,环境测试,界面易用等用例还没写),算是抛砖引玉吧,大家有兴趣可以自己写一下::ybaojc:::
作者: fibre1984    时间: 2009-1-23 20:23
标题: 收益非浅!
我准备转行做测试的,以前是做维护的感觉没什么前途.

现在在学习一些基础,能看到LZ这样的经验之谈真的是很受用,自己将来可以少走些弯路.
作者: luguangzong    时间: 2009-1-31 15:39
学习了,辛苦楼主了
作者: milymin    时间: 2009-2-3 09:32

作者: galford0628    时间: 2009-2-3 10:11
赞一个先,我是菜菜我有个问题:是不是这样的测试用例只是在功能或者逻辑上需要全部覆盖,之后的例如具体的点哪一个按钮会出现什么样的结果,结果是否正确,应该输入英文的我输入汉字了,像这样的测试不会出现在测试用例里面吧,但是这些测试如何体现出来呢?3q!
作者: feiyunkai    时间: 2009-2-5 11:04
原帖由 galford0628 于 2009-2-3 10:11 发表
赞一个先,我是菜菜我有个问题:是不是这样的测试用例只是在功能或者逻辑上需要全部覆盖,之后的例如具体的点哪一个按钮会出现什么样的结果,结果是否正确,应该输入英文的我输入汉字了,像这样的测试不会出现在测试 ...

你说的都是功能用例的内容:
点哪一个按钮会出现什么样的结果,结果是否正确:功能
应该输入英文的我输入汉字了:输入规则(功能用例的一部分)
作者: tricat    时间: 2009-2-8 21:06
思维过程很清晰 不错 谢谢
作者: yuaner86    时间: 2009-2-9 15:32
标题:
刚开始学测试,头很大很大。。。
作者: zyang04    时间: 2009-2-10 22:12
你很不错,我是新手,向你学习!希望看到更多你的文章,感谢你与大家分享!
作者: 水之殇    时间: 2009-2-11 11:20
最近正在写测试用例,看了楼主的帖子,受教了
作者: vision_xu    时间: 2009-2-11 13:54
谢谢您分享经验
作者: 珊珊    时间: 2009-2-13 19:26
谢谢了  很是受益
作者: 皇家马德里之魂    时间: 2009-2-20 14:46
谢谢楼主  顶上
作者: chrisrtina    时间: 2009-2-20 19:34
标题: 回复 1# 的帖子
写论坛的测试用例并不难,但是却没有几个人会认真的去写,我自己也是不会去写的一员,许多事情都是你做了之后,才能知道做的如何,然后做的更好。而我自己却只是逛逛论坛,搜点资料,从未想过将自己工作学到的知识应用到工作之外的事情中。惭愧。
之前大家总是说一句话:光说不练,现在则是更甚了~光想不练。到了真的需要用到这些技能时,或许已经不知道如何使用了吧~
总之,佩服,谢谢

[ 本帖最后由 chrisrtina 于 2009-2-20 19:36 编辑 ]
作者: zl19800913    时间: 2009-2-26 17:18
写的确实挺不错,学习了
作者: huangjacee    时间: 2009-2-26 23:11
受益啊~~!
作者: chonsky    时间: 2009-2-27 13:48
看着,觉得作为软件测试人员,考虑的事情是全方面的,那像我这样粗心的人,适合做吗?
作者: yang6268370    时间: 2009-3-5 22:29
很值得学习。
作者: nifeng    时间: 2009-3-6 16:30
标题: 回复 13# 的帖子
我也是做WEB测试的,不过刚入门,啥都摸不着头脑,以后多向你学习。
作者: siyuan2009    时间: 2009-3-7 17:45
标题: 学习
我是新手,刚好学到测试用例这块,恩,不错,看到这个帖子,很有帮助……
作者: yhy115566957    时间: 2009-3-14 20:56
谢谢 楼主
学到了如何写测试用例以及关注的要点
作者: lins    时间: 2009-3-23 12:32
进入论坛才发现自己有太多的不足!
作者: chenfyan    时间: 2009-3-24 21:01
我是新手,来向你学习
作者: rendajuan0711    时间: 2009-3-25 21:09
标题: 谢谢

作者: 零度的测试    时间: 2009-3-30 15:16
标题: 学习
写的真好,对初入行的人是个好的指导!感谢
作者: hongdakiss    时间: 2009-3-31 00:25
谢谢!
作者: 小邓    时间: 2009-4-14 13:53
楼主 分析的很是透彻啊 受教了
作者: luckying    时间: 2009-4-18 14:55
来学习的
作者: caocao176    时间: 2009-4-20 13:58
标题: 学习了,多谢了
我刚开始写用例,多谢指教!!!!!!
作者: iwanttogo    时间: 2009-4-28 12:31
谢谢LZ,向你学习了,
作者: chen1177    时间: 2009-4-30 10:08
学习中。。。。。
作者: shuaisch    时间: 2009-5-6 17:01
感谢!!受教了 !!
作者: coldwinter    时间: 2009-5-8 12:00
先谢谢了,
作者: Anny.2008    时间: 2009-5-11 22:45
呵呵。。你是我们学习的好榜样~
作者: Sun伟    时间: 2009-5-12 11:07
标题: 回复 1# 的帖子

作者: jaceehuang    时间: 2009-5-13 17:01
听说写测试用例是要经验的。。。
经验越多写的会越好··
看来以后我做项目一定不偷懒~~
坚持写测试用例
作者: hongyan    时间: 2009-5-18 15:19
最近正要准备学着写一些实际项目的测试用例,看了楼主的帖子很受益,谢谢分享.
作者: whistler.j    时间: 2009-5-18 15:25
写得不错,学习一下。
作者: 王振兴    时间: 2009-5-21 14:33
学习了,谢谢楼主、、、、、、、、
作者: wjq913    时间: 2009-5-21 17:12
感觉测试用例就是功能操作过程,不知理解的对不对?(测试新手)
作者: lyl419    时间: 2009-5-28 13:34
希望以后能在论坛上多一些关于测试用例方面的内容,现在测试入门,必须要会写测试用例啊
作者: yzylion    时间: 2009-5-28 16:39
用例是测试的灵魂,对于需求的把控是非常重要的,项目一般都存在进度很紧的情况,对于需要划分优先级,从而得到用例的优先级,这样也可以避免产品上线后大量的用户缺陷被发现,增加维护的成本和降低公司的信誉

楼主很强,很伟大呵呵
期待新帖
作者: lvkx23    时间: 2009-6-3 23:06
值得好好学习学习哦。。。很想学习测试 快乐测试
作者: hbpad    时间: 2009-6-8 17:53
连续看了你的几篇文章,写的很好,都是很实际的建议与方法,谢谢分享
作者: wangcobra    时间: 2009-6-15 11:46
谢谢分享
作者: lvmingli223    时间: 2009-6-29 19:07
转行做了测试,现在还在学习之中,第一次写的用例简直是惨不忍睹,希望以后经过锻炼可以有提高,看了楼主的帖子,受益匪浅
作者: 匡锋蓉    时间: 2009-6-30 15:50
很用心的一个人啊  写的还不错  我们公司没有测试用例  我也搞不明白该怎么样去测试  去设计测试用例  经理就给我说一句  自己上网找资料    注重的是你解决问题的能力  汗  很迷茫啊
作者: flower-sun    时间: 2009-6-30 16:20
学习
作者: sereinyu    时间: 2009-6-30 19:11
个人认为,格式是其次,发现缺陷的用例可以称上好用例并可以使缺陷重现。除此之外,每个人编写用例的思路与看待一个问题的角度都不同,看了LZ的用例之后了解别人他人编写用例的思路和角度,为自己测试编写好的用例的道路上埋下打下一个好地基。
作者: cxl007    时间: 2009-7-9 11:54
非常感谢楼主的分享
作者: kf11859    时间: 2009-7-9 12:19
想知道LZ现在是在什么公司工作,因为LZ很像我认识的一个华为的同事
作者: wj8900    时间: 2009-7-10 15:46
有启发!谢谢!
作者: zmj20011983    时间: 2009-7-12 23:25
标题: 写的很好,学习
刚开始写用例的时候,确实有这种感觉,找不到重点,用例也不够细化,我觉得测试要多熟悉业务,系统,还有接口的交互
作者: tangdian1988    时间: 2009-7-13 10:09
楼主写得很好...
作者: 沙滩仔    时间: 2009-7-13 17:51
呵呵,希望LZ能有更多的资料共享,先谢了
作者: yuhong01    时间: 2009-7-14 16:34
最近也在写测试用例,第一次写,很幸运有师傅指导,学习中。。。。
作者: kiana0226    时间: 2009-7-15 13:51
楼主写的真好
作者: 309830982    时间: 2009-7-15 16:21
标题: 新手上路
和我想的测试案例不一样,呵呵
作者: nihm1985    时间: 2009-7-15 16:23
我也是刚学写测试用例,感觉楼主的方法很不错,值得借鉴
作者: 夕阳小鱼    时间: 2009-7-17 10:16
刚学写用例,受教了,谢谢LZ
作者: zhqiang09    时间: 2009-7-17 10:23
有点晕
作者: andy20008    时间: 2009-7-18 17:47
我就是新手啊,来学习啊,谢谢了
作者: lili6628    时间: 2009-7-19 22:56
标题: 借鉴
呵呵!非常感谢,我很像进入测试行业。
作者: saranayo    时间: 2009-7-24 13:44
自己在写的时候总是觉得自己想得不够全面,应该是主要的和次要的没有抓好,看来要写好用例还是要好好的学好语文滴哈哈
受教啦
作者: k99378    时间: 2009-7-26 23:10
楼主写得很好,向楼主学习
作者: mr.air    时间: 2009-7-27 00:02
好,学习拉,谢谢lz!!!!
作者: litianmi1986    时间: 2009-7-27 10:11
路过学习
作者: wu65942    时间: 2009-7-28 14:42
写得很棒,学习了,谢谢楼主了
作者: nick—yang    时间: 2009-7-29 12:04
不错
作者: yblh    时间: 2009-7-29 15:45
无文档情况下怎样编写测试用例?
作者: 妖娆    时间: 2009-7-29 17:26
太棒了 暴走
作者: lvlingling    时间: 2009-8-5 14:43
标题: 抓住中心思想,抓住重点
我就记住了你文章中的这两点,因为这两点对于做任何事情都很重要,很有用。可惜的是自己这方面做得很差,需要努力改进呢!
作者: rita0    时间: 2009-8-5 17:26
为什么我下的了却看不了哦?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2