51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 13633|回复: 23
打印 上一主题 下一主题

[讨论] 大家觉得这个流程的用例怎么设计才好呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-19 17:58:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
某OA系统的假期申请流程,假期分年假和病假两类。
年假审批流程:
① 若连续休假不超过3天,则审批流程为:本人提出申请→直接上级审批;
② 若连续休假超过3天(包括3天),则审批流程为:本人提出申请→直接上级审批→部门总监审批;
病假审批流程:
① 若连续休假不超过3天,则审批流程为:本人提出申请→人力中心→直接上级审批;
② 若连续休假超过3天(包括3天),则审批流程为:本人提出申请→人力中心→直接上级审批→部门总监审批;
若申请人是主管或总监,则省去部门总监审批环节。
我想到用正交助手设计,但出来的结果中出现人力审批不通过,直接上级通过等不可能出现的情况。而且占很大一部分,不能简单删除。
请问这种情况应当如何设计流程的用例才合理呀?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-5-20 11:12:50 | 只看该作者
换一个思路,如果正交复杂,那么可以考虑其他方法。
请假系统的流程比较简单,可以考虑使用流程图来做,如下(在不清楚主管和总监是否等价的情况下,做分别处理):


1、根据末端结点,可以得到8个基本用例;

2、(边界值法)针对请假天数,边界值元素有:1、3、N天(如果支持负数或其他字符,还需要加入新的用例),那么就把“>=3”天的用例数*3

3、(等价法)针对请假天数,当“<3”天时,“一般员工”、“主管”、“总监”由于流程相同,做等价处理,所以“<3”天的用例数为2个。(其实“>=3”天的18个用例也可以用等价法减少一些)

4、一些特殊结点有至少2个状态“接受”“拒绝”,而“本人申请”可能存在3个状态“提交”“再提交”“接受”,那么假设从图中至上而下是1~8号流程,在不考虑“本人申请”这个节点的情况下;1号流程有1*2个用例;2号流程有1*3*2*2个用例;3、4各有1*3*2个用例;5号流程有1*2*2个用例;6号流程有1*3*2*2*2个用例;7、8各有1*3*2*2个用例,其中4和8号流程可以用等价法去掉大部分用例,留下1个基本用例。
总共用例有(1*2+1*3*2*2+1*3*2+1*2*2+1*3*2*2*2+1*3*2*2+2)*3个,最后一个*3是“本人申请”的结点。

故,最后得到的用例数为64*3个.(其中还是有一部分用例可以用等价去掉的,比如最后的*3,可以删减为64+8(每一个基本流程跑一次),这就需要看对用例粒度的把握了)

[ 本帖最后由 Jackc 于 2010-5-20 11:42 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-5-20 11:14:20 | 只看该作者
流程图法有一些固有缺陷,比如容易进入定向思维,不容易发现“错误推断”的用例,又比如容易忽视界面上的测试点等等

[ 本帖最后由 Jackc 于 2010-5-20 11:44 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-5-20 16:42:53 | 只看该作者

回复 2# 的帖子

首先谢谢恁这么仔细又清晰的回帖
再试试用这种方法来写。
原来写用例时也是想用流程图法,但后来需求细化后觉得不可行。
针对你说的定向思维,不易错误推断及忽视界面测试,我觉得可用流程测试与具体各节点测试点分开来的方式来避免。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-5-21 09:59:51 | 只看该作者
确实,把各个节点的属性再设计一套用例,能使整个用例的框架更加完整。

最近研究了一下NOKIA的用例,它们在用例的整体框架搭建的时候也是用了相同的原理来规范用例的。

不过有个偷懒的方法,就是同行评审,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-5-21 11:12:13 | 只看该作者
很好.学习了!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-5-21 11:13:46 | 只看该作者
二楼写的很详细~
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-5-21 16:11:18 | 只看该作者
恭喜jackc成为实习版主!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-5-21 16:18:45 | 只看该作者
谢谢~

主要还是大家一起学习
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2010-5-21 16:52:25 | 只看该作者
原帖由 Jackc 于 2010-5-21 16:18 发表
谢谢~

主要还是大家一起学习

回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2011-1-13 13:28:35 | 只看该作者
值得借鉴
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2011-1-26 15:19:47 | 只看该作者
挺好
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2011-1-26 16:55:49 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-8 12:09
  • 签到天数: 547 天

    连续签到: 1 天

    [LV.9]测试副司令

    14#
    发表于 2011-1-27 09:03:31 | 只看该作者
    JACkC一直是那么的出色~~~学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2011-6-1 17:29:17 | 只看该作者
    回复 2# Jackc


        分析的很细致,但是有些地方还是值得推敲的。

    1.“针对请假天数,当“<3”天时,“一般员工”、“主管”、“总监”由于流程相同,做等价处理,所以“<3”天的用例数为2个”——其实这里不能划分为同一个等价类,从输入来说,这里有两个输入值,相当于:
    1)““<3”天 and 员工=“一般员工””,
    2)““<3”天 and 员工=“主管””,
    3)““<3”天 and 员工=“总监””
    流程处理上,是否真的一样,恰恰是我们要测试的内容

    2.对于OA系统,如果想提高测试用例的命中率,一个简单的方式就是针对两两结点进行测试。例如对于第二条流程,一般员工和直接上级审批两个结点的场景,无非是:
    1)提交->通过
    2)提交->不通过->终止
    3)提交->不通过->再提交->通过
    4)提交->不通过->再提交->不通过->终止
    对于下一个两两结点来说,仅仅关注“通过”这个状态本身,所以并不需要再3×2×2了,8个就可以了。如果要考虑错误推测,就反复提交和拒绝,算是增补的一个。

    其实这个case根据业务再分解一下,用路径分支覆盖或者圈复杂度计算一下,会更准确一些。

    另外,这个例子也说明系统测试效率是很低的,设计评审和代码评审会是更有效的手段。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-6-6 15:22
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]测试连长

    16#
    发表于 2011-6-2 16:23:08 | 只看该作者
    第一次接触,有的地方还是不懂..
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2011-7-29 10:38:52 | 只看该作者
    学习~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2011-9-13 16:08:52 | 只看该作者
    学习了,谢谢,写的比较经典
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-10-27 22:34:19 | 只看该作者
    精彩!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2011-10-29 20:24:48 | 只看该作者
    学习了 !!!!!可以
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-25 03:39 , Processed in 0.083165 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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