首页 > 其他分享 >自动化测试如何准备测试数据

自动化测试如何准备测试数据

时间:2023-10-19 21:12:06浏览次数:36  
标签:测试数据 测试 自动化 一些 数据 测试环境

其实大部分类型的测试都需要去准备测试数据。

  • 手工测试:一些基础数据,比如配置数据等等是需要去准备的;
  • 自动化测试:基础需要准备,现有数据,动态运行时产生的数据是需要准备的;
  • 性能测试:跟自动化测试差不多;

这里就牵扯到了一些关于数据的概念了。

测试数据的分类

我们可以给测试数据分一些种类

  • 基础数据,比如一些内容管理系统会配置站点的标题,友情链接之类的基础配置数据
  • 存量数据,也就是现有数据。比如在测试一些电商站点的时候会提前插入一些商品信息,类目信息物流信息等
  • 动态数据,也可以叫做 session 数据。比如在测试电商站点的发布商品功能的时候,往往会去创建一些新的商品

我们可以想象到,基础数据其实可以比较容易的跟生产环境保持一致。测试环境的存量数据会比线上环境要少,测试环境的动态数据可能不会像线上环境那样真实。

这里就需要讨论测试数据的量级和真实性的问题了。

测试数据的量级

大部分情况下,测试数据的量级是没有产生环境多的。所以测试数据可以是真实数据的子集。

如果有类生产环境或预发布环境的话,可以尽量保持跟线上数据相当的量级。这样一些测试环境不好测出来的由于数据量导致的问题可以在预发布环境测出来。

测试数据的真实性

我们测试环境的数据往往跟真实用户产生的数据是有差异的。比如测试论坛系统时,我们在帖子里的贴图可能往往就那么几张,尺寸也是恰到好处,而线上用户的贴图可能是五花八门,从而导致意想不到的问题。

如何准备基础和存量数据

基础和存量数据与线上环境越一致,测试中发现问题的概率可能就越高。一般来说,可以有下面的策略

  • 全量 + 脱敏策略。直接定期把线上的数据做脱敏,导入到测试环境。这里脱敏是必选,数据泄漏导致的问题严重程度往往比普通的线上 bug 要严重得多。
  • 定量 + 脱敏策略。只上一些线上数据,比如只在线上拉 1000 个商品,1000 个用户信息,然后做脱敏。这里技术实现难度会比较高,毕竟要把关联表理顺。
  • 爬虫策略。如果是新项目 / 产品的话,线上没有存量数据可以导,那么可能要去友商那里爬一些数据,导到测环境做测试。比如做一个旅游站点,开始的时候是没有用户的游记的,这时候就要去类似站点爬一点来测试了。
  • 生成动态数据。如果线上没有数据,友商也没有的爬,那么就要人肉或者自动化的方式去产生一些数据了。系统简单的话可以用 sql 去跑,复杂点的话可能要调用接口或者用自动化的方式去生成。实在没辙的时候也可以手动去造一些数据。

关于动态数据

大家在做自动化或者接口测试后往往会大量的去产生动态数据。那么问题就来了。

这些数据存在哪里?什么意思呢?如果我们需要用自动化的方式去创建一个商品,那么商品的信息,图片地址该放在哪里呢?其实这是个持久化的问题了。

  • 放文件里。文件格式有很多可以选的,比如 xml/csv/json/yaml 等。不过不推荐 excel,毕竟是私有格式,没有太强的扩展性。而且 excel 一升级,你的解析代码和库也可能要跟着改一次,嗯,强烈不推荐了。
  • 放数据库里。爬一些商品的信息存到数据库里,然后读数据库也是很好的办法,还能熟悉一下 sql 的用法,面试经常问到,另外可以用数据库的事务机制来清理测试数据
  • 在代码里动态生成。比如动态随机生成用户的姓名啊性别和年龄之类的

数据生成之后就面临着一个清理的问题。清理问题实际上数据生命周期的问题,测试数据应该有下面一些生命周期吧

  • 短期数据。用例完了就删掉的数据,一般线上做性能测试的数据都是这样的短期数据
  • 长期数据。用例跑出来的数据放在那里也没事,可以一直存在。这种数据太多有时候会影响测试环境的性能

自动化测试跑出的数据建议做短期数据,跑出来想办法清掉,因为自动化跑的频率其实可以很高,每次都产生一堆数据的话数据的量级可能会在短期变得很大,对测试环境的性能造成影响。

以上的一些看法是个人的浅显的粗鄙的看法,肯定有很多不成熟的地方,欢迎大家斧正。

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的话,学习自动化测试相关内容可以进群:785128166,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

标签:测试数据,测试,自动化,一些,数据,测试环境
From: https://www.cnblogs.com/hebendexiaomao/p/17775655.html

相关文章

  • 无代码玩转web UI自动化
    可以直接进入官网下载开源版或点击右上角体验企业版体验RunnerGoUI自动化平台RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。RunnerGoUI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂......
  • 无代码玩转web UI自动化
    可以直接进入官网下载开源版或点击右上角体验企业版体验 RunnerGoUI自动化平台RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。RunnerGoUI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队......
  • 实验二测试1—— OpenSSL命令测试1
       ......
  • 20211102尹子扬 实验二 openssl命令测试
    点击查看代码openssldgst-sm3-outsn.sm3sn.txt3.(用od打印时发现有\n换行符,所以在第4步时不加-n,否则会生成错误的hash值)点击查看代码od-tc-Ansn.sm34.(正确的是不带-n的hash值)点击查看代码echo"20211102"|openssldgst-sm3代码截图:......
  • 工程监测无线振弦采集仪高低温试验箱测试原理
    工程监测无线振弦采集仪高低温试验箱测试原理无线振弦采集仪是一种用来测量结构物动力学特性的仪器,它可以通过振弦传感器采集到结构物的振动信号,并通过数据分析,得到结构物的自然频率、阻尼比、振型等信息。为了确保无线振弦采集仪的准确性和可靠性,需要进行高低温试验,以验证它在各......
  • 工程监测无线振弦采集仪高低温试验箱测试原理
    工程监测无线振弦采集仪高低温试验箱测试原理无线振弦采集仪是一种用来测量结构物动力学特性的仪器,它可以通过振弦传感器采集到结构物的振动信号,并通过数据分析,得到结构物的自然频率、阻尼比、振型等信息。为了确保无线振弦采集仪的准确性和可靠性,需要进行高低温试验,以验证它在各种......
  • 使用 AutoSSH 实现自动化跨网络访问
    AutoSSH是一种用以对SSH登录进行安全地自动化的软件。!比如我们在host2机器上面部署了很多服务,但是由于某种原因导致我们无法直接ssh访问该服务器已经其上服务的对应端口,但是host3服务器,既能够访问host2服务器,又可以访问我们的host1服务器。这是,我们可以通过设置ssh......
  • 网页文案 -- DDS 协议测试套件介绍
    概述  OMGDDS(Data-DistributionService)协议测试套件是北汇信息与臻容科技合作研发的针对DDS中间件软件的测试套件。该套件用于验证DDS(Data-CentricPublish-Subscribe,DCPS)软件的核心功能与OMGDDS相关标准规范的一致性,包括API(ApplicationProgrammingInterface)......
  • 软件性能测试怎么做,上海权威软件性能检测机构有哪些?
    ​性能测试报告作为衡量软件质量的重要指标之一,软件的性能是一种非功能特性,不关心系统是否可以完成特定的功能,而只关心软件系统在运行时的速度是否足够快、是否消耗足够少的资源。做好软件性能测试十分重要,有哪些方法可以提升软件的性能指标呢?一、软件性能测试有哪些方法?1.压......
  • m基于FPGA的OFDM系统中降PAPR技术的实现,包含testbench测试文件和MATLAB辅助测试
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发:将FPGA的仿真结果导入matlab中,并通过matlab2022a进行papr对比:2.算法涉及理论知识概要峰值平均功率比(PAPR—PeaktoAveragePowerRatio),简称峰均比(PAPR)。MIMO-OFDM系统能够提供更大的覆盖范围、更好的传输质量、更高的数......