首页 > 其他分享 >软件测试/测试开发|如何使用场景法设计测试用例?

软件测试/测试开发|如何使用场景法设计测试用例?

时间:2023-12-22 12:01:39浏览次数:34  
标签:场景 业务流程 业务 用户 测试用例 软件 软件测试

软件测试/测试开发|如何使用场景法设计测试用例?_测试用例

简介

我们之前介绍过了等价类和边界值来设计我们的测试用例,等价类和边界值是我们最常用的测试用例设计方法之一,本文我们将向大家介绍场景法。

场景法

定义

场景法是一种通过用户使用“场景”对软件系统的功能点或业务流程进行描述,即针对需求模拟出不同的场景进行所有功能点及业务流程的覆盖,从而提高测试效率并达到良好效果的方法。

场景法要求我们通过两个层面去理解被测软件,分别是业务层面和技术层面。

  • 业务层面:测试人员要熟悉所测软件的业务逻辑,对业务了如指掌
  • 技术层面:
  • 基本流:也叫有效流或正确流,模拟用户正确的业务操作流程
  • 备选流:也叫无效流或错误流,模拟用户错误的业务操作流程

为什么要使用场景法?

现在的系统基本上都是由事件来触发控制流程的。如:我们申请一个项目,需先提交审批单据,再由部门经理审批,审核通过后由总经理来最终审批,如果部门经理审核不通过,就直接退回。每个事件触发时的情景便形成了场景。而同一事件不同的触发顺序和处理结果形成事件流。终端用户,期望软件能够实现业务需求,而不是简单的功能的组合。对于单点功能来说,利用等价类划分、边界值分析、判定表等用例设计方法就能够解决大部分问题。而涉及业务流程的软件系统,采用场景法比较合适。

场景法的优势

  • 全面性:通过模拟真实场景,覆盖了用户的各种操作情况,能够更全面地测试软件功能。
  • 发现问题:能够帮助发现用户可能遇到的潜在问题,从而及早修复,提高用户体验。
  • 可迭代性:随着用户需求和环境变化,可以不断扩展和更新测试用例,确保软件始终能够适应新的情况。

使用场景法设计测试用例

  1. 分析需求,确定业务流程(基本流、备选流);理解用户的主要行为模式和使用场景,例如,在一个电子商务网站上,用户可能会搜索商品、添加到购物车、进行支付等。
  2. 依据基本流、备选流,生成不同的场景;确定每个用户场景中可能的情境和条件变化。比如,搜索商品时可能会出现输入错误、搜索结果为空等情况。
  3. 针对生成的各场景,设计相应的测试用例;为每个场景编写测试用例,覆盖不同的操作路径和边界条件。例如,在搜索商品场景中,测试用例可以包括正确输入、错误输入、空结果等情况。
  4. 测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定数据。

场景法适用场合

  • 场景法适用于解决业务流程清晰和业务比较复杂的系统或功能,场景法是一种基于软件业务的测试方法。
  • 使用场景法,目的是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向。例:语音通话典型业务流程就把语音通话、同振顺振、语音留言、呼叫保持、呼叫转移这些功能都串到一起来。
  • 基本上每个软件都会用到场景法,因为每个软件背后都有业务的支撑。
  • 场景法主要用来测试软件的业务逻辑和业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的细节测试(等价类+边界值+判定表等),而是要先关注主要业务流程和主要功能是否正确实现,这就需要使用场景法。当业务流程和主要功能没有问题,我们再从等价类、边界值、判定表等方面对控件细节进行测试(先整体后细节)。

总结

使用场景法设计测试用例是确保软件质量的关键步骤之一。通过理解用户行为、分析情境、创建全面的测试用例,可以提高软件的稳定性和可靠性。这种方法不仅可以帮助发现问题,还能够在产品开发过程中持续改进,以满足不断变化的用户需求。希望本文能够帮到大家!

标签:场景,业务流程,业务,用户,测试用例,软件,软件测试
From: https://blog.51cto.com/u_15640304/8934050

相关文章

  • 软件测试/测试开发|如何使用因果图法设计测试用例?
    前言我们之前介绍了等价类边界值场景法来设计测试用例,本篇文章我们来介绍一下使用因果图来设计测试用例。因果图法因果图(Cuase-effectGraph)是一种描述输入条件的组合以及每种组合对应的输出的图形化工具。为什么使用因果图法?我们之前介绍的等价类和边界值都是着重考虑输入条件,如果......
  • 【低代码】低代码平台协同&敏捷场景下的并行开发解决方案探索
    低代码开发平台的出现,大大地提高的产品交付效率,但是在协同开发、敏捷迭代的场景下,也暴露出了一些问题。例如:多人同时对项目进行修改,相互影响甚至修改内容被互相覆盖;同一项目下多个需求同步开发,但需求上线日期不统一,无法拆分上线等等。本文将根据不同诉求,渐进式的讨论支......
  • 5分钟攻略Spring-Retry框架实现经典重试场景
    前言今天分享干货,控制了篇幅,5分钟内就能看完学会。主题是Spring-Retry框架的应用,做了一个很清晰的案例,代码可下载自测。框架介绍Spring-Retry框架是Spring自带的功能,具备间隔重试、包含异常、排除异常、控制重试频率等特点,是项目开发中很实用的一种框架。本篇所用框架的版本......
  • JavaScript 中 for-in 循环和 for-of 循环的区别和适用场景
    前言在JavaScript中,循环是一种非常常见的操作。其中,for-in循环和for-of循环是两种常用的循环方式。本文将详细介绍这两种循环方式的用法、特点以及适用场景,帮助读者更好地理解和应用它们。正文内容一、for-in循环1.用法for-in循环用于遍历对象的属性。其基本语法如下:......
  • 【模拟】Kafka集群异常对客户端影响及丢消息场景
    0环境集群信息4个brokertopic:100+(每个topic30个partition)集群加密方式:plaintext存储:cephProducer单线程,每秒50条左右Consumer不间断poll消息测试客户端原生的KafkaConsumer/KafkaProducer;测试场景Producer和Consumer运行过程中,通过登录kakfa运行主机,直接停止当前......
  • 软件测试/测试开发|Ubuntu系统入门教程
    前言上文我们介绍了Ubuntu系统的安装,还没有介绍Ubuntu系统的使用,对于习惯了使用Windows系统的我们来说,Ubuntu和Windows还是有着比较大的区别的,本文就来介绍一下Ubuntu系统的入门使用。Windows和Linux文件系统区别我们都知道,Windows操作系统的文件管理是分盘的,我们有C盘,D盘......
  • 软件测试/测试开发|一文教会你使用npm
    前言NPM的全称是NodePackageManager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。npm之于Node.js,就像pip之于Python,gem之于Ruby,pear之于PHP。npm是Node.js官方提供的包管理工具,它已经成了......
  • 软件测试/测试开发|GitHub怎么用,这篇文章告诉你
    前言作为一个刚刚接触代码的程序员,可能我们会听到一个词GitHub,把代码提交到GitHub上,或者从GitHub上克隆项目到本地,在GitHub上查看某个工具的文档等等,我们不禁要问,GitHub究竟是什么,该怎么用,本文就给各位初学者们介绍什么是GitHub,它能帮我们干什么?什么是GitHubGitHub是一个面向......
  • 远程视频监控技术EasyCVR可视化监控管理平台在地质灾害场景中的应用
    随着科技的不断发展,视频监控技术已经成为了地质灾害监测与预警的重要手段之一。在地质灾害场景中,视频监控技术可以实时监测灾害的发展过程,及时发现险情,为抢险救援提供准确的信息,保障人民生命财产安全。一、视频监控技术的优势1)实时监测:视频监控技术可以实时监测地质灾害的发展过......
  • 逻辑多租场景下,故障爆炸半径的控制实践
    本文分享自华为云社区《逻辑多租场景下,故障爆炸半径的控制实践》,作者:王福强陈子栋。背景某系统是一款华为自研的工具平台,可部署在公有云上,面向全球多项目、多客户提供服务。为了满足数据安全合规要求,并尽可能降低用户使用成本以及提升运维效率,整体上采用了混合多租的设计方案,逻......