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

这篇具有很好参考价值的文章主要介绍了自动化测试如何准备测试数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

测试数据的分类

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

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

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

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

测试数据的量级

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

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

测试数据的真实性

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

如何准备基础和存量数据

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

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

关于动态数据

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

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

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

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

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

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

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

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

到了这里,关于自动化测试如何准备测试数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动化测试工具Selenium的基本使用方法,面试字节跳动的前端工程师该怎么准备

    8.小结 上述均可以改写成find_element(By.ID,‘kw’)的形式 find_elements_by_xxx的形式是查找到多个元素,结果为列表 import time from selenium import webdriver#驱动浏览器 from selenium.webdriver import ActionChains #滑动 from selenium.webdriver.common.by import By #选择器 from selenium.webdriver.common.by import By #按照什

    2024年04月16日
    浏览(45)
  • Python自动化测试用例:如何优雅的完成Json格式数据断言

    目录 前言 直接使用 优化 封装 小结 进阶 总结  资料获取方法 记录Json断言在工作中的应用进阶。 很早以前写过一篇博客,记录当时获取一个多级json中指定key的数据: 后来在写用例生成过程中,发现重复的断言描述信息较多,大多数数据返回其实都是标准的json,所以将整个

    2024年02月13日
    浏览(43)
  • Web自动化测试-如何进行Selenium页面数据及元素交互?教你一步不漏。

      目录 前言: 一、Selenium简介 二、安装Selenium 1.Windows用户安装Selenium 2.安装Chrome浏览器驱动 三、使用Selenium进行页面数据及元素交互 1.启动浏览器

    2024年02月07日
    浏览(45)
  • selenium 自动化测试—如何搭建自动化测试环境?

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,

    2024年02月19日
    浏览(94)
  • 什么是自动化测试?如何开展自动化测试你需要知道这些点

    目录 前言 什么是自动化测? 分层的自动化测试 我为什么要做自动化测试? 什么项目适合做自动化测试? 选择什么工具进行自动化测试 selenium 用前须知 selenium IDE selenium Grid selenium RC selenium 2.0 selenium学习路线 结语 做测试好几年了,真正学习和实践自动化测试一年,自我感觉

    2023年04月17日
    浏览(57)
  • 自动化测试:5分钟了解Selenium以及如何提升自动化测试的效果

    在快节奏的技术世界里,自动化测试已经成为确保 Web 应用程序质量和性能的重要手段。自动化测试不仅加快了测试过程,还提高了测试的重复性和准确性。Selenium,作为领先的自动化测试工具之一,为测试人员提供了强大的功能来模拟用户在 Web 浏览器中的行为。在本文中

    2024年01月20日
    浏览(41)
  • 手工测试如何转向自动化测试

    我是在2008年毕业的,三本的学校,不上不下的专业水平,毕业的时候,恰好遇到了金融危机。校园招聘里阴差阳错的巧合,让我走上了软件测试工程师的道路。 入职第一天,来了个高大上的讲师,记得他是这么说的: “软件测试的要求非常高,做好软件测试很不容易”、“

    2024年02月15日
    浏览(44)
  • API自动化测试是什么?我们该如何做API自动化测试呢?

     API测试已成为日常的测试任务之一,为了提高测试效率,减少重复的手工操作,API自动化测试也逐渐变得愈加重要,本文是自己在API自动化测试方面的一些经验积累和心得、汇总成文,以飨读者 我相信自动化技能已经成为高级测试工程师总体技能的标配。敏捷和持续测试破

    2024年02月01日
    浏览(43)
  • 企业为什么要做自动化测试?我们该如何学习自动化测试?

    作为一名大厂测试开发,编写自动化脚本,俨然成为一种必备的技能。 为什么要做自动化测试? 那企业或者是我们测试人员为什么要做自动化测试呢? 如果在前两年,可能10个测试员有6个都是做的功能测试,但随着测试技术的发展以及测试工作的深入,传统的手工测试已经

    2024年02月10日
    浏览(47)
  • 如何实现WinApp的UI自动化测试?自动化工具如何选择人?

    WinApp(WindowsAPP)是运行在Windows操作系统上的应用程序,通常会提供一个可视的界面,用于和用户交互。例如运行在Windows系统上的Microsoft Office、PyCharm、Visual Studio Code、Chrome,都属于WinApp。常见的WinApp,其扩展名基本都是*.exe,运行后也都会有一个漂亮、易用的UI界面,本章就

    2024年02月04日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包