• 0
  • 0
分享
  • 测试理论:如何做到测试场景不遗漏?——软件测试圈
  • 恬恬圈 2023-01-06 13:54:00 字数 1682 阅读 1129 收藏 0

  测试分析与设计

  测试是一门精细的学科,新人同学很容易有的误区是认为做测试主要就是编写测试用例和执行测试用例,进阶能力是写自动化脚本或研发工具。而实际上,测试人员最难修炼的是测试分析能力,测试分析能力是衡量一位测试同学是否专业的分水岭。分析除了使用方法,还需要有对业务、经验、质量的深度理解。自动化或工具实际是对分析和设计结果的一种实现,分析和设计的有效会决定实现的效果。

  分析与设计过程

  测试分析要从业务需求最开始就要介入,流程覆盖业务整个生命周期。在做分析的过程要想清楚,整体后续的设计怎么做。

  测试分析可总结为四步:

  ·建模 - 输出业务/系统流程 (分析:业务流程 - 系统流程)

  · 设计 - 测试场景 (设计:测试场景)

  · 细分 - 测试用例/数据 (设计:测试用例)

  · 扩展 - 多类型测试(性能,安全,异常等等) (基于经验)

1-1.jpg

  测试场景分析实施

  测试场景和测试用例区别是什么?为什么先要设计测试场景?

  上图也描述了,测试场景对应的是实际的业务场景,业务场景是业务流程中因不同的事件触发后的业务情景。比如银行取款的业务办理流程,会因为用户的身份(VIP与否)、取款金额(大额,小额)、卡内余额(足额取,不足额取)等诸多因素,导致最后取款的结果和过程分支产生不同。测试场景就是对这类事件触发时的业务情景在质量角度的描述。而测试用例是对测试场景在测试范围和测试点的详细覆盖。

  第一步:根据业务的目标(价值)、类别、技术等输入,确定业务场景分析的范围。 

  业务分析就是需求分析的过程。这里不仅仅考虑需求的功能逻辑,还需要结合不同业务类型,根据历史业务经验沉淀和风险沉淀进行综合考虑。可以参考用下图进行前期梳理。

1-2.png

   第二步:业务流程梳理(业务场景) 

  将需求说明转化为业务流程,完成事件流(基本流+备选流)以及业务分析过程和技术分析过程的梳理。细化出原子级别的场景分支。

   事件流:  同一事件不同的触发顺序和处理结果形成事件流,事件流分为基本流和备选流

   基本流: 程序从开始执行直到成功结束所经过的最短路径。

   备选流: 一个备选流可能从基本流开始,在特定条件下执行,然后重新加入基本流中;也可起源于另一个备选流,执行后加入基本流或终止用例。根结点的备选流要具备原子性。

  基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流2和4);也可能起源于另一个备选流(如备选流4),或者终止用例而不再重新加入到某个流(如备选流1和3)。

1-3.jpg

  实例:

1-4.jpg

  第三步:场景串联 

  通过第二步中拆解的场景,根据沉淀后的场景集,用组合,合并等方法梳理出所有的事件流。事件流必须100%覆盖所有的基本流+备选流组合。

  例:

1-5.jpg

  测试用例设计

  测试用例的设计很多时候是测试数据设计的过程,根据事件流(基本流+备选流)、数据和根据不同的角色,进行用例覆盖。需要确保所有场景100%覆盖。

  例:

1-6.jpg

  非功能性设计扩展

  测试用例在设计上除了考虑功能性质量属性,还需要对非功能性进行覆盖,推荐一个 四字法 进行设计。

   多 :针对测试用例进行大数据量覆盖测试

   并 :针对测试用例进行大数据量同时执行,验证并发下的测试结果

   复 :重复的参数对同一用例进行执行测试。验证幂等结果是否符合预期。

   异 :用非正常输入值进行用例测试。验证结果的正确性。

  测试策略

  策略其实考虑两个问题,过程和方法:“测什么”,“怎么测”。

  · 你的测试对象是什么?

  · 本次测试的目标是什么?

  · 测试中重点、难点、风险是什么?

  · 测试要覆盖的深度和广度

  · 如何安排各种测试计划(先测什么,再测什么,时间资源安排)

  · 如何准出(测试结果)


作者:佚名    

来源:http://www.51testing.com/html/58/n-6146058.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 状态码分类2XX 成功状态码2系状态码都是表示服务器收到客户端的请求并且正确处理。- 200 OK表示从客户端发来的请求在服务器端被正常处理了。在响应报文内, 随状态码一起返回的信息会因方法的不同而发生改变。 比如, 使用 GET 方法时, 对应请求资源的实体会作为响应返回; 而使用 HEAD 方法时, 对应请求资源的实体首部不随报文主体作为响应返回(即在响应中只返回首部, 不会返回实体的主体部分)- 204 No Content该状态码代表服务器接收的请求已成功处理, 但在返回的响应报文中不含实体的主体部分。 另外, 也不允许返回任何实体的主体。一般用于只需要从客户端往服务器发送信息, 而对...
            0 0 1173
            分享
          •   首先,我觉得在软件测试面试的过程中,逻辑比较混乱的最大一个原因是,说明你没有形成一个一个整体的体系。导致你说的时候很多东西都杂乱无章。  我个人认为软件测试,其实开始首先进行的是一些需求的分析工作,之后呢,进行需求的评审,需求评审完成之后,当需求确定之后我们下来开始着手去写一些测试计划相关的内容。等测试计划编写完成之后,针对每个人分配好的固定模块,各自去编写一些测试用例。然后编写完成测试用例之后,进行测试用例的评审,评审完成之后大家形成一个统一的测试用例。  之后,在这个时候开发的软件已经开发的差不多了,我们对开发的软件输出一部分冒烟测试用例,要求开发对着冒烟的测试用例全部通过之后,进行提...
            0 0 832
            分享
          • 1、开机后,打开设置,测试wifi及以太网能否正常连接。若有蓝牙,需测试蓝牙功能。WIFI测试WIFI连接测试:无密匙与加密无限网点接入是否正常;连接-断开(*操作a的同时给出c的结果);密码输入值测试:正确的秘密和错误的秘密(少一位、多一位、其他字符等)判断是否提示密码有误;WIFI稳定性测试;WIFI连接成功后,查看WIFI信号提示符是否稳定;安装“WIFI analyzer.apk” (WIFI分析仪),测试其WIFI增益强度是否稳定;休眠后WIFI是否自动进入休眠模式;休眠唤醒后WIFI是否可以正常接入;WIFI干扰测试;多台样机连接同一个Network后MID的响应(模拟现场:可能存...
            13 13 2253
            分享
          • 一、准备1、postman工具2、搭建被测系统服务3、fiddler抓包工具说明:本此实战测试是在完成前台界面开发后进行的,接口是通过fiddler抓包获取的。(如果没有完成系统前台开发,以项目组输入的接口为准进行测试也是一样的原理)二、完成后先看一下完成后的情况:①设置环境变量,可区分是线上环境、测试环境、开发环境等不同的环境(可将变化的变量存放在此,如:ip、port、用户信息、token等)。②新建要测试的接口:请求方式支持get、post、put、delete等③保存新建的接口,便于下次继续使用,如:切换环境后接口确认及版本升级后回归测试。三、具体操作-以登录接口为例1、设置环境变量2...
            8 9 2332
            分享
          •   最近很多同学问我做游戏测试有前途吗?  如果你真的很喜欢游戏,每天不打游戏你浑身难受,其实做游戏测试也算是一个好的选择!  游戏测试和软件测试的区别是什么?  现在游戏测试的待遇比以前好很多,资深的游戏测试也能达到20k。我们一般的软件测试呢,就是按照正常逻辑去测正常用例和反向用例就好了。那么游戏测试和软件测试会有一个大的区别,就是它的UI会非常的复杂,假设我们打开B站或者打开视频平台,会有一个个页面,但是打开游戏可能从进去开始就会有各种动画和各种加载,所以做游戏测试的话,测试点、UI、美术技术、技能的叠加以及各项内容的加载和流量的消耗,都是和软件测试区别比较大的地方。  除了这些东西以外...
            0 0 457
            分享
      • 51testing软件测试圈微信