51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1357|回复: 0
打印 上一主题 下一主题

[原创] 测试用例编写-状态转换

[复制链接]
  • TA的每日心情
    无聊
    2024-11-5 10:03
  • 签到天数: 77 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2021-11-26 16:15:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    大家测试过程中经常用的等价类划分、边界值分析、场景法等,并不能覆盖所有的需求,下面就来讲一种不经常用到但又非常重要的测试用例编写方法
    因果图
    应用场景:页面上有多个控件(输入),控件(输入)之间存在不同的组合关系,不同组合之间又可以产生不同的输出结果,符合这个条件的页面可以使用因果图法。
    通过应用场景我们发现,一个手机壳外形选择页面的用例就可以按照这种方法编写。
    我们假设我们手机,品牌有品牌1和品牌2,品牌1对应的型号有型号1、型号2,品牌2对应的型号有型号3、型号4,我们所有的手机外形有外形1,外形2,但是外形1只能给品牌1的手机使用,外形2品牌2的手机使用;除固定选择外,还有一些可选定制项,比如说手机挂绳,包边,标志处挖孔等等。手机挂绳可以给所有手机外形使用,包边只能给外形2使用。下面我们先用图示的方式将需求展示的更明确一些。(图例看附件
      首先需要找出所有的输入和所有的输出
    输入:
    1)品牌1
    2)品牌2
    3)型号1
    4)型号2
    5)型号3
    6)型号4
    7)外形1
    8)外形2
    9)手机挂绳
    10)包边
    输出:
    A 定制成功
    B 错误提示

    接下来看看输入和输出有什么组合关系,首先要先确认那些不能组合
    1)和2)不能组合;3)、4)、5)、6)中的任意两个都不能组合;1和5)、6)不能组合;2)和3)、4)不能组合

    输入的组合:
    有一些必须组合的,1)必须和3)、4)中的其中一个组合
                      2)必须和5)和6)中的其中一个组合
    那么前六个输入条件共有4中可能的组合1)、3);1)、4);2)、5);2)、6);再将这四个跟后面四个输入进行组合,得出如下组合:
    组合1:1)、3)、7)、9)
    组合2:1)、3)、7)、10)
    组合3:1)、3)、8)、9)
    组合4:1)、3)、8)、10)
    组合5:1)、4)、7)、9)
    组合6:1)、4)、7)、10)
    组合7:1)、4)、8)、9)
    组合8:1)、4)、8)、10)
    组合9:2)、5)、7)、9)
    组合10:2)、5)、7)、10)
    组合11:2)、5)、8)、9)
    组合12:2)、5)、8)、10)
    组合13:2)、6)、7)、9)
    组合14:2)、6)、7)、10)
    组合15:2)、6)、8)、9)
    组合16:2)、6)、8)、10)


    这样通过罗列所有的输入组合,可以提高用例的覆盖率,避免遗漏
    下面我们来分析输入的组合会产生什么样的输出结果
    组合1:品牌1+型号1+外形1+手机挂绳---定制成功
    组合2:品牌1+型号1+外形1+包边---提示错误
    组合3:品牌1+型号1+外形2+手机挂绳---定制成功
    组合4:品牌1+型号1+外形2+包边---定制成功
    组合5:品牌1+型号2+外形1+手机挂绳---定制成功
    组合6:品牌1+型号2+外形1+包边---提示错误
    组合7:品牌1+型号2+外形2+手机挂绳---定制
    成功
    组合8:品牌1+型号2+外形2+包边---定制成功

    组合9:品牌2+型号3+外形1+手机挂绳---提示错误
    组合10:品牌2+型号3+外形1+包边---提示错误
    组合11:品牌2+型号3+外形2+手机挂绳---定制成功
    组合12:品牌2+型号3+外形2+包边---定制成功
    组合13:品牌2+型号4+外形1+手机挂绳---提示错误
    组合14:品牌2+型号4+外形1+包边---提示错误
    组合15:品牌2+型号4+外形2+手机挂绳---定制成功
    组合16:品牌2+型号4+外形2+包边---定制成功

    经过分析发现,型号1和型号2;型号3和型号4的所有可用条件都是一样的,所以我们可以简化一部分,黄色的部分是重复的,当然我们在编写用例的使用,型号1和型号2可以交替使用,型号3和型号4可以交替使用。
    通过分析过程我们发现,使用因果图法分析用例,不仅能将用例覆盖的更全面,还能去除一些重复用例。
    这样我们就可以根据所有的输入及输出的逻辑编写测试用例(这里只列举部分用例,就不全部列举了)
    [size=12.0000pt]用例名称
    [size=12.0000pt]前提条件
    [size=12.0000pt]操作步骤
    [size=12.0000pt]预期结果
    [size=12.0000pt]1
    [size=12.0000pt]型号[size=12.0000pt]1的手机可以使用外形1,并可以定制手机挂绳
    [size=12.0000pt]
    [size=12.0000pt]1、[size=12.0000pt]选择品牌1和型号1
    [size=12.0000pt]2、[size=12.0000pt]选择外形1
    [size=12.0000pt]3、[size=12.0000pt]定制手机挂绳
    [size=12.0000pt]4、[size=12.0000pt]提交
    [size=12.0000pt]1、[size=12.0000pt]定制成功
    [size=12.0000pt]2
    [size=12.0000pt]型号[size=12.0000pt]1的手机可以使用外形1,并可以定制手机包边
    [size=12.0000pt]
    [size=12.0000pt]1、选择品牌1和型号1
    [size=12.0000pt]2、选择外形1
    [size=12.0000pt]3、定制包边
    [size=12.0000pt]4、提交
    [size=12.0000pt]1、选择外形1就不可以使用包边工艺
    [size=12.0000pt]3
    [size=12.0000pt]型号[size=12.0000pt]2的手机可以使用外形2,并可以定制手机挂绳
    [size=12.0000pt]
    [size=12.0000pt]1、选择品牌1和型号2
    [size=12.0000pt]2、选择外形2
    [size=12.0000pt]3、定制手机挂绳
    [size=12.0000pt]4、提交
    [size=12.0000pt]1、定制成功
    [size=12.0000pt]4
    [size=12.0000pt]型号[size=12.0000pt]2的手机可以使用外形2,并可以定制手机包边
    [size=12.0000pt]
    [size=12.0000pt]1、选择品牌1和型号2
    [size=12.0000pt]2、选择外形2
    [size=12.0000pt]3、定制手机包边
    [size=12.0000pt]4、提交
    [size=12.0000pt]1、定制成功
    适用条件:比较适用控件的输入条件比较少的情况,如按键按下或者不按下,单选按钮、复选框或者取值比较少的下拉框。
    这个例子非常简单,我们发现经过分析后,我们不仅可以覆盖的更完整,还可以减少冗余用例,提高测试效率。
    希望这篇文章能对大家有所帮助~


    本帖子中包含更多资源

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

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-25 08:16 , Processed in 0.068013 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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