功能测试之"点点点"如何巧妙的获取页面查询sql

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 检查测试环境的日志中是否会打印查询sql,这个受开发的架构设计以及日志输出级别等配置的影响,查看部署包的日志文件输出到了哪,然后再页面进行相应的操作,同时检查log文件里面是否有打印相关的sql。

作为一名测试人员,面试造火箭,进去拧螺丝 这句话是不是经常听到呢, 是不是在大家眼里,功能测试就是完全没有任何技术含量,完全学不到东西呢?在这里,小编并不这么认为。接下来为大家分享一下测试过程中学会的一个小技巧。


假设让你去验证某个页面的数据是否正确 ,那你是不是需要知道数据存储在哪些表里面,要了解页面的明细都是从哪里查出来的,有没有包含什么过滤条件之类的,如果每次都去问开发的话 ,问多了会不会让人觉得很烦? 不妨尝试一下下面的这种方法:


1、检查测试环境的日志中是否会打印查询sql,这个受开发的架构设计以及日志输出级别等配置的影响

查看部署包的日志文件输出到了哪,然后再页面进行相应的操作,同时检查log文件里面是否有打印相关的sql。


微信图片_20220113214509.png


看上面这张图,可以看到 有日志打印出来,只是打印出来的sql中会包含? 这种占位符,需要自己用具体的参数去替换之后,才能看到完整的sql,接下来可以利用IDEA的一个插件去查看完整sql


2、下载IDEA工具,安装好之后,安装Mybatis Log插件,然后在页面右下角会有一个Mybatis Log的入口:



微信图片_20220113214512.png


3、日志中一般会在接口名后面加上 ==>  Preparing,打印查询sql,加上==> Parameters标识当前的查询条件参数。需要将PreparingParameters的内容一起复制出来放到插件里面进行转换。

可以用类似的命令去查看log
tail -f xxx.log 
tail -f xxx.log | grep -C 100 '==>  Preparing:'

微信图片_20220113214514.png


以上的操作你学会了吗?赶紧到工作中去试一下吧,再也不用一个个去问开发这个sql怎么来的了。

如果想要练习的小伙伴,可以去gitee上找开源的项目自己在本地搭建一下,然后看看是否会有这样的效果喔,这个是我在工作中学会的一个小技巧,正好在gitee上也看到了一个开源网站{https://gitee.com/qiankunpingtai/erpUp}可以用来练习一下,感兴趣的可以自己试一下,部署在本地玩玩,部署有问题的可以私聊我。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
14天前
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
|
25天前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
82 10
|
19天前
|
SQL 关系型数据库 MySQL
|
2月前
|
SQL 数据库 开发者
功能发布-自定义SQL查询
本期主要为大家介绍ClkLog九月上线的新功能-自定义SQL查询。
|
2月前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
2月前
|
SQL Java 数据库连接
如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
【10月更文挑战第6天】在代码与逻辑交织的世界中,我从一名数据库新手出发,通过不断探索与实践,最终成为熟练掌握JDBC的开发者。这段旅程充满挑战与惊喜,从建立数据库连接到执行SQL语句,再到理解事务管理和批处理等高级功能,每一步都让我对JDBC有了更深的认识。示例代码展示了如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
102 5
|
29天前
|
SQL 关系型数据库 MySQL
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
31 0
|
2月前
|
SQL 数据可视化 BI
SQL语句及查询结果解析:技巧与方法
在数据库管理和数据分析中,SQL语句扮演着至关重要的角色
|
2月前
|
SQL 监控 关系型数据库
使用SQL语句查询操作耗时的技巧与方法
在数据库管理和优化过程中,了解SQL查询操作的耗时是至关重要的
|
2月前
|
SQL
创建分组总计查询的SQL技巧与方法
在SQL中,创建分组总计查询(也称为聚合查询)是一项非常基础且重要的技能