自动化测试如何区分用例集合

简介: 业务增长自然而然带来的是流程的复杂度提升和业务场景的多样性,同时用户体验和线上的小问题影响范围,也会扩大。因此在测试case的覆盖率上,覆盖的颗粒度会更细致。

前面的文章介绍过如何设计自动化测试case,有同学在后台问到:业务比较复杂,有很多串行并行甚至组合的业务场景,执行case时经常遇到由于前后依赖导致的case失败问题,该如何处理?当业务复杂度和工作量上来之后,在具体的实践中这是个避不开的问题。那如何解决这个问题?我建议可以通过按照业务和场景区分用例集合的方式来解决。


业务量和复杂度增长现状是什么?


以我的亲身经历而言,当业务爆发式增长时,测试团队会面临如下几点变化和调整:


对比项

业务增长前

业务增长后

团队组织架构

大团队

大团队小team,按照业务域划分不同小团队

团队协作方式

互相协作,沟通成本低

跨team协作频次变高,构成成本高

团队技术栈构成

比较单一,学习和迁移成本低

技术栈多样,学习和迁移成本高

测试case覆盖率

只覆盖核心场景,保证主流程正向流程

PO/P1/P2场景,正向逆向场景都覆盖

测试人员职责划分

每个人都熟悉整体业务流程和场景

每个人只熟悉岗位职责内的业务流程和场景


这里我们只讨论和自动化测试case相关的区别。


业务增长自然而然带来的是流程的复杂度提升和业务场景的多样性,同时用户体验和线上的小问题影响范围,也会扩大。因此在测试case的覆盖率上,覆盖的颗粒度会更细致。


以电商下单场景为例:核心流程在case设计和执行以及结果校验时,主要会关心商品库存、是否使用优惠券、是否参与活动以及订单数据是否入库到之后的是否支付成功,这是一个正向的核心场景case。如下图所示:


640.png


正常的下单流程能否走下去,主要依赖于上图的几个校验点。假设,团队按照不同的业务域拆分为好多个小团队,职责和边界划分更细致时,该怎么做呢?


如何区分自动化测试的用例集合?


还是以电商的主要业务流程为例说明,假设团队拆分的更细致,业务链路依赖更复杂,怎么办?如下图:


640.png


可以看到每个链路都会依赖于上下游链路的部分数据或者调用关系。面对如此复杂的场景和跨团队协调,这个时候区分用例集合的好处就体现了出来。那么如何区分用例集合呢?看下图:


640.png


如上图所示,如果团队是按照业务域或者业务链路做了区分,团队内同学负责的模块也不一致,区分的大致思路如上。


如何理解呢?就是每个人只负责设计自己所负责模块的case,考虑好正向逆向流程的校验点,然后调用和依赖模块对应的场景和数据,和对方约定好,遵循互信原则即可。


区分用例集合的过程要注意什么?


区分用例集合的注意事项,主要参考如下几点:


  1. 业务团队按照一定的原则划分,而不是混乱;
  2. 每个团队之间要明确好业务边界和职责边界;
  3. 调用依赖和边界遵循统一的调用方式(如restful);
  4. 测试数据的存储和校验建议统一维护而非各自独立;
  5. 测试用例要按照不同条件做区分(类似打标签形式);
  6. 持续集成任务要按照前后依赖做好执行时序的区分;
相关文章
|
5天前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
5天前
|
测试技术
软件测试/测试开发/全日制|Pytest如何灵活地运行用例
软件测试/测试开发/全日制|Pytest如何灵活地运行用例
38 0
|
5天前
|
存储 监控 API
Flink的每个key状态 和每个并行度的状态 怎么测试区分?
Flink的每个key状态 和每个并行度的状态 怎么测试区分?
39 0
|
5月前
|
Java 测试技术 Python
java写班级系统测试用例
python班级系统测试用例
59 2
|
5月前
|
测试技术 网络架构 Python
python班级系统测试用例
python班级系统测试用例
60 1
|
5天前
|
安全 数据可视化 前端开发
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习
17 0
|
5天前
|
人工智能 测试技术 数据处理
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(1)等价类划分法、边界值法、判定表法
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(1)等价类划分法、边界值法、判定表法
8 0
|
5天前
|
测试技术 iOS开发
pytest Mark标记测试用例
使用`pytest.mark`进行测试用例分组和筛选,如`@pytest.mark.webtest`。通过`pytest -m`参数执行特定标记的用例,例如`pytest -s test_command_param.py -m webtest`。同时,pytest支持内置的skip、skipif和xfail功能来管理特殊用例:skip始终跳过,skipif条件满足时跳过,xfail则标记预期失败的测试。
5 0
|
5天前
|
测试技术 Python
python编写集成测试用例
【4月更文挑战第21天】
21 1
|
5天前
|
测试技术 数据库 UED
【白盒测试】单元测试的理论基础及用例设计技术(6种)详解
【白盒测试】单元测试的理论基础及用例设计技术(6种)详解
12 1

热门文章

最新文章