8年老鸟整理,自动化测试-准备测试数据详细...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

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

手工测试:一些基础数据,比如配置数据等等是需要去准备的;

自动化测试:基础需要准备,现有数据,动态运行时产生的数据是需要准备的;

性能测试:跟自动化测试差不多。

1、测试数据的分类

基础数据,比如一些内容管理系统会配置站点的标题,友情链接之类的基础配置数据;

存量数据,也就是现有数据。比如在测试一些电商站点的时候会提前插入一些商品信息,类目信息物流信息等;

动态数据,也可以叫做session数据。比如在测试电商站点的发布商品功能的时候,往往会去创建一些新的商品。

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

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

2、测试数据的量级

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

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

3、测试数据的真实性

我们测试环境的数据往往跟真实用户产生的数据是有差异的。

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

4、如何准备基础和存量数据

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

全量+脱敏策略。直接定期把线上的数据做脱敏,导入到测试环境。这里脱敏是必选,数据泄漏导致的问题严重程度往往比普通的线上bug要严重得多。

定量+脱敏策略。只上一些线上数据,比如只在线上拉1000个商品,1000个用户信息,然后做脱敏。这里技术实现难度会比较高,毕竟要把关联表理顺。

爬虫策略。如果是新项目/产品的话,线上没有存量数据可以导,那么可能要去友商那里爬一些数据,导到测环境做测试。

比如做一个旅游站点,开始的时候是没有用户的游记的,这时候就要去类似站点爬一点来测试了。

生成动态数据。如果线上没有数据,友商也没有的爬,那么就要人肉或者自动化的方式去产生一些数据了。

系统简单的话可以用sql去跑,复杂点的话可能要调用接口或者用自动化的方式去生成。实在没辙的时候也可以手动去造一些数据。

5、关于动态数据

大家在做自动化或者接口测试后往往会大量的去产生动态数据。

那么问题就来了。
这些数据存在哪里?什么意思呢?

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

放文件里。文件格式有很多可以选的,比如xml/csv/json/yaml等。不过不推荐excel,毕竟是私有格式,没有太强的扩展性。而且excel一升级,你的解析代码和库也可能要跟着改一次,嗯,强烈不推荐了。

放数据库里。爬一些商品的信息存到数据库里,然后读数据库也是很好的办法,还能熟悉一下sql的用法,面试经常问到,另外可以用数据库的事务机制来清理测试数据

在代码里动态生成。比如动态随机生成用户的姓名啊性别和年龄之类的

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

短期数据。用例完了就删掉的数据,一般线上做性能测试的数据都是这样的短期数据

长期数据。用例跑出来的数据放在那里也没事,可以一直存在。这种数据太多有时候会影响测试环境的性能

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

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要害怕未知,那是生活的一部分。只有勇敢面对它,你才能找到属于自己的道路,并在这条道路上绽放出独特的光彩。

你的梦想并不遥不可及,只要每天坚持一点一滴的努力,你就能离它越来越近。记住,一切皆有可能,只要你肯用心去争取。

生命的意义在于不断地追求进步和自我完善。不要满足于现状,要勇于挑战自我,发掘自身的潜力,让你的人生更加精彩纷呈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/160113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于C#实现Bitmap算法

在所有具有性能优化的数据结构中,我想大家使用最多的就是 hash 表,是的,在具有定位查找上具有 O(1)的常量时间,多么的简洁优美,但是在特定的场合下: ①:对 10 亿个不重复的整数进行排序。 ②&am…

AI原生应用为百度带来新增量

我是卢松松,点点上面的头像,欢迎关注我哦! AI将彻底改变每一个行业!得益于AI和基础模型的驱动,百度在AI原生应用领域厚积薄发。 11月21日,百度Q3财报发布,数据显示:三季度营收达344.47亿元&…

Redis篇---第九篇

系列文章目录 文章目录 系列文章目录前言一、如果有大量的 key 需要设置同一时间过期,一般需要注意什么?二、什么情况下可能会导致 Redis 阻塞?三、缓存和数据库谁先更新呢?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击…

Axios简单使用与配置安装-Vue

安装Axios npm i axios main.js 导入 import Axios from axios Vue.prototype.$axios Axios简单发送请求 get getTest() {this.$axios({method: GET,url: https://apis.jxcxin.cn/api/title?urlhttps://apis.jxcxin.cn/}).then(res > {//请求成功回调console.log(res)}…

②⑩ 【MySQL Log】详解MySQL日志:错误日志、二进制日志、查询日志、慢查询日志

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ MySQL日志 ②⑩ MySQL日志:错误日志…

SpringBoot3.x最简集成SpringDoc-OpenApi

为什么使用SpringDoc 在SpringBoot低版本时一般使用Swagger扫描接口生成Json格式的在线文档,然后通过swagger-ui将Json格式的文档以页面形式展示文档。可惜遗憾的是swagger更新到3.0.0版本(springfox)后不更新了。 SpringBoot3.x以后需要的JDK版本最低为Java17&…

MQ和redis的内部原理一些总结

首先,先知道内部原理;其次,就是查官方文档实战了。 但是如果不熟悉内部原理,那么仅仅只是安装官方文档,并不能排除跟踪问题和故障、预防风险等策略; 以下总结图解:(mysql 8.0新增的…

YOLO目标检测——卫星遥感舰船检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用:卫星遥感舰船检测数据集说明:卫星遥感舰船检测数据集,真实场景的高质量图片数据,数据场景丰富,含船一个类别标签说明:使用lableimg标注软件标注,标注框质量高,含voc(xm…

Redis的持久化

redis是一个内存数据库,是把数据存储在内存中的,而我们知道内存中的数据是不持久的,一旦服务器重启或者进程重启,内存的数据就丢失了.为了让数据达到持久化的效果,就必须把数据写到硬盘上. redis相对于mysql这样的关系型数据库最明显的优势就是快.所以为了保证速度快,数据还得…

动态跳过测试用例

动态跳过测试用例 说明 我们可以通过指定环境变量来动态判断是否执行指定的测试用例设置环境变量有很多种方法,例如命令行方式,格式:--env keyval1,key2val2 ,若需要指定多个环境变量则需要逗号来隔开,而不是空格 t…

Live800:企业提升客户互动体验,有哪些关键因素?

如今,随着信息时代的不断发展,企业已经不再是单向的商业机构,他们需要与客户进行及时的沟通与反馈,从而更好地提升客户互动体验,达到营销和用户体验的双赢局面。那么,企业如何提升客户互动体验呢&#xff1…

设计模式——RBAC 模型详解

1.什么是 RBAC 呢? RBAC 即基于角色的权限访问控制(Role-Based Access Control)。这是一种通过角色关联权限,角色同时又关联用户的授权方式。 简单地说:一个用户可以拥有若干角色,每一个角色又可以被分配…

Linux程序之可变参数选项那些事!

一、linux应用程序如何接收参数? 1. argc、argv Linux应用程序执行时,我们往往通过命令行带入参数给程序,比如 ls /dev/ -l 其中参数 /dev/ 、-l都是作为参数传递给命令 ls 应用程序又是如何接收这些参数的? 通常应用程序都…

Raspberry Pi 5 新一代单板计算机:树莓派5代 (介绍、入门、解疑)

树莓派5代正式发布后,硬件和性能的全面升级让众多开发者们都想入手感受一波,外观上Raspberry Pi 5 与前代产品非常相似,不过,在保留信用卡大小的整体尺寸的同时,也更新了一些设计元素,以适应新芯片组的功能…

python实现调和反距离空间插值法AIDW

1 简介 AIDW 主要是针对 IDW 的缺点进行了改进,考虑了样本点与预测点的位置,即方向和距离,具体见下图: 2 改进 IDW 公式: 从IDW算法可看出,插值点的估算值仅与插值样本距插值点的远近相关,并未…

贝叶斯AB测试

AB测试是用来评估变更效果的有效方法,但很多时候会运行大量AB测试,如果能够在测试中复用之前测试的结果,将有效提升AB测试的效率和有效性。原文: Bayesian AB Testing[1] 随机实验,又称AB测试,是行业中评估因果效应的既…

【Mysql】[Err] 1293 - Incorrect table definition;

基本情况 SQL文件描述 /* Navicat MySQL Data TransferSource Server : cm4生产-200 Source Server Version : 50725 Source Host : 192.168.1.200:3306 Source Database : db_wmsTarget Server Type : MYSQL Target Server Version : 50725 File…

vxe编辑保存表格

业务需求: 1、需要点击编辑时,全部表格显示编辑框,点击保存,全部保存。 2、因为位置问题,产品经理把24小时分成了两行,开发就得分两个表格。列标题是写死的,文字偏移也是写死的,其他…

服务器主机安全的重要性及防护策略

在数字化时代,服务器主机安全是任何组织都必须高度重视的问题。无论是大型企业还是小型企业,无论是政府机构还是个人用户,都需要确保其服务器主机的安全,以防止数据泄露、网络攻击和系统瘫痪等严重后果。 一、服务器主机安全的重…

__int128类型movaps指令crash

结论 在使用__int128时,如果__int128类型的内存起始地址不是按16字节对齐的话,有些汇编指令会抛出SIGSEGV使程序crash。 malloc在64位系统中申请的内存地址,是按16字节对齐的,但一般使用时经常会申请一块内存自己切割使用&#…