51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3254|回复: 10
打印 上一主题 下一主题

[讨论] 求助:测试用例的设计方法!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-7 21:16:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
高手帮帮我,谁能告诉我面向对象的测试用例设计有几种方法,常用的,如何实现,谢谢!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-9-8 02:37:18 | 只看该作者
基本用例图:

以上是基本用例图,基本上不能缺少任何条件的.

复杂用例图:


以上是比较全面的用例图了,依据个人喜好,但一般不推荐复杂用例图,只要清晰描述需要明了的地方,还有必须要写的地方,就可以了,
写太复杂了回影响进度,而且有的条件也是不必要的.

[ 本帖最后由 Fin 于 2007-9-8 02:43 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-9-8 02:54:06 | 只看该作者
用例条件差不多的.只是用例看用到哪个地方了
例如:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-9-8 09:23:29 | 只看该作者
太好了,谢谢你们了,呵。。。收下了哟
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-9-8 18:27:43 | 只看该作者
貌似人家问的是设计方法而不是写作方法sdlkfj1
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-9-9 13:54:53 | 只看该作者
设计方法和写作方法有什么不同?不过这也是以前我不知道的,收下,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-9-9 15:13:20 | 只看该作者

回复 #1 wiwimeier 的帖子

测试用例设计方法就是将用例的设计大体分分类别,教你大概如何用更少的用例来发现更多的错误
而用例的写作就是在设计好后用的,一般可以有套用的摸版
就像你写信,要写什么,如何去写就是你的设计,而写作只是一种格式,如何让人看的更清楚明白

设计测试用例

测试用例可以分为基本事件、备选事件和异常事件。设计基本事件的用例,应该参照用例规约(或设计规格说明书),根据关联的功能、操作按路径分析法设计测试用例。而对孤立的功能则直接按功能设计测试用例。基本事件的测试用例应包含所有需要实现的需求功能,覆盖率达100%。

设计备选事件和异常事件的用例,则要复杂和困难得多。例如,字典的代码是唯一的,不允许重复。测试需要验证:字典新增程序中已存在有关字典代码的约束,若出现代码重复必须报错,并且报错文字正确。往往在设计编码阶段形成的文档对备选事件和异常事件分析描述不够详尽。而测试本身则要求验证全部非基本事件,并同时尽量发现其中的软件缺陷。

可以采用软件测试常用的基本方法:等价类划分法、边界值分析法、错误推测法、因果图法、逻辑覆盖法等设计测试用例。视软件的不同性质采用不同的方法。如何灵活运用各种基本方法来设计完整的测试用例,并最终实现暴露隐藏的缺陷,全凭测试设计人员的丰富经验和精心设计。

测试用例的设计

(一)白盒技术

白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部逻辑为基础设计测试用例。
1、逻辑覆盖
程序内部的逻辑覆盖程度,当程序中有循环时,覆盖每条路径是不可能的,要设计使覆盖程度较高的或覆盖最有代表性的路径的测试用例。下面根据图7-1所示的程序,分别讨论几种常用的覆盖技术。
(1)语句覆盖。
为了个提高发现错误的可能性,在测试时应该执行到程序中的每一个语句。语句覆盖是指设计足够的测试用例,使被测试程序中每个语句至少执行一次。
如图7-1是一个被测试程序流程图:




(2)判定覆盖。
判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次,因此判定覆盖也称分支覆盖。
(3)条件覆盖。
条件覆盖是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。
(4)判定/条件测试。
该覆盖标准指设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
(5)条件组合覆盖。
条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。
(6)路径覆盖。
路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径。
在实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到路径覆盖测试标准。
2.循环覆盖
3.基本路径测试


(二)黑盒技术

1.等价类划分
(1)划分等价类。
①如果某个输入条件规定了取值范围或值的个数。则可确定一个合理的等价类(输入值或数在此范围内)和两个不合理等价类(输入值或个数小于这个范围的最小值或大于这个范围的最大值)。
②如果规定了输入数据的一组值,而且程序对不同的输入值做不同的处理,则每个允许输入值是一个合理等价类,此处还有一个不合理等价类(任何一个不允许的输入值)。
③如果规定了输入数据必须遵循的规则,可确定一个合理等价类(符合规则)和若干个不合理等价类(从各种不同角度违反规则)。
④如果已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分为更小的等价类。
(2)确定测试用例。
①为每一个等价类编号。
②设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。
③设计一个测试用例,使其只覆盖一个不合理等价类。
2.边界值分析
使用边界值分析方法设计测试用例时一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。
(1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,同时还要选择刚好越过边界值的数据作为不合理的测试用例。如输入值的范围是[1,100],可取0,1,100,101等值作为测试数据。
(2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。如,一个输入文件可包括1--255个记录,则分别设计有1个记录、255个记录,以及0个记录的输入文件的测试用例。
(3)对每个输出条件分别按照以上原则(1)或(2)确定输出值的边界情况。如,一个学生成绩管理系统规定,只能查询95--98级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩的测试用例(不合理输出等价类)。
由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。
(4)如果程序的规格说明给出的输入或输出域是个有序集合(如顺序文件、线形表、链表等),则应选取集合的第一个元素和最后一个元素作为测试用例。
3.错误推测
在测试程序时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例,这就是错误推测法。
4.因果图
等价类划分和边界值方法分析方法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入数据的组合引起的错误。
5.综合策略
每种方法都能设计出一组有用例子,用这组例子容易发现某种类型的错误,但可能不易发现另一类型的错误。因此在实际测试中,联合使用各种测试方法,形成综合策略,通常先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例。

[ 本帖最后由 arlenexhl 于 2007-9-9 15:16 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-9-9 16:23:23 | 只看该作者
如果是功能测试,
可以对应需求分析,
把需求拆分,并划分优先级,
然后根据不同优先级,确定每个需求子项如何测试.

方法的话,可以参照7楼里的,
其中,等价类划分和边界值分析运用率非常高,而且很实用
当然也可以根据自己的实际项目选择测试适合的测试方法

关键在于用例对需求的覆盖,
比较重要的需求子项,要重点测试,
可以用各种测试方法结合,
如果1种2种方法无法覆盖全面,
可以再用其他方法进行用例的补充.
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-9-11 22:01:03 | 只看该作者
谢谢大虾,收到!sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-9-11 22:32:01 | 只看该作者
学习中………………
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-10-4 16:29:44 | 只看该作者
我也在这里收获了很多1
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-24 01:16 , Processed in 0.084863 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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