自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(526)
  • 收藏
  • 关注

原创 干货 | 软件度量的概念和目的

软件度量是通过量化指标对软件开发过程、产品和资源进行持续测量和分析的方法。其目的是提高软件生产率、产品质量和用户满意度,并为改进提供依据。度量分为四大类:规模(如文档页数、代码量)、工作量(各阶段人时数)、进度(起止时间)和缺陷(各阶段缺陷数)。基于这些基础数据可分析缺陷密度、生产率等衍生指标。软件度量能帮助理解、预测、评估和改进开发过程,是确保项目成功的关键工具。

2025-09-15 15:42:23 445

原创 WEB端UI测试相关工具介绍

本文介绍了WEB端UI自动化测试工具及其特点。主要工具包括:1)UTF(原QTP+ST),支持录制回放和多种识别模式;2)Robot Framework,基于Python的可扩展框架;3)Selenium,最广泛使用的开源Web测试套件,支持多平台、多浏览器和多种编程语言。重点阐述了Selenium的三大优势:执行速度快、测试准确性高、结果透明度好,并详细说明了其功能特性,如支持并行测试、与多种框架集成等。文章旨在帮助测试人员了解主流UI自动化测试工具的特点与优势。

2025-09-15 15:11:21 624

原创 Loadrunner录制或回放脚本时出现乱码怎么办?

摘要:LoadRunner脚本录制/回放时出现乱码可通过三种方式解决:1)在Recording Options中启用UTF-8支持;2)统一服务器与本地字符编码(如gb2312);3)运行时设置启用UTF-8转换或使用lr_convert_string_encoding函数转码。字符编码方面,UTF-8是国际通用多字节编码(英文1字节/中文3字节),GBK是国家标准双字节编码,二者需通过Unicode转换。建议保持测试环境编码一致性,并关注浏览器编码设置(推荐UTF-8)。

2025-09-15 14:45:00 297

原创 常见的PythonGUI必备自动化测试工具

本文介绍了三种Python GUI自动化测试工具:pywinauto(Windows GUI自动化)、Pywin32(访问Windows API)和pyautogui(跨平台鼠标键盘控制)。分别展示了各工具的安装方法、核心功能及代码示例,包括操作记事本窗口、模拟键盘输入和图像识别点击等功能。这些工具可以帮助开发者实现Python程序的可视化界面交互和自动化测试。

2025-09-12 11:43:20 288

原创 干货——App测试常用的两种工具

文章摘要:DDMS(Dalvik调试监控服务)是Android开发中的重要调试工具,提供设备截屏、进程监控、日志查看等功能,通过8700端口与设备通信。Monkey是Android压力测试工具,通过模拟用户随机操作来检测应用稳定性,基本语法为"adbshell monkey [options]"。两种工具分别用于调试和压力测试,是Android开发测试的实用工具。

2025-09-12 11:30:31 332

原创 用Python实现Monkey自动化测试

本文介绍了如何使用ADB命令对华为相机APP进行Monkey测试。主要内容包括:1)通过adb devices获取测试设备;2)执行1000次随机事件的monkey测试命令;3)杀死后台测试程序的adb命令;4)通过Python脚本配置测试参数(设备ID、包名、测试次数);5)封装monkey测试和清理后台的方法。文章最后提供了完整的脚本示例,展示了如何实现自动化monkey测试流程,包括参数输入、后台清理和执行测试。

2025-09-11 14:58:04 268

原创 Tomcat日志乱码了怎么处理?

Tomcat日志乱码解决三法:1)修改logging.properties文件中5处编码为GBK;2)在IDEA配置添加-Dfile.encoding=UTF-8;3)全面设置:修改Tomcat VM参数、IDEA安装目录配置文件及全局编码为UTF-8。三种方案均需重启生效,适用于控制台、本地日志等不同场景的乱码问题。建议逐项尝试,确保编码统一。

2025-09-11 14:08:12 347

原创 Oracle 数据库基础小白入门篇

本文介绍了Oracle数据库的基本概念,包括数据库定义、常见数据库类型、DBMS系统功能等。详细讲解了关系型数据库的特点和SQL语言分类,重点说明Oracle数据库作为第一个支持SQL的商业数据库的特点和优势。文章还提供了Oracle用户创建和管理的具体操作步骤,包括表空间创建、用户权限分配、表格创建等关键操作,并对比了Oracle与MySQL在数据提交方式上的差异。最后提及了用户停用/启用和密码修改等日常管理操作。

2025-09-10 15:55:18 777

原创 一个完整的Web安全渗透测试流程

获得授权分析渗透测试过程中可能产生的风险,如大量测试数据的处理、影响正常业务开展、服务器发生异常的应急、数据备份和恢复、测试人力物力成本...由测试方书写实施方案初稿并提交给客户(or本公司内部领导)进行审核。我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等。获取内部信息:基础设施(网络连接,vpn,路由,拓扑等)。整理渗透工具:整理渗透过程中用到的代码,poc,exp等。

2025-09-10 15:31:51 424

原创 Oracle常用的三大类函数详解

Oracle数据库提供了丰富的函数功能,主要分为单行函数、聚合函数和分组函数三类。单行函数包括日期处理函数(如SYSDATE、ADD_MONTHS、MONTHS_BETWEEN等)和格式转换函数(TO_CHAR、TO_DATE)。聚合函数包含COUNT、MAX、MIN、SUM、AVG等统计功能。分组函数GROUP BY和HAVING用于数据分组和筛选。文章还介绍了行转列等实用技巧,并提供了多个SQL示例说明函数使用方法。这些函数大大增强了SQL的数据处理能力。

2025-09-09 14:50:37 550

原创 性能测试中负载、压力、并发之间的区别

【摘要】负载测试通过逐步增加系统压力,测出性能指标临界值;并发测试则关注系统并发处理能力,通过公式计算用户峰值;压力测试是极限施压测试系统崩溃点。三者从不同角度评估系统性能:负载测试找性能拐点,并发测试查并发问题,压力测试测系统极限。文中还给出了并发用户数的具体计算方法示例,帮助理解如何量化评估系统承载能力。

2025-09-09 14:15:28 521

原创 Monkey日志分析及内存泄露方法

本文介绍了Monkey日志分析的方法:1)通过搜索"ANR"排查程序无响应问题;2)搜索"Exception"分析崩溃问题;3)检查内存泄漏,可通过OOM提示或GC日志关键词(GC_FOR_ALLOC/GC_EXPLICIT/GC_CONCURRENT/GC_BEFORE_OOM)判断。发现内存泄漏时,可使用hprof参数生成内存快照,通过MAT工具分析报告。文中还提供了完整的Monkey测试命令和文件转换方法。

2025-09-09 11:52:53 627

原创 性能测试中如何设置并发数?

摘要:性能测试中并发用户数设置需区分在线用户数(10%原则)和TPS(事务/秒)。评估TPS可通过高峰业务量计算,新系统需预判业务趋势。建议梯度施压,大型系统5000并发、中小系统1000并发即可。测试需标准化流程,避免直接高并发导致无效结果。

2025-09-08 15:42:04 386

原创 Oracle数据库简单查询语句的方法

本文介绍了SQL查询的基本操作和使用技巧,包括表创建、查询语句顺序、算术运算处理NULL值(NVL函数)、字符串拼接(||运算符)、列别名设置、DISTINCT去重、WHERE条件查询(比较运算符、BETWEEN...AND、IS NULL判断)以及逻辑运算符(AND/OR/NOT)的使用方法。文章通过具体示例展示了如何执行基础SQL查询操作,并提示后续将继续分享测试相关知识。

2025-09-08 14:03:19 298

原创 Oracle 数据库高级查询语句方法

本文介绍了SQL中的多表连接查询方法。主要内容包括:1)等值连接,通过emp.deptno=dept.deptno条件关联两个表;2)内连接(INNER JOIN)与等值查询结果相同;3)外连接,包括左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)和全连接(FULL JOIN),其中左外连接以左表数据为准;4)三表联合查询示例;5)Oracle特有的(+)语法;6)使用USING子句的联合查询方法。文章最后提醒读者注意不同数据库的语法差异,建议使用标准SQL语法。

2025-09-08 13:55:01 299

原创 Oracle 数据库:rowid 与 rownum

摘要:文章介绍了Oracle中两个重要的伪列概念。ROWID是数据行的物理地址标识,可用于快速定位和删除重复数据。ROWNUM是结果集的顺序号,可用于实现分页查询等操作。文章通过具体SQL示例演示了如何利用ROWID删除重复记录,以及使用三层查询模板实现分页功能。这些技巧在Oracle数据库操作中具有实用价值。

2025-09-05 16:02:52 302

原创 Oracle 数据库:视图与索引

文章摘要: 视图是建立在表或结果集上的虚拟表,具有简化查询、重用SQL语句、隐藏细节等作用,创建需要特定权限。索引是提高查询速度的手段,适用于唯一性好的字段和大数据量场景。文章介绍了视图创建语法(with readonly选项)和索引管理方法(create/drop index),并强调数据库设计应遵循三范式原则。最后提示将持续更新测试相关知识,鼓励读者关注学习。全文涵盖视图和索引的核心概念及操作要点。

2025-09-05 15:57:21 344

原创 Oracle 数据库使用事务确保数据的安全

事务(Transaction)是数据库操作的基本单元,具有ACID四大特性:原子性、一致性、隔离性和持久性。常见的隔离级别包括read committed和serializable,可解决丢失更新、脏读、不可重复读和幻读等问题。事务在DML操作时自动开启,可通过commit提交或rollback回滚。注意已提交的事务无法撤销。

2025-09-04 15:56:07 473

原创 Oracle 数据库如何查询列

SQL查询基础摘要:SELECT语句用于从表中检索数据,基本语法包含FROM、WHERE、GROUP BY等子句,执行顺序为FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY。查询支持列选择、去重(DISTINCT)、别名(as)和表达式计算。特殊处理包括NULL值判断(IS NULL)、去空函数(NVL)和字符串拼接(||)。伪列可用于构建虚拟数据,dual表用于测试简单表达式。注意字符串使用单引号,别名可使用双引号保留格式。

2025-09-04 15:39:07 463

原创 Oracle 数据库如何查询行

这篇SQL查询教程介绍了常用查询语句和条件操作,包括:1)比较运算符(=,>,<等)和BETWEEN范围查询;2)逻辑运算符AND/OR/NOT;3)NULL值处理要使用IS NULL;4)集合操作(UNION,INTERSECT等);5)模糊查询LIKE和通配符%;6)IN和EXISTS子查询;7)排序ORDER BY和多字段排序。文章通过EMP表实例演示了各种查询语法,适合SQL初学者快速掌握基础查询技巧。

2025-09-03 15:18:11 507

原创 MySQL 查询数据时,如何使用排序?

MySQL数据排序可通过ORDER BY子句实现,支持列名、列编号或列别名作为排序依据。排序方式包括升序(ASC,可省略)和降序(DESC)。单列排序如按年龄升序:ORDER BY sage ASC;多列排序需注意列顺序,如先按性别降序再按年龄降序:ORDER BY 性别 DESC, 年龄 DESC。使用列别名排序时需先定义别名。多列排序结果取决于列顺序,实际操作中需谨慎安排排序优先级。

2025-09-03 15:09:52 441

原创 技术干货|性能监控基石Prometheus(普罗米修斯)核心组件

Prometheus是一个开源的监控系统,具有多维数据模型、灵活查询语言和高效存储等特点。核心组件包括Server(负责数据采集、存储和查询)、Exporters(暴露监控数据端点)、AlertManager(告警处理中心)和PushGateway(网络中转)。支持服务发现机制,可动态更新监控目标,并兼容多种可视化工具如Grafana。广泛应用于开发运维领域,已成为企业招聘的重要技能要求。

2025-09-02 15:39:40 976

原创 技术干货|Prometheus(普罗米修斯)自定义查询语言PromQL

Prometheus自定义查询语言PromQL解析 本文深入解析Prometheus的核心查询语言PromQL。PromQL支持丰富的运算符和内置函数,可对监控样本数据进行统计分析。文章首先介绍了Prometheus的数据模型,包括指标名称、标签和时间序列等基本概念。然后详细讲解了四种指标类型:Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)和Summary(摘要),分别说明它们的特点和适用场景。其中特别对比了Histogram和Summary在数据分布分析上的异同,包括分位数计

2025-09-02 15:24:35 996

原创 技术干货|Prometheus(普罗米修斯)之PromQL完全解释

PromQL是Prometheus的核心查询语言,用于处理时间序列数据。它支持多种查询方式,包括瞬时查询(返回最新值)和范围查询(返回指定时间段数据),并可通过标签进行精确或正则匹配过滤。PromQL还提供时间位移操作(offset)和丰富的数据聚合功能,支持对多维度数据进行统计计算。查询结果可以是标量、字符串或时间序列数据。合法的PromQL表达式必须包含指标名称或有效的标签过滤器。掌握PromQL是使用Prometheus进行监控的基础,能够实现数据查询、可视化和告警等核心功能。

2025-09-02 15:15:31 1006

原创 技术干货|Prometheus(普罗米修斯)PromQL查询语言之操作符

PromQL提供了丰富的运算符功能,包括数学运算、布尔运算和集合运算,支持对时间序列数据进行灵活处理和过滤。数学运算符支持单位换算和向量间的计算,布尔运算符可以基于样本值进行过滤,而集合运算符能在多个向量间执行逻辑操作。此外,PromQL还提供匹配模式控制和优先级规则,使用on/ignoring和group_left/group_right修饰符可调整标签匹配行为。这些功能使PromQL能够高效处理复杂的监控数据分析需求。

2025-09-01 15:48:20 789

原创 技术干货|Prometheus PromQL查询语言之聚合操作&内置函数

Prometheus提供了丰富的内置聚合操作符和函数用于处理监控数据。常用聚合操作包括sum、avg、count等,支持参数化操作如topk、bottomk。针对Counter指标,rate()和irate()函数可计算增长率,其中irate()灵敏度更高;predict_linear()可预测Gauge指标变化趋势;histogram_quantile()用于计算Histogram类型的分位数。此外,label_replace和label_join函数支持动态标签替换,增强数据可读性。这些功能为监控数据分

2025-09-01 15:23:55 974

原创 技术干货|Prometheus 在HTTP API中使用PromQL

Prometheus提供了稳定的HTTP API接口(/api/v1),支持JSON格式的响应。成功调用返回2xx状态码,失败则可能返回404、422或503错误。API包含瞬时数据查询(/query)和区间数据查询(/query_range)两种端点,分别获取特定时间点或时间范围内的PromQL计算结果。响应数据类型包括瞬时向量(vector)、区间向量(matrix)、标量(scalar)和字符串(string),并通过resultType字段标识。查询参数包括PromQL表达式、时间戳、时间范围、步长

2025-09-01 14:39:14 641

原创 技术干货|Prometheus监控4个黄金指标和USE方法

文章摘要:Prometheus监控系统推荐采用"4个黄金指标"(延迟、流量、错误、饱和度)和RED方法(请求速率、错误数、耗时)来构建监控体系。其中延迟需区分成功/失败请求,流量衡量系统容量,错误包括显性和隐性故障,饱和度关注关键资源状态。USE方法则从资源使用率、饱和度和错误三个维度分析系统性能问题。这些方法论特别适合云原生和微服务架构,能有效发现问题和定位故障根源。

2025-08-29 15:15:54 778

原创 技术干货|Prometheus告警及告警规则

本文介绍了Prometheus的告警处理机制,主要分为告警规则定义和Alertmanager告警处理两部分。详细讲解了告警规则的组成要素(名称、PromQL表达式、持续时间等)以及如何通过YAML文件定义告警规则。重点阐述了Alertmanager的三个核心特性:分组(合并相关告警)、抑制(避免重复告警)和静默(临时屏蔽告警)。文章还提供了具体的告警规则配置示例,包括CPU和内存监控告警的实现方法,并演示了从告警触发到状态变化(Pending到Firing)的全过程。最后指出后续将介绍如何通过Alertma

2025-08-29 14:54:27 1012

原创 技术干货|Prometheus部署Alertmanager

本文介绍了如何部署Alertmanager告警处理系统,实现Prometheus告警通知功能。主要内容包括:1. 通过二进制包方式安装Alertmanager;2. 配置alertmanager.yml文件,设置路由规则和接收器;3. 启动Alertmanager并查看运行状态(默认9093端口);4. 在Prometheus中关联Alertmanager,验证告警接收功能。文章提供了详细的操作步骤和配置示例,帮助读者完成Alertmanager的部署,并预告后续将深入讲解告警处理机制。

2025-08-28 16:13:29 577

原创 技术干货|Prometheus之Alertmanager路由配置

摘要:Alertmanager通过树状路由结构处理Prometheus告警,主要配置包括全局参数、告警路由、接收人等。路由基于标签匹配规则,支持字符串和正则表达式两种匹配方式,可定义分组规则和通知间隔。告警会从顶级路由开始匹配,通过continue参数控制是否继续匹配子节点。通过合理配置group_by、group_wait等参数,可以实现告警分组和抑制,减少冗余通知。配置示例展示了如何根据不同服务(如数据库、前端)设置特定的接收人和分组策略。

2025-08-28 16:08:42 796

原创 技术干货|Prometheus定义告警模板&告警通知&性能优化

Alertmanager支持自定义告警模板,既可直接在配置中使用模板字符串,也可通过外部模板文件实现复用。它还提供了抑制机制和静默规则来控制告警通知行为,抑制机制能避免重复告警,静默规则可临时屏蔽特定告警。此外,Prometheus的Recording Rules功能可优化复杂查询性能,通过后台预计算将结果保存为新指标,提升查询效率。这些机制共同增强了告警管理的灵活性和系统性能。

2025-08-27 14:20:19 959

原创 技术干货|Prometheus之Console Template创建可视化监控平台实例

Prometheus通过ConsoleTemplate功能实现查询结果持久化和监控指标可视化。用户可使用Go模板语言自定义控制台界面,默认组件存储在console_libraries目录中。文章演示了如何创建基础页面、定制导航菜单、使用PromConsole.Graph()函数绘制监控图表,以及添加时间轴控件。关键步骤包括:修改navbar组件、在HTML中插入图表容器、配置查询表达式参数等。该方案无需额外开发,直接利用内置功能即可构建个性化的监控仪表盘。

2025-08-27 13:49:06 690

原创 技术干货|Grafana及Graph面板全解释

例如,当需要查看主机CPU、内存使用率的随时间变化的情况时,可以使用Graph面板。Graph面板通过折线图或者柱状图的形式,能够展示监控样本数据在一段时间内的变化趋势,因此其天生适合Prometheus中的Counter和Gauge类型的监控指标的可视化,对于Histogram类型的指标也可以支持,不过可视化效果不如Heatmap Panel来的直观。由于当前使用的PromQL的数据范围为0~1表示CPU的使用率,为了能够更有效的表达出度量单位的概念,我们需要对Graph图表的坐标轴显示进行优化。

2025-08-26 15:31:06 606

原创 技术干货|Grafana分布统计Heatmap面板全解释

Grafana的Heatmap面板为监控数据可视化提供了新选择。在v5.1版本强化Prometheus支持后,该面板能直观展示样本分布情况:对于Histogram类型指标,自动识别le标签计算各区间样本数,用颜色深浅表示数量大小;对于普通时序数据,则支持自定义线性或对数分布区间。配置时需注意设置正确的数据格式(Heatmap/Timeseries)和Y轴刻度类型。通过合理设置Legend格式和Bucket范围,Heatmap能有效呈现数据分布的离散程度,比传统图表更直观地反映监控指标特征。

2025-08-26 15:18:00 1053

原创 技术干货|Grafana当前状态SingleStat面板全解释

Singlestat面板适用于展示系统当前状态数据而非趋势变化,如服务运行状态、资源使用量等。该面板仅支持单条时间序列数据,通过Options选项可自定义数值显示方式(当前值或平均值)、字体大小、阈值颜色映射等。启用Sparklines可同时显示数据趋势图。对于需要提升可读性的场景(如健康状态0/1),可通过ValueMappings实现数值到文本的映射(含区间映射),甚至使用Emoji表情增强可视化效果。

2025-08-26 15:09:43 486

原创 技术干货|Grafana模板化Dashboard设计实例教程

摘要:本文介绍了在Grafana中使用Dashboard变量解决监控面板配置频繁修改的问题。通过定义变量(如主机名node),用户可动态过滤PromQL查询结果,避免硬编码。主要内容包括:1)变量类型及定义方法;2)使用Query类型变量过滤时间序列;3)通过label_values等函数动态获取变量值;4)利用变量自动生成Panel和Row,实现监控面板的动态更新。这种方法特别适用于监控多主机场景,能显著提升Dashboard的灵活性和可维护性。

2025-08-25 15:38:37 758

原创 技术干货|Docker容器下部署Alertmanager集群监控

本文介绍了在Docker容器中快速部署Alertmanager的方法。首先拉取prom/alertmanager镜像,然后配置告警路由规则、接收器等信息的config.yml文件。最后通过docker run命令启动容器,映射端口9093并挂载配置文件。该方法简单高效,可快速搭建集群监控告警系统,完善Prometheus+Grafana的监控体系。

2025-08-25 15:33:20 301

原创 技术干货|使用Prometheus+Grafana监控MySQL实例详解

本文介绍了如何使用Prometheus+Grafana监控MySQL实例。主要内容包括:1.下载并解压mysqld_exporter;2.配置.my.cnf文件或环境变量;3.创建监控用户并授权;4.启动mysqld_exporter;5.验证监控数据;6.配置Prometheus采集任务;7.在Grafana中导入7362仪表板模板。操作步骤详细,适合需要搭建MySQL监控系统的用户参考。

2025-08-25 15:30:47 282

原创 技术干货|使用Prometheus+Grafana监控Tomcat实例详解

本文介绍如何使用Prometheus+Grafana监控Tomcat实例。首先下载jmx_prometheus_javaagent包,配置config.yaml文件定义监控规则。然后将这两个文件放入Tomcat的bin目录,修改catalina.sh启动文件添加JAVA_OPTS参数。重启Tomcat后,在Prometheus中添加监控目标,最后在Grafana中导入8563模板并修改job名称为tomcat即可完成监控系统搭建。整个过程包括配置采集、数据可视化和模板导入等步骤。

2025-08-22 15:52:58 359

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除