《软件测试52讲》——测试数据准备篇

wuweiblogs wuweiblogs     2022-12-09     713

关键词:

《软件测试52讲》

1、测试基础知识篇——(0~11讲)

2、GUI自动化测试篇——(12~21讲)

3、API自动化测试篇——(22~24讲)

4、代码测试篇——(25~27讲)

5、性能测试篇——(28~34讲)

6、测试数据准备篇——(35~38讲)

持续更新中~

测试数据准备篇

35——如何准备测试数据?

从创建测试数据的维度来看,测试数据准备方法主要可以分为四类:

  基于 GUI 操作生成测试数据;

  通过 API 调用生成测试数据;

  通过数据库操作生成测试数据;

  综合运用 API 和数据库的方式生成测试数据。

36——浅谈测试数据的痛点

测试数据的痛点

  1、在测试用例执行过程中,创建所需的数据往往会耗时较长,从而使得测试用例执行的时间变长;

  2、在测试执行之前,先批量生成所有需要用到的测试数据,就有可能出现在测试用例执行时,这些事先创建好的数据已经被修改而无法正常使用了的情况;

  3、在微服务架构下,测试环境本身的不稳定,也会阻碍测试数据的顺利创建。

从测试数据创建的时机来看,主要分为 On-the-fly(实时创建)和 Out-of-box(事先创建测试数据)两类方法

On-the-fly 方法又称为实时创建方法,指的是在测试用例的代码中实时创建测试用例所要使用到的测试数据,具有数据可靠性高的优点,但是会比较耗时。

Out-of-box 方法又称为开箱即用方法,指的是在准备测试环境时就事先准备好测试需要用到的全部数据。这样可以有效缩短测试用例的执行时间,但是存在“脏”数据的问题。

根据测试数据的特性,把它们分为两大类

  “死水数据”是指那些相对稳定,不会在使用过程中改变状态,并且可以被多次使用的数据。

  “活水数据”是指那些只能被一次性使用,或者经常会被修改的测试数据。

  “死水数据”适合用 Out-of-box 的方式,而“活水数据”适合采用 On-the-fly 的方式。

37——测试数据的“银弹”-统一测试数据平台(上)

  在测试数据准备1.0 时代,准备测试数据最典型的方法就是,将测试数据准备的相关操作封装成数据准备函数。

归纳起来,这个时代的数据准备函数,主要有两种封装形式:

  第一种是,直接使用暴露全部参数的数据准备函数,虽说灵活性最好,但是每次调用前都需要准备大量的参数,从使用者的角度来看便利性比较差;

  第二种是,为了解决便利性差的问题,我们引入了更多的专用封装函数,在灵活性上有了很大的进步,但是也带来了可维护差的问题。

38——测试数据的“银弹”-统一测试数据平台(下)

测试数据准备的 3.0 时代

  为了解决 2.0 时代跨平台使用数据准备函数的问题,我们将基于 Java 开发的数据准备函数用

Spring Boot 包装成了 Restful API,并且结合 Swagger 给这些 Restful API 提供了 GUI 界面和文档。

这样一来,我们就可以通过 Restful API 调用数据准备函数了,而且由于 Restful API 是通用接口,

  所以只要测试框架能够发起 http 调用,就能使用这些 Restful API。于是,几乎所有的测试框架都

可以直接使用这些 Restful API 准备测试数据。

  由此,测试数据准备工作自然而然地就发展到了平台化阶段。我们把这种统一提供各类测试数据的

Restful API 服务,称为“统一测试数据平台”。

技术图片

   1. 引入了 Core Service 和一个内部数据库。其中,内部数据库用于存放创建的测试数据的元数据;Core Service 在内部数据库的支持下,提供数据质量和数量的管理机制。

  2. 当一个测试数据被创建成功后,为了使得下次再要创建同类型的测试数据时可以更高效,CoreService 会自动在后台创建一个 Jenkins Job。这个 Jenkins Job 会再自动创建 100 条同类型的数据,

并将创建成功的数据的 ID 保存到内部数据库,当下次再请求创建同类型数据时,这个统一测试数据平台就可以直接从内部数据库返回已经事先创建的数据。在一定程度上,这就相当于将原本的 On-the-fly 转变成了 Out-of-box,

缩短整个测试用例的执行时间。当这个内部数据库中存放的 100 条数据被逐被使用,导致总量低于 20 条时,对应的 Jenkins Job 会自动把该类型的数据补足到 100 条。而这些操作对外都是透明的,完全不需要我们进行额外的操作。

极客软件测试52讲总结分享

极客软件测试52讲总结分享通过下图二维码购买,联系我给您返现20元现金红包  详情加我微信:qq530827182  备注:购买测试52讲  查看详情

软件测试52讲-01|你真的懂测试吗?

    查看详情

公司hbase基准性能测试之准备篇

本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考。 测试环境测试环境包括测试过程中HBase集群的拓扑结构、以及需要用到的硬件和软件资源,硬件... 查看详情

接口测试篇之一

首先,要理解为什么要做接口测试?优点:  1、可以节约时间,缩短项目时间  2、提高工作效率  3、提高系统的健壮性接口测试流程 需求讨论-->需求评审-->场景设置-->数据准备-->执行设计用例功能、业务逻... 查看详情

接口测试基本概念篇

1、为什么需要进行接口测试   目的就是要绕过前端限制对应用服务程序进行校验。2、进行接口测试之前,需要准备做什么准备?  接口测试得有接口文档,才能进行测试,不然我们寸步难行,当然还得知道是... 查看详情

移动端自动化测试之appium+pyhton环境准备篇

  由于工作的需要进行Andriod手机app自动化测试,公司现有支持的app的手机平台(Andriod和IOS),所以选择了Appium工具。因为Andriod和IOS,Appium都支持。百度和谷歌上的各种Appium教程可谓是琳琅满目,但大抵都是浅尝辄止。因此笔... 查看详情

dsp篇--c6701功能调试系列之uart串口测试

目录1、原理2、测试        调试的前期准备可以参考前面的博文:DSP篇--C6701功能调试系列之前期准备_nanke_yh的博客-CSDN博客         UART串口收发数据存在两种模式:通常的串口模式(McBSPinSerialPortMode)和... 查看详情

深度学习入门篇,简单的实例讲明白图像分类。(代码片段)

...ras和其他对系统的依赖从磁盘中加载数据创建您的训练和测试拆分定义您的Keras模型架构编译您的Keras模型根据培训数据培训模型根据测试 查看详情

小程序测试心得

这篇博客,记录下我测试小程序的一些心得:一、测试前准备:1、环境搭建,环境配置,前端页面,必要的时候可以下载微信web开发工具,参考文档如下,https://www.jianshu.com/p/4d3190111eb02、管理后台,准备数据,准备账户二、测... 查看详情

dsp篇--c6701功能调试系列之can总线测试

...式又分为:直连和托管两种。        目的:测试CAN总线的接收和发送数据功能。        方法 查看详情

性能数据的准备-jmeter

性能测试的一般流程:收集性能需求——>编写性能脚本——>执行性能测试——>分析测试报告——>系统性能调优在收集性能需求后,我们会思考:负载测试时并发时需要多少数据?例:登录DB数... 查看详情

软件测试中准备测试数据的一些方法

...需要准备相应的测试数据。可以说准备测试数据也是作为软件测试的一项必须的工作。如果没有正确的测试数据,测试过程有时候就无法很好的执行,测试结果也会不准确。在实际工作中创建测试数据的过程,往往需要很长的时... 查看详情

37|测试数据的“银弹”-统一测试数据平台(上)(代码片段)

全球大型电商企业中关于准备测试数据的最佳实践。测试数据准备的1.0时代在1.0时代,准备测试数据最典型的方法就是,将测试数据准备的相关操作封装成数据准备函数。数据准备函数暴露全部参数第一种是,直接使用暴露全部... 查看详情

go语言基准测试(benchmark)三部曲之三:提高篇(代码片段)

...):https://github.com/zq2599/blog_demos本篇概览-《Go语言基准测试(benchmark)三部曲》已近尾声,经历了《基础篇》和《内存篇》的实战演练,相信您已熟练掌握了基准测试的常规操作以及各种参数的用法,现在可以学习一... 查看详情

软件测试--进阶7软件测试环境构建与测试数据准备

   工欲善其事,必先利其器。-- 《论语·卫灵公》  释译:工匠想要工作做好,一定要先让工具锋利。比喻要做好一件事,准备工作非常重要。1. 为什么要构建测试环境、准备测试数据提前准备测试所需资源... 查看详情

软件测试--进阶7软件测试环境构建与测试数据准备

   工欲善其事,必先利其器。-- 《论语·卫灵公》  释译:工匠想要工作做好,一定要先让工具锋利。比喻要做好一件事,准备工作非常重要。1. 为什么要构建测试环境、准备测试数据提前准备测试所需资源... 查看详情

《性能测试二三谈》系列

基础篇我第一次真正意义上接触性能测试,应该是从段念老师的《软件性能测试过程详解与案例剖析》这本书开始的。相比于后来市场上的一些性能测试工具书,比如:《零成本实现性能测试-基于ApacheJmeter》、《软件性能测试... 查看详情

软件测试——junit基础

软件测试——JUnit基础1.综述  之前(很久了…)说过JUnit的安装和使用,但其实没有讲JUnit的写法,今天写写JUnit的基础。  博客链接:在Eclipse中使用JUnit4进行单元测试(初级篇)  博客链接:在Eclipse中使用JUnit4进... 查看详情