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

简介: 业务增长自然而然带来的是流程的复杂度提升和业务场景的多样性,同时用户体验和线上的小问题影响范围,也会扩大。因此在测试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. 持续集成任务要按照前后依赖做好执行时序的区分;
相关文章
|
9月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
测试技术
软件测试区分:条件组合覆盖、语句覆盖、判定覆盖、条件覆盖、路径覆盖
本文解释了软件测试中的不同覆盖标准,包括语句覆盖、判定覆盖、条件覆盖、条件组合覆盖和路径覆盖,并讨论了每种覆盖标准的特点、优点和缺点。
4481 62
|
8月前
|
人工智能 自然语言处理 测试技术
让AI帮你跑用例-重复执行,不该成为测试工程师的主旋律
测试不该止步于重复执行。测吧科技推出用例自动执行智能体,通过AI理解自然语言用例,动态规划路径、自主操作工具、自动重试并生成报告,让测试工程师从“点点点”中解放,专注质量思考与创新,提升效率3倍以上,节约人力超50%,重构测试生产力。
|
测试技术 Python
Python测试报告生成:整合错误截图,重复用例执行策略,调整测试顺序及多断言机制。
如何组织这一切呢?你可以写一本名为“Python测试之道”的动作指南手册,或者创建一个包含测试策略、测试顺序、多断言机制的脚本库。只要你的测试剧本编写得足够独到,你的框架就会像一位执行任务的超级英雄,将任何潜伏于代码深处的错误无情地揪出来展现在光天化日之下。这些整理好的测试结果,不仅有利于团队协作,更像冒险故事中的精彩篇章,带给读者无尽的探索乐趣和深刻的思考。
310 10
|
前端开发 JavaScript 测试技术
使用ChatGPT生成登录产品代码的测试用例和测试脚本
使用ChatGPT生成登录产品代码的测试用例和测试脚本
458 35
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
300 11
|
Web App开发 JSON 测试技术
API测试工具集合:让接口测试更简单高效
在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
307 10
|
测试技术
软件测试用例设计之微信群抢红包经典用例
作者在浏览招聘网站时遇到为微信群发和抢红包设计测试用例的问题,作为软件测试新手,作者通过实际体验并撰写测试案例来加深对业务的理解,并分享了测试案例表格。需要注意的是,该用例未考虑添加银行卡支付、红包类型选择及红包描述。
513 5
软件测试用例设计之微信群抢红包经典用例
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
531 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法