首页 > 其他分享 >【自动化测试数据管理】对于不可重复使用的测试数据(一次性的测试数据),自动化实现过程中,应如何处理?

【自动化测试数据管理】对于不可重复使用的测试数据(一次性的测试数据),自动化实现过程中,应如何处理?

时间:2024-07-03 11:43:10浏览次数:13  
标签:数据库 测试数据 重复使用 测试 自动化 数据 运行

  准备不可重复使用的测试数据,其实是一件比较让人头疼的一件事。

  因为只能使用一次,每次运行之前都要准备新的数据,工作量不可谓不大。而且如果数据本身比较复杂或者稀少,这个数据准备工作就更让人怀疑这些功能用自动化的方式来测试是否有价值。

  那么对于这种一次性的测试数据,我们用什么方法去处理比较好呢?

  ①. 如果数据存量较多,则考虑直接连接数据库,去数据库查询满足测试需求的数据。(注意,满足测试需求或许不是简单的一两个SQL语句能决定的,需要仔细了解系统业务、设计逻辑,争取让测试数据是绝对可用的。)

     ②.如果数据较少,运行存在数据不足使用的潜在隐患的话,可以考虑该业务功能的互逆操作,从系统中寻找现成的具有数据对称性的功能,如果有这种功能的存在,那么两个功能串联在一起测试运行,能够起到操作回退的作用。(比如,份额质押and份额解押,A份额过户给B,B再份额过户给A等类似的业务场景)

  ③.如果业务系统中不存在互逆的功能,考虑后台数据的回归和删除,例如保单状态修改,系统中不支持保全回退。考虑在测试数据库中建立一个JOB,对操作进行回滚,修改和删除所有影响到该笔数据下次继续运行的数据库记录,根据测试执行的频率决定JOB对应的运行频率,保证每次测试运行之前运行一次Rollback测试数据的JOB。

  ④.不断生成新的可用的测试数据,增加可用数据量。寻找数据最初的来源,例如我们说的这两个操作所需要的数据,他们都可以由新契约承保生成测试数据,如果契约承保系统功能正常、自动化能够正常运行,那么我们将会不断得到新的数据,从而避免数据量过少又不可复用的尴尬。只不过这种方式对关联系统功能和自动化测试程序运行的稳定性依赖性较高,很难保证。(比如手机号码、身份证号码,统一社会信用代码,这些在当前项目当中需保证唯一性,所以可以借助Faker这个Python第3方库,每次生成新的数据)

 

  个人认为:无论是什么类型的数据,使用什么样的方法,只要相同的数据能够长时间反复使用,那么就可以把写数据、使用数据文件存储,映射到测试程序上去。存储数据的载体文件如EXCEL,统一保存在测试框架下指定的目录中,降低测试运行对人工测试数据准备的要求,最好能保证在首次运行成功之后还能够运行30次以上。对于不可复用的数据或者实时性要求很高的数据,则从被测系统数据库从获取。(而对于完全不可复用且回退比较麻烦的测试场景,并且生成新的可用的测试数据如果也无法避免出现重复数据的情况,那么是否要进行自动化测试是值得商榷的。)

标签:数据库,测试数据,重复使用,测试,自动化,数据,运行
From: https://www.cnblogs.com/SuperLee017/p/18281306

相关文章

  • 接口测试自动化过程和规范
    接口测试规范1.简介前言接口测试是测试系统组件间接口的一种测试,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,本文中所指接口为web-接口;接口测试的重点是要检查数据的交换,传递和计算处理过程,以及系统间的相互逻辑依赖关系等;大部分接口测试,其测试内容都......
  • 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-1-环境准备与搭建
    1.简介Python+Playwright系列的文章还没有结束,就有好的小伙伴或者童鞋们私信公众号留言,问宏哥什么时候出Java语言的Playwright的自动化测试文章。本来想趁热打铁将Python+Playwright完结后,就开始Java语言的Playwright的自动化测试文章,但是好多人私信留言,索性就两个系列的文章......
  • TG智能客服机器人开发指南/自动化客户服务机器人源码构建手册
    一、引言在数字化时代,提供高效、快速的客户服务是企业赢得客户满意度和忠诚度的关键。TG智能客服机器人作为一种新型的客户服务工具,能够24小时不间断地为客户提供服务,极大地提升了客户服务的效率和质量。本文将为您提供一份详尽的TG智能客服机器人开发指南和自动化客户服务机......
  • 频道管理新高度 YouTube自动化脚本源码/部署指南
    提升YouTube频道管理效率,自动化脚本是关键。本指南将带您深入了解YouTube自动化脚本的源码结构与部署流程,助您实现频道管理的新高度。一、源码结构解析核心模块:登录认证、视频处理、评论管理、订阅者互动等。辅助模块:日志记录、错误处理、定时任务等。二、环境准备与依赖安......
  • 基于java+vue+ssm+jsp办公自动化管理系统java+vue毕业设计实战源码+lw等全套资料
    前言......
  • 自动化(爬虫)工具 DrissionPage SessionPage模式 API介绍 使用笔记(三)
    自动化(爬虫)工具DrissionPageSessionPage模式API介绍使用笔记(三)目录启动驱动启动配置常用方法(API)启动最简单的启动方式,更多启动方式见这里fromDrissionPageimportSessionPage#session_or_options:Session对象或SessionOptions对象#timeout:超时时间(秒)o......
  • python学习笔记 | 自动化测试指南
    1、测试工具的使用1.1、selenium......
  • Appium+python自动化(三十三)- 本地调试测试代码,远程控制测试环境-Remote(超详解)
    简介在前边所有涉及启动app的时候有这样一行代码driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps),很多小伙伴们和同学们不知道这个ip和端口哪里来的,我觉得有必要给小伙伴解释一下,于是宏哥决定写一篇关于这个appium的服务器ip文章!来给大家答答疑......
  • 工业除尘自动化中的Profibus转Modbus网关应用解析
    一、背景在工业生产过程中,除尘系统扮演着至关重要的角色,它不仅可以保护生产设备,延长设备寿命,还可以减少环境污染,提高生产效率。而Profibus转Modbus网关(XD-MDPB100)作为自动化领域中的关键技术,在除尘自动化控制系统中发挥着重要作用。二、Profibus转Modbus网关优势Profibus转Mod......
  • 从人工到自动化到AIOps再到ChatOps:大模型在运维领域的应用
    一、引言在信息技术飞速发展的今天,运维工作已经从最初的人工操作,逐步演变为自动化、AIOps(人工智能运维)和ChatOps(通过聊天的方式去运维)。这些变革不仅提升了运维效率,还显著保障了系统的稳定性。特别是借助大模型,运维同学能够更加高效地完成工作,并应对复杂的运维挑战。本文将依次介......