精华内容
下载资源
问答
  • 很多人提到jmeter时,只会说到jmeter进行接口自动化或接口性能测试,其实jmeter还能对数据库进行自动化操作。 个人常用的场景有以下: 自动化产生的数据,进行删除 不断修改数据,进行多业务场景测试 ……...

    在这里插入图片描述

    01 前言

    很多人提到jmeter时,只会说到jmeter进行接口自动化或接口性能测试,其实jmeter还能对数据库进行自动化操作。

    个人常用的场景有以下:

    1. 对自动化产生的数据,进行删除

    2. 不断修改数据,进行多业务场景测试

    ……(更多使用场景需要个人根据自己不同的需求去挖掘)

    大家都知道,在逛淘宝/天猫等电商平台时,页面显示的数据一定要及时的呈现,否则会影响用户体现,所以对数据库的性能测试就必不可少。本文主要通过对XXXX订单系统的订单数进行自动化查询和数据库查询速度进行压力测试。

    在使用jmeter对数据库进行压力测试之前需要掌握两个基本知识:

    • 如何使用jmeter连接数据库
    • 如何使用jmeter执行数据库相关操作命令

    02 环境准备

    查看数据库版本

    使用navicat查看数据库版本

    图片

    下载驱动:

    地址:https://dev.mysql.com/downloads/

    图片

    图片

    下载成功后放入jmeter安装路径的ext文件夹下,并解压

    图片

    驱动jar文件放到ext文件夹后,需要重新启动jmeter,才可生效

    若没有下载驱动,则运行时报错:

    Response message: java.sql.SQLException: Cannot load JDBC driver class ‘com.mysql.jdbc.Driver’

    图片

    03 数据库配置和请求

    1、数据库配置

    Jmeter提供JDBC Connection Configuration用于配置数据库的连接信息

    菜单路径
    图片

    配置

    • Variable Name Bound to Pool模块配置

    ① Variable name for created pool:创建数据库连接池变量名称

    • Connection pool configuration模块配置

    该模块配置一般使用默认值即可

    ① Max Number of Connections: 数据库的最大连接数

    ② Max Wait(ms):最大等待时长

    ③ Time Between Eviction Runs (ms):

    ④ Auto Commit: 自动提交。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置),默认true,所以修改数据库时会直接真实修改

    ⑤ Transaction Isolation: 事务间隔级别设置,默认default

    • Database Connection Configuration模块配置

    该模块配置主要用于配置数据库的连接信。

    ① Database URL:jdbc:mysql://数据库ip/数据库端口/数据库名称

    ② JDBC Driver class:驱动名称,下拉选项选择

    ③ Username:用户名

    ④ Password:密码

    图片

    2、数据库请求

    JDBC Request用于执行SQL语句

    菜单路径
    图片

    配置

    • Variable Name Bound to Pool

    Variable name of pool declared in JDBC connection configuration:数据库连接池的变量名称

    因为连接数据库是需要在JDBC Connection Configuration中配置好相关连接信息的,然后赋予一个变量名称,那么JDBC Request想要去访问数据库,就必须通过这个配置好的变量名称去连接,所以JDBC Reques就需要通过读取JDBC Connection Configuration的变量中的信息

    3、Query type(SQL语句类型)

    Select statement:查询语句,仅支持单条语句

    Update statement:修改语句,支持多条语句

    ……其他类型可自行百度

    图片

    04 实践

    1、初级实践-数据库查询

    在进行接口性能测试之前,必须先学会基础的接口自动化测试。

    脚本结构

    添加监听器View Results Tree查看脚本执行结果,脚本结构如下:

    图片

    脚本(执行查询语句)
    图片

    结果
    图片

    2、进阶实践-数据库查询压力测试

    在接口自动化的基础上,配置需要的压测数据,就可以进一步对接口进行性能测试了。

    需要注意的配置:

    • 并发数的设置
    • 添加View Results Tree时,为了避免对性能测试结果造成影响,需要设置为仅展示错误信息
    • 添加Graph Results图形结果,这个监听器展示接口请求响应时间的平均值、中值、偏离值、吞吐量
    • 添加Response Time Graph响应时间图表,这个监听器将请求响应时间以折线图的方式展示出来

    部分效果如下图:

    图片

    图片

    图片

    图片

    下面是测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
    在这里插入图片描述

    最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

    学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

    喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


    好文推荐

    转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

    面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

    面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

    什么样的人适合从事软件测试工作?

    那个准点下班的人,比我先升职了…

    测试岗反复跳槽,跳着跳着就跳没了…

    展开全文
  • 数据库测试重点小结

    2021-11-08 15:30:00
    1.数据库备份 内容正确性、不同介质与空间的备份,备份异常处理、...数据库功能测试的内容包括数据定义、数据操纵、数据库安全性、并发处理等的测试 6.数据操作和更新 增、删、改、查等操作 7.数据的完整性 实体完整性.

    在这里插入图片描述
    1.数据库备份

    内容正确性、不同介质与空间的备份,备份异常处理、大数据量的备份、部分or全部备份

    2.数据库恢复

    备份恢复操作是否正常、恢复过程中对异常情况的处理,不同环境下的恢复

    3.数据库权限管理

    权限设备、各权限分配功能实现

    4.视图测试

    测试数据库视图定义是否反映了用户的需求

    5.数据库功能测试

    通过测试用例运行数据库,以验证该数据库功能的正确和无遗漏。数据库功能测试的内容包括数据定义、数据操纵、数据库安全性、并发处理等的测试

    6.数据操作和更新

    增、删、改、查等操作

    7.数据的完整性

    实体完整性、参照完整性、用户定义的完整性等测试

    8.数据的有效性

    确保数据库存储信息的正确性

    9.数据库安全测试

    测试数据库的安全措施是否发挥作用并达到预期效果,有无漏洞

    10.并发处理测试

    为了找出数据库系统并发处理机制的可能缺陷,进行并发处理测试

    11.数据库性能测试

    数据库性能测试分为平均性能测试、压力测试、负载测试和强度测试4种类型

    12.空数据库测试

    将数据库表中所有的内容全部清空,只留下一个管理员账户信息,检查系统的所有功能操作是否能够正常实现

    13.SQL语句优化

    14.存储过程的接口测试

    15.触发器的接口测试

    16.结合业务逻辑做关联表的接口测试

    17.面试题资源

    在面试了十家公司的同时,我也做出了一些整理和收集,我把这些收集来的资源整合放在了一个微信小程序,
    在这里插入图片描述

    给我私信我告诉你刷题小程序叫什么

    对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你…

    下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
    在这里插入图片描述

    最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

    学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

    喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


    好文推荐

    转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

    面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

    面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

    什么样的人适合从事软件测试工作?

    那个准点下班的人,比我先升职了…

    测试岗反复跳槽,跳着跳着就跳没了…

    展开全文
  • 大部分我们都接触比较多,但对于数据库,从实际的了解来看,很多从业者对数据库是有强需的,有些甚至工作中都没接触过数据库,导致第一次接触时,完全没概念。下面我们来详细了解下数据库如何进行测试

    数据库、Linux、测试理论、软件工程知识、计算机基础、网络基础、服务器基础、程序语言基础等,都是软件测试从业者必须具备的基础知识。大部分我们都接触比较多,但对于数据库,从实际的了解来看,很多从业者对数据库是有强需的对,有些甚至工作中都没接触过数据库,导致第一次接触时,完全没概念。下面我们来详细了解下数据库如何进行测试?

    数据库测试的重要性

    由于对数据存储,分析,安全,性能和稳定性的要求越来越高,数据库也从以前一个默默无闻的后台仓库,逐渐成为了数据库系统。

    既然数据库开发在软件系统中的比重逐步提高,那么由于数据库开发过程中存在的问题也随之而来。一个软件系统的功能,性能,安全性往往和数据库开发有直接的关系,但是实际工作中,我们从来没有真正将数据库作为一个独立的系统进行测试,而是通过对代码的测试工作间接对数据库进行一定的测,数据库方面的测试仍然处于空白。

    为了进一步的提高软件质量和开发效率,我们必须关注数据库测试,并且尽早的参与数据库开发。

    数据库测试的分类

    从测试关注点的角度来说,数据库测试可以分为以下几大类

    a)功能测试

    b)性能测试

    c)安全测试

    d) ……(健壮性测试,容错性测试和恢复能力等等)

    其中,数据库的功能测试主要涉及到增、删、改、查等方面基本操作,数据有效性和准确性等等,对数据的输入输出进行检查;性能测试主要包括,插入,查询的并发,满负荷下的持续运行时间,数据库响应时间,CPU占用率,SQL语句优化等,安全测试最主要考虑的是SQL注入;另外健壮性测试,容错性测试和恢复能力也是我们测试的要点,主要考察数据库持续运行的时间。

    功能测试

    对数据库功能的测试我们可以依赖于工具进行。

    DBunit一款开源的数据库功能测试框架,可以使用类似与Junit的方式对数据库的基本操作进行白盒的单元测试,对输入输出进行校验。

    QTP大名鼎鼎的自动测试工具,通过对对象的捕捉识别,我们可以通过QTP来模拟用户的操作流程,通过其中的校验方法或者结合数据库后台的监控对整个数据库中的数据进行测试。个人觉得比较偏向灰盒。

    DataFactory一款优秀的数据库数据自动生成工具,通过它你可以轻松的生成任意结构数据库,对数据库进行填充,帮助你生成所需要的大量数据从而验证我们数据库中的功能是否正确。这是属于黑盒测试。

    数据库性能

    虽然我们的硬件最近几年进步很快,但是我们需要处理的数据以更快的速度在增加。几亿条记录的表格在现在是司空见惯的,如此庞大的数据量在大量并发连接操作时,我们不能像以前一样随意的使用查询,连接查询,嵌套查询,视图,这些操作如果不当会给系统带来非常巨大的压力,严重影响系统性能。

    性能优化分4部分:

    1. 物理存储方面

    2. 逻辑设计方面

    3. 数据的参数调整

    4. SQL语句优化

    安全测试

    软件日益复杂,而数据又成为了系统中重中之重的核心,从以往对系统的破坏现在更倾向于对数据的获取和破坏。而数据库的安全被提到了最前端。自从SQL 注入攻击被发现,冒失万无一失的数据库一下从后台变为了前台,而一旦数据库被攻破,整个系统也会暴露在黑客的手下,通过数据库强大的存储过程,黑客可以轻松的获得整个系统的权限。而SQL的注入看似简单却很难防范,对于安全测试来说,如何防范系统被注入是测试的难点。业界也有相关的数据库注入检测工具,来帮助用户对自身系统进行安全检测。

    案例分享:Jmeter进行简单mysql数据库测试

    1、环境准备:

    mysql: mysql-5.7.17.msi

    jdbc驱动

    Jmeter: 3.2

    2、打开Jmeter,创建测试计划,点击浏览,添加jdbc驱动

    3、添加线程组,并在下面添加一下“JDBC Connection Configuration”(配置元件中),并填写连接配置

    注释:Variable Name Bound to Pool 该值在整个测试计划中应该是唯一的,以便JDBC采样器区别不同的连接配置 ,测试人员可以在测试计划中添加多个JDBC配置,但是它们必须有不同的名字。另外多个JDBC请求可以引用同一个连接池。

    Database URL: 数据库URL格式: jdbc:[数据库类型]://[ip地址]:[端口号]:/[实例名] , 如本次用的:jdbc:mysql://localhost:3306/sys

    username和password分别为数据库的用户名和密码

    其它输入域保持默认值

    4、添加JDBC Request 采样器,并设置相应sql 语句, 注意下面的变量名需要jdbc配置元件的名称相同。

    5、添加断言

    线程组--->添加--->断言---->响应断言

    6、添加一些监听器来查看sql执行情况

    7、最后运行,查看监听器结果报告

    总结:

    数据库的健壮性,容错性和恢复能力也是我们测试的要点,我们也可以发现功能测试,性能测试,安全测试,是一个由简到繁的过程,也是数据库测试人员需要逐步掌握的技能,这也是以后公司对数据库测试人员的基本要求。

    下面有我近几年的收集和整理,整体是围绕着【软件测试】来进行整理的,主体内容包含:python自动化测试专属视频、Python自动化详细资料、全套面试题等知识内容。
    在这里插入图片描述在这里插入图片描述
    对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你

    关注微信公众号【程序员二黑】即可领取Python自动化测试超硬核资源啦

    展开全文
  • 背景:当我们在进行单元测试时,对于关系型数据库(例如mysql)和非关系型数据库(例如redis)的处理,有的小伙伴通过mock的方式制作出假的数据进行测试,有的...简介:可以通过内存数据库帮助我们解决上面的问题,H2 ...

    背景:

    当我们在进行单元测试时,对于关系型数据库(例如mysql)和非关系型数据库(例如redis)的处理,有的小伙伴通过mock的方式制作出假的数据进行测试,有的小伙伴会连到开发环境操作数据库。而连到开发环境,会受到很多限制,脏数据,其他人也在操作或者你只能通过vpn才能连通,而且测试时可能需要灌大量数据,测完后再删除这些大量数据,很是麻烦。

    简介:

    可以通过内存数据库来帮助我们解决上面的问题,

    H2 数据库是一个不错的选择,它可以随着程序启动去创建数据表和数据,随着程序关闭而销毁,非常方便,可以作为单元测试数据库的替代品;

    embedded-redis 是用java写的用来模拟真实redis环境的缓存仓库##

    配置:

    pom.xml

    com.h2database

    h2

    test

    com.github.kstyrc

    embedded-redis

    0.6

    test

    yml

    spring:

    datasource:

    schema: classpath:db/schema.sql

    driver-class-name: org.h2.Driver

    jdbc-url: jdbc:h2:mem:test

    username:

    password:

    initialization-mode: always

    redis:

    database: 0

    host: localhost

    port: 6379

    password:

    mybatis:

    configuration:

    map-underscore-to-camel-case: true

    在db/下存放初始化数据库表和数据的文件

    https://github.com/youngsterking/junit

    展开全文
  • 本文实例讲述了Java连接mysql数据库测试是否连接成功的方法。分享给大家供大家参考,具体如下: package com.test.tool;import java.sql.Connection;import java.sql.DriverManager;import java.sql....
  • 本文主要和大家分享mysql连接数据库测试实例,希望能帮助到大家。1.通过maven导入关于mybatis的jar包可以通过阿里云的maven库直接下载相关jar包org.mybatismybatis3.4.5MySQLmysql-connector-Java5.1.382.编写...
  • 测试在项目中使用数据库的场景

    千次阅读 2021-01-24 15:22:22
    1.开发配置好环境,没有连接数据库,需要我们自己连接数据库,连接好数据库后建表以及往表里添加数据。或者开发只给了几条数据模板,这时就需要测试自己造大量的数据。 2.项目的后台管理没有注册功能,这时就需要...
  • {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行...
  • 提交用户名密码与数据库进行校验时,如果程序不抛出数据库连接不上的异常,那就说明数据库连接没问题 java连接sql数据库测试 try { Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, ...
  • mysql数据库测试用例

    2021-01-19 02:38:38
    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行...
  • 数据库测试也称为后端测试。数据库测试分为四个不同的类别。
  • 本文主要向大家介绍了MySQL数据库之php链接mysql代码测试 ,通过具体的内容向大家展现,希望大家学习MySQL数据库有所帮助。PHP连接MYSQL是进行数据库操作的第一步,在PHP中,可以使用内置的PHP函数mysql_connect()...
  • 达梦数据库重演功能测试 数据库运行工作中,故障定位是其中重要一环,有时故障比较隐蔽,只是短暂出现就消失;有时各种问题同时出现,难以定位最关键的问题点。达梦数据库除了AWR这类工具外,还提供数据库重演功能。...
  • 如何测试网站服务器mysql数据库 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。本章节以...
  • 如何测试服务器访问数据库的速度 内容精选换一换您可以通过导出SQL语句的方式将数据库备份到弹性云服务器上。弹性云服务器不限制存放哪些数据,但是数据必须符合国家法律法规。您可以在弹性云服务器上存放数据库备份...
  • 本文将带你了解软件测试技术之面试必问的25道数据库测试题,希望大家学测试技术有所帮助面试必问的25道数据库测试题1)什么是数据库测试数据库测试也称为后端测试。数据库测试分为四个不同的类别。数据完整性测试...
  • 哈喽,我是小野,这里赠送一份软件测试资料. 1、软件测试学习路线 2、软件测试视频资料 3、软件测试相关文档 4、软件测试相关工具、安装包 5、高级测试工程师简历模板 6、面试题、模拟面试、PDF文档 有需要的小伙伴...
  • mysql数据库读写性能测试云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,...
  • 单元测试长久以来是热门话题,本文不会讨论需不需要写单测,可以看看参考资料1,我个人认为写好单测应该是每个优秀开发者必备的技能,关于写单测的好处在这里我就不展开讨论了,快速进入本文着重讨论的话题,如何写...
  • dw如何与测试服务器连接数据库 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。华为云帮助...
  • 有想了解的同学可以戳《据说连数据库测试都因为太实用被人盯上了》进行回顾。在本期文章,我们将继续以实际项目测试经历为依据,数据库迁移完成后的功能测试的方法及经验进行总结,供测试人员参考。有的同学可能会...
  • 文章目录功能测试数据库、Fiddler今日目标1、功能测试数据库1.1 项目与数据库的关系1.2 数据库典型应用场景(重点)1.2.1 验证数据的准确性与完整性1.2.2 借助数据库进行缺陷定位1.2.3 借助数据库构造测试场景...
  • SQL FiddleDB Fiddledb<...这些网站可以帮助我们快速运行一些 SQL 语句的测试或者验证,同时还可以在网络上进行分享,关键不需要自己安装数据库。SQL FiddleSQL Fiddle 提供了 MySQL、Oracle、PostgreS...
  • 数据库测试必须重点关注的16个测试点
  • 这两天要开始做个东西了,才发现我的操作系统竟然出问题了,IIS无法连接上数据库老是提示出来这样的提示:Microsoft OLE DB Provider for ODBCDrivers 错误 '80004005'[Microsoft][ODBC Microsoft AccessDriver]常见...
  • Python操作数据库完成接口测试

    千次阅读 多人点赞 2021-08-23 15:37:55
    数据库的操作在测试工作中也是经常使用的,通过一些一些工具来操作数据库的方法大家都应该了解,那么Python操作数据库的大家了解吗? 今天测试君通过本篇文章介绍下如何通过Python来操作mysql数据库。 pymysql ...
  • 压力测试是每一个数据库上线之前都需要做的一个测试,压力测试可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。本文介绍压力测试工具...
  • 接口测试 接口测试指的是单个接口进行测试,包括接口是否正常响应,与生成测试用例等,目的是为了确认接口能否正常访问,提前...这一步骤在一整套流程测试之后还需要登录数据库对数据表进行查询验证,多个流程对应
  • 所以测试根本没有数据库权限,你别说想看数据了,可能你要连接数据库的那个权限都需要领导层层申请。 当时设计的自动化测试框架比较简单,只是自动校验json格式是否正确。 所以,你看到了,团队不允许,你就不能...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 372,216
精华内容 148,886
关键字:

数据库对测试的帮助