当前位置: 首页 > news >正文

这种测试用例编写方法,你怕是从来没用过

大家在测试过程中经常用的等价类划分、边界值分析、场景法等,并不能覆盖所有的需求,下面就来讲一种不经常用到但又非常重要的测试用例编写方法。

因果图

应用场景:页面上有多个控件(输入),控件(输入)之间存在不同的组合关系,不同组合之间又可以产生不同的输出结果,符合这个条件的页面可以使用因果图法。

通过应用场景我们发现,一个手机壳外形选择页面的用例就可以按照这种方法编写。

我们假设我们手机,品牌有品牌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可以交替使用。

通过分析过程我们发现,使用因果图法分析用例,不仅能将用例覆盖的更全面,还能去除一些重复用例。

这样我们就可以根据所有的输入及输出的逻辑编写测试用例(这里只列举部分用例,就不全部列举了)。

适用条件:比较适用控件的输入条件比较少的情况,如按键按下或者不按下,单选按钮、复选框或者取值比较少的下拉框。

这个例子非常简单,我们发现经过分析后,我们不仅可以覆盖的更完整,还可以减少冗余用例,提高测试效率。

希望这篇文章能对大家有所帮助~

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

http://www.cnnetsun.cn/news/139379.html

相关文章:

  • 万字长文读懂跨站脚本攻击(XSS)全解析(附 Java 代码示例、漏洞分析及修复技巧)
  • 文献评阅期末作业写作指南与实践技巧探讨
  • 学术诚信文献考核:基于文献分析的学术诚信考核机制构建与实践路径研究
  • 【Leetcode】1786. Number of Restricted Paths From First to Last Node
  • 給自學者的覺醒:我後悔太晚擁抱類型註解,它讓我的Side Project完成速度快了3倍
  • 【康复效率提升300%的秘密】:深度解析医疗Agent自主调参机制
  • htop入门指南:5分钟掌握Linux系统监控
  • 【论文精读(六)】PointCNN:点云也能用卷积?揭秘神奇的 X-Transformation (NeurIPS 2018)
  • 传统热部署VS快马AI:效率提升300%的对比实验
  • 用htop源码快速构建自定义监控工具
  • YOLOv11 改进 - C2PSA | C2PSA融合CPIASA跨范式交互与对齐自注意力机制(ACM MM2025): 交互对齐机制破解特征融合难题,提升小目标与遮挡目标判别力
  • MySQL-MVCC协议(转载IT秀才的文章)
  • 用Groovy快速构建REST API原型:1小时搞定
  • 做 PPT 最难的不是内容,而是模板:10 个免费又好用的 PPT 模板网站整理
  • 需求波动剧烈怎么办?:用多Agent协同预测应对不确定性
  • SD模型实战:用快马平台5分钟搭建AI艺术生成器
  • 游戏 AI 训练资源稀缺预警:2024年最值得收藏的5个开源框架推荐
  • 【量子 Agent 算法优化终极指南】:揭秘下一代智能体高效决策核心机制
  • 医疗康复Agent方案调整实战手册(基于10万+病例数据验证)
  • 会话(Session)
  • AI编程助手如何帮你快速掌握Java基础
  • Alertmanager在生产环境中的5个最佳实践案例
  • 零基础玩转SD模型:快马平台AI带你轻松入门
  • 2026上半年 IT 就业市场机遇丛生,你做好入局准备了吗?
  • 燃尽了...
  • Excel如何快速求出排名第一、第二、第N的对应数据?必备高频函数
  • vue和springboot框架开发的群众网上高效办事系统的设计与实现_6e4j9xi1
  • 飞算JavaAI自然语言直出全流程代码,告别无效加班
  • 蓝桥杯JAVA--启蒙之路(三)语句
  • 金融级情绪识别模型训练全攻略(基于千万级对话数据的优化经验)