背景:
在测试过程中,我们需要频繁地检查多个表的数据准确性。由于不同的业务场景涉及不同的数据表,这个过程不仅容易导致数据误读或遗漏,还可能因为耗时而分散我们的注意力,降低测试效率。
数据查询繁琐: 业务的不同模块往往要求我们查询多个相关的数据表。仅依靠传统的数据查询工具进行这项工作既繁琐又不够直观,难以快速捕捉到关键信息。
易出错: 面对大量数据时,手动查找很容易发生误读或遗漏,增加了测试中的错误率。
效率低: 手动查询和比对数据消耗的时间和精力,降低了测试的整体效率。
为了应对上述挑战,做一款专用工具,为在帮助我们在各种场景下全局掌握订单状态,或者自定义需要查询的特定场景。这款工具简化了多表查询的过程,让数据呈现更加直观,从而显著提升了测试效率和专注度。
提高准确性: 工具通过自动化查询,减少了人为错误的可能性,确保数据的一致性和准确性。
提升效率: 通过一键式查询和直观的数据展示,大大缩短了查找和分析数据所需的时间,使测试人员能够更专注于业务逻辑验证。
增强可定制性: 用户可以根据具体需求自定义查询场景,使得工具更加贴合实际工作流程,提高了灵活性。
工具:
----------------------------------------------------------------
PyQt5 是一个 Python 库,用于构建 GUI 应用程序。首先确保你的环境中已安装 Python,然后可以通过 pip 安装 PyQt5 和其他依赖项:
pip install pyqt5pip install pymysql
此工具是一个基于 PyQt5 构建的图形用户界面应用程序,旨在提高数据分析和查询效率。输入订单ID或自定义条件,并根据预设的查询逻辑从多个数据库表中获取数据。通过将数据集中展示在一个界面上,可以快速地分析数据,帮助工作提高效率。
特点 :
自定义表与字段 : 用户可以根据需要选择不同的业务场景表,并定义要展示的字段。
灵活的窗口配置 : 用户可以设置窗口大小和布局,以便更高效地查看数据。
多表查询 : 支持同时查询多个相关表,并在界面上展示结果。
环境选择 : 用户可以选择不同的环境来进行查询,如集群号选择测试环境。
启动应用 :
- 终端或pycharm运行文件程序即可。
输入查询条件 :
- 自定义查询目标值,输出订单号/标的/用户UID/自定义。
选择环境 :
- 使用下拉菜单选择查询的环境,例如 “95-资金平台-测试环境A(k8s)-10.90.78.69”。
执行查询 :
- 点击“查询”按钮开始查询。
查询完成后,每个相关的数据库表的结果将在各自的表格中显示出来。
表格将按照预先设定的布局自动调整高度。
1. 查看结果 :
- - 每个表格都包含了相关的字段信息,例如订单状态、事件类型等。
可以通过滚动查看每张表的内容。
tables 字典用于定义要展示的表及其字段。这是一个关键配置,决定了应用程序查询哪些表以及如何显示数据。
示例 :
tables={"fund_lend.t_event":{"columns":["FuiFundId","FuiEventId","FstrEventType","FstrEventStatus","RIGHT(FstrRemark, 15) as FstrRemark","FuiDealCount"],"query_keyword":"FstrLoanOrderId","full_row":True,"height":250},"fund_lend.t_loan_order":{"columns":["FuiStatus","FuiBorrowerId","FuiProductId","FuiLoanAmount","FuiRepayCardId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":80},"fund_lend.t_credit_order":{"columns":["FuiOrderStatus as OrderStatus","FuiQuotaStatus as QuotaStatus","FuiMatchRuleHandleId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":80},"fund_lend.t_credit_audit_order":{"columns":["FuiOrderStatus as OrderStatus","FuiQuotaStatus as QuotaStatus","FuiFundId","FuiLoanId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":120},"fund_lend.t_credit_audit_record":{"columns":["FuiFundId","FstrAPIType","FstrAPIResult"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":120},"fund_lend.t_lending_order":{"columns":["FuiOrderStatus","FuiFundId","FstrLoanOrderId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":None},"fund_lend.t_credit_failure_reason":{"columns":["FuiFundId","FstrFundProjectId as ProjectId","FstrCommentInfo","FstrMatchOrderId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":None},}
属性解释 :
1、columns :
表示查询时返回的字段列表。字段名可以使用 SQL 的函数(如 RIGHT() )进行修改。
示例: "columns": ["FuiFundId", "FuiEventId", "FstrEventType"]
利用sql重命名显示字段:
示例: RIGHT(FstrRemark, 15) as FstrRemark,最终展示 “FstrRemark”
2、query_keyword :
表示用于连接查询的关键字,通常为订单ID字段,也可以自定义标的等。
示例: "query_keyword": "FstrLoanOrderId"
3、full_row :
- 指定是否应该为该表分配整个行的高度。
True : 表格占据整个行的高度。
False : 表格与其他表格共享行高度,但做多一行2个表展示。
示例: "full_row": True
4、height :
指定表格的固定高度。
如果 height 为 None ,则会根据剩余空间平均分配高度。
示例: "height": 250 (注意:总行高不能超过窗口总高)
五、tool_info、env_choose 及 tool_size 变量
1、tool_info:
一个列表,包含两个字符串元素:
第一个字符串 "订单查询工具":代表GUI工具的名称。
第二个字符串 "订单:":代表在GUI中输入订单号时的提示文字。
2、env_choose:
一个字典,包含两个键值对:
"defalt_cle":代表默认选择的环境集群号。
"only_show_cle_name":代表列表内填入团队代码,其中包含只显示当前项目的数据库信息,["kefu","loan","risk","shared","fundhub","fundplat","collection","creditcore"],如果不填展示所有。
3、tool_size:
一个列表,包含两个整数元素:
第一个整数 800:代表GUI窗口的宽度。
第二个整数 750:代表GUI窗口的高度。
假设有一个订单ID 342566425099174219 需要查询。
输入订单ID :
- 输入 342566425099174219 到订单文本框。
选择环境 :
- 选择 “12-资金平台-测试专用A-10.80.77.125”。
执行查询 :
- 点击“查询”按钮。
此时界面上将显示来自各个表的数据,例如 t_event , t_loan_order 等。
快速定位问题 :
- 当查看关于订单的问题时,能够迅速查找订单状态及相关信息。
例如,要看订单在借款哪一步,可通过此工具看见订单状态和订单的其他关键信息。
监控订单流程 :
- 可以实时查看订单在系统中的处理情况,帮助监控业务流程。
例如,通过 t_event 表可以跟踪订单的状态变更历史。
数据分析 :
- 快速收集数据进行分析,比如订单的处理时间、成功率等指标。
例如,可以统计 t_lending_order 表中的订单完成率。
此工具通过集成多个数据表查询功能,简化了数据获取的过程,大大提高了工作效率。
对测试人员来说,在工作中不仅提升查询速度,还减少了信息获取出错的可能性。
通过定制化的界面和查询逻辑,可以更加专注于业务本身,而不是数据收集过程,提高测试专注度。
网友评论