软件测试之bug分析定位技巧

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

1、web前端

  • Web前端就是通常说的网页。互联网公司的前端一般包含如下内容:JavaScript、ActionScript、CSS、HTML(..ML)、Flash、交互式设计、视觉设计

  • web前端测试可能发现的问题——版面设计、交互设计、文字、性能、功能

  • bug定位通用思路:现象-->原因-->验证手段-->结论-->现象

测试bug定位原因归类:

  • 测试环境相关

    • 是否安装了flash及flash的版本——可能导致部分页面显示出问题,目前常用的版本诶flash10

    • 是否开启了浏览器插件——插件可能导致浏览器行为的变化,除非测试要求,否则一律禁用插件

    • 是否开启了安全软件——可能会截包、弹窗拦截、防钓鱼等

  • 浏览器相关

    • 不同浏览器的支持标准——不同内核的浏览器对js及各种标准的支持不同,因此页面解析出来的效果可能不同。IE:trident;Firefox:gecko;Chrome:webkit;Safari:webkit。

    • 浏览器的设置——禁用js;禁用弹窗;禁用cookie等

    • 浏览器cache策略——js,css,图片等都有可能被cache住。ctrl+F5强制刷新请求

    • cookie——跨域,过期

  • 网络相关

    • 是否发出了正确的请求——请求url、参数变量。content数据

    • 是否得到了正确的应答——http的返回值:200-正确;302-对象已移动;304-对象未修改;404-没有找到页面。返回的数据体

    • 是否性能问题——异步请求的数量过多;网速过慢

  • 字符编码相关

    • 页面乱码——百度后端存储基本是使用的GBK编码,前端提交可能是UTF-8编码,后端对于非GBK编码一般采用实体存储。可能出现编码没有转换。转换的时候没有判断半个汉字(转掉了半个汉字导致雪崩)。

    • url错误——url路径中汉字编码使用的是utf-8编码,参数中使用系统默认编码,flash脚本中使用的都是uft-8编码。

  • 安全相关

    • Xss漏洞——输入一些特定字符页面出现错乱或有恶意代码被执行,RD未对特殊字符转义完整

  • 性能相关

    • 图片数量——页面中同一个域的图片的数量控制在16个以下,IE会控制同一个域下图片并行的下载数量

    • 页面抖动——异步请求的数量过多

    • 加载失败——限速情况下,超时

  • bug定位常用工具

    • Firefox——firebug、web developer、live http headers、http fox

    • IE插件——httpwatch

    • 第三方工具——fiddler

    • 慢速网模拟工具——firefox throttle

2、web后端

1.后端包含运行在服务器上的程序,脚本和服务。比如:各种各样的逻辑处理系统,数据存储系统等。
2.后端可能发现的问题——逻辑的,数据的,策略的,接口的,性能的等

测试bug定位原因归类:

  • 数据流相关

    • 上下游模块是否连接正常——模块的ip和端口的配置,白名单黑名单配置,session授权

    • 模块的数据发送接收是否正常——日志是否有滚动,是否显示发送了数据或接收到数据,数据是否完整,跨机房,负载均衡算法(从哪些机器获取到的数据)

    • 非socket的数据传输——共享内存(是否分配,key的配置等),cache(是否创建,脏数据等),数据库(配置,连接,表,触发器,存储过程),文件(大小,访问权限)

    • 模块之间的接口——协议的一致性(mcpack1,mcpack2等),字段的一致性(一个按signed解析,一个按unsigned解析),字段复用

  • 处理逻辑相关

    • 程序的各种配置——功能是否开启/关闭,词表是否加载,各种阈值的配置,超时配置

    • 程序日志——日志级别,交互的流程,处理的流程

    • 各种边界——数据边界(int,long),文件边界(空文件,分文件的边界),时间边界

    • 各种资源癿使用——Cache是否遗留脏数据,并发和死锁

  • 系统和环境相关

    • 系统资源——Cpu,io,句柄,内存,网络状态,数据库状态,数据库连接数

    • 环境资源——程序版本,内核版本,网络(外网)访问权限,系统动态库不一致

  • 程序和代码相关(常用验证手段)

    • 确认问题出现的位置——日志中的代码行,gdb中的代码行,抛出异常显示的代码行

    • 获取当时的运行时信息——Gdb core文件,gdb attach到进程,查看堆栈,查看寄存器,设置breakpoint,watchpoint,查看内部数据

    • 获取程序和系统信息——Strace查看系统调用,系统状态获取(ps,top,/proc/pid/*,vmstat,netstat)

    • 更深入的手段——反汇编,查看寄存器,gdb高级应用

后端测试bug定位

  • 日志查看命令

    • 查看压力——tail -f as.log | grep '^NOTICE' | awk '{print $3}' | uniq -c

    • 排除日志中的特定内容——grep -v 'pattern' as.log

    • 只输出感兴趣的内容——grep -o 'proctime:toal:\d+' as.log;grep -o 'proctime:toal:\d+' as.log | grep -o '\d+ ';grep -o 'proctime:toal:\d+' as.log | grep -o '\d+ ' | sort -n | uniq -c

    • 将wf日志归类——grep -o '\w+.(cpp|h):\d+' as.log.wf | sort | uniq -c

  • gdb常用命令

    • bt——查看堆栈信息

    • print——打印某变量值

    • break——设置断点

    • x/i——翻译当前指令为汇编

    • info thread——查看所有线程,星号*标记的是当前线程

    • thread num——切换到线程号为num的线程

    • set scheduler -locking on——锁定在线程:输入continue命令以后,当前线程继续执行,其它线程不执行

    • set scheduler-locking off——这是默认设置,输入continue命令以后,所有线程都继续执行

3、性能测试

旨在获取系统在特定一种或多种环境下,在不同的外部输入压力(包含极限)的条件下的系统各项指标的测试
常用命令

  • 进程相关——ps,top,/proc/pid/*

  • 系统相关——vmstat,top,iostat,sar,df,lsof

  • 网络相关——netstat

bug定位原因归类

  • 压力工具相关

    • 工具的功能和性能——能否达到预期压力,启劢压力的机器性能,压力工具是否有异常连接关闭,压力工具如何处理异常,长连接短连接,并发的个数

    • 工具运行环境——压力机器的带宽,是否跨机房

  • 被测系统相关

    • 机器性能——系统所在机器性能,机器网络带宽,机器的内存,sd卡,硬盘

    • 系统本身——系统的下游模块的性能,系统的配置,系统的数据量,系统的特点状态(充cache,dump,merge),系统的部署,程序的bug

  • 环境相关

    • 操作系统相关—— 是否和线上一致,内核版本,刷脏页时间,有没有调用directIO

    • 查看系统状态——Ps,top,/proc/pid/*, vmstat,netstat

正确的思路+丰富的业务知识+丰富的技术背景知识+较好的调试和开发能力= 强大的bug定位能力Bug定位的过程是能力提升的过程。Bug定位的过程也是境界提升的过程。

4、写在最后

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1124255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普源数字万用表DM3068与是德科技34461A对比分析

在现代电子测量领域,数字万用表作为基础且关键的测试仪器,广泛应用于研发、生产、维修等多个环节。普源精电(RIGOL)的DM3068与是德科技(Keysight)的34461A是两款在中高端市场中颇具代表性的6位数字万用表&a…

基于单片机控制的音乐盒

第2章 系统硬件设计 2.1单片机内部结构 STC89C52 是一种耗能低、性能高CMOS8位微控制器,它基本都是51内核的种类,是新一代增强型单片机,具有8K在系统可编程Flash存储器,加密性好,抗干扰强。STC89C52具有的可编程的Flas…

计算机网络入门必知:从信号到速率,一张图讲清通信基础!

计算机网络入门必知:从信号到速率,一张图讲清通信基础!在学习计算机网络时,很多同学会被“码元”“波特率”“比特率”这些术语绕晕。其实,只要理解了底层的通信原理,这些概念就会变得清晰又有趣。今天我们…

解读|生产级RAG系统落地的10个经验教训

本文为大家解读Contextual AI 联合创始人兼CEO,也是著名的RAG技术先驱,Douwe Kiela 分享的他在企业级 RAG 系统实施与落地中的十大经验教训 。 解读纯属个人观点,欢迎探讨。 本次分享主要针对企业AI系统转化为商业价值的关键难题:…

一文带你了解最吃香的金融类软件测试(附面试文档)

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、为什么做金融类软件测试举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没…

Amazon CloudWatch 的系统化汇总版

一、CloudWatch 是什么(一句话版) Amazon CloudWatch 是 AWS 的集中式监控服务,用来收集、存储、可视化和告警 AWS 资源的指标和日志。 核心关键词: 集中式(centralized) / 托管(managed&#x…

TH2851阻抗分析仪:材料测试的“一站式”技术利器

在材料研发与性能验证的全流程中,精准、高效的参数表征是关键环节。同惠电子TH2851阻抗分析仪凭借灵活的硬件适配与专业软件支持,成为覆盖多类材料的“一站式”测试方案核心,其在高校、军工、新材料领域的落地案例,正展现出强大的…

2026最新软件测试面试热点问题(含答案+文档)

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 大厂面试热点问题1、测试人员需要何时参加需求分析?如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工作的…

熬走 3 任领导,从运维转行网安:原来不是我没本事,是赛道选错了

凌晨 1 点,我蹲在机房地上接服务器电源线,后背被空调外机吹得发凉。手机里老板的消息还在跳:“客户数据丢了,天亮前恢复不了你就别来了。” 那是我做运维的第 8 年,手里攥着 11K 的薪资条,看着监控屏上闪烁…

基于单片机控制的汽车电动车窗 系统的设计

2.汽车车窗简介 2.1汽车电动车窗的组成与类型 电动车窗就是在汽车上可以使车窗玻璃自动升降的一个设备。电动车窗的最大优点就是在行车过程当中可以方便的开关门窗,减轻了行驶员在操作过程当中的操作难度。过去的电动车窗一般只存在于高档轿车上,但是现阶…

‌高效性能测试场景设计指南

性能测试是软件质量保证的核心环节,旨在评估系统在高负载下的稳定性、响应时间和资源消耗。设计高效场景能显著缩短测试周期、降低Cost,并精准定位瓶颈。本文基于ISTQB等标准框架,结合行业实践,为测试从业者提供一套可落地的设计方…

网络安全渗透面试 10 题(含标准答案):从零基础到精通,一篇收藏全搞定!

干货收藏!网络安全渗透测试面试核心知识点整理,小白也能看懂的面试宝典 本文整理了网络安全渗透测试面试核心知识点,包括前后台渗透思路、getshell方法、WAF绕过技术、路径查找、JWT攻击手法、提权要点、宽字符注入原理、业务逻辑漏洞测试、…

基于STM32的心率检测仪设计与实现

2 气体探测集成模块整体方案设计 2.1 气体探测集成模块概述 气体探测集成模块是利用多种气体传感器配合调整电路,检测出目标气体浓度和空气质量的设备,并能将数据打包发送至上位机,由上位机与远端进行配合处理用于大气数据网络系统中。该模块…

全球网安大神齐聚!第九届 XCTF 总决赛激战启幕,首日解题赛你追我赶燃到炸

收藏学习!XCTF总决赛实战全记录:28支战队教你网络安全攻防技巧 本文报道了2025年10月在宁波举行的第九届XCTF国际网络攻防联赛总决赛,全球28支顶尖战队参与角逐。比赛融合解题赛、Live Solo赛和A&D攻防赛三种赛制,首日比赛已…

是德科技 E4990A 阻抗分析仪:精准测量,赋能多领域应用

是德科技 E4990A 阻抗分析仪是一款高性能、多功能的测试仪器,广泛应用于研发、生产、质控、进货检查等多个领域。凭借其卓越的技术指标和灵活的配置选项,E4990A 不仅满足了复杂研发环境下的高精度需求,也适应了生产线和质检环节对效率与稳定性…

PyFlink 向量化 UDF(Vectorized UDF)Arrow 批传输原理、pandas 标量/聚合函数、配置与内存陷阱、五种写法一网打尽

1. Vectorized UDF 是什么:Arrow 列式批传输 Pandas 计算 向量化 UDF 的执行方式是: 1)Flink 把输入数据按 batch 切分 2)每个 batch 转为 Arrow columnar format 在 JVM 与 Python VM 之间传递 3)Python 侧把 batch …

导师严选8个AI论文工具,专科生轻松搞定毕业论文!

导师严选8个AI论文工具,专科生轻松搞定毕业论文! AI 工具如何成为专科生论文写作的得力助手 在当今数字化快速发展的时代,AI 工具正以前所未有的速度改变着我们的学习和工作方式。对于专科生而言,毕业论文的撰写往往是一项既耗时又…

TCL华星APEX臻图:一个新品牌的诞生与源头探析

在当今高端显示领域,技术与体验的迭代日新月异,一个崭新品牌的亮相往往预示着行业价值导向的深刻变迁。TCL华星APEX臻图,正是这样一个在产业变革关键期应运而生的先进显示技术品牌。它的出现,并非凭空而来,而是根植于深…

渗透测试从入门到精通:小白蜕变白帽黑客的终极学习路线

渗透测试技术,从入门到精通,小白也能成为白帽黑客,最新的学习路线和方法都在这。 安全圈最热的渗透技术怎么学?从入门到精通最完整的学习方法,学完你就是白帽大佬。 首先你要知道渗透测试工程师的主要工作是什么&…

阻抗分析仪脉冲阻抗测量技巧

脉冲阻抗测量是现代电子工程中评估电路板、传输线及高速信号通道性能的重要手段,结合阻抗分析仪进行此类测量,不仅能捕捉瞬态响应特性,还可有效识别信号路径中的阻抗不连续点。为确保测量精度与可靠性,需掌握以下关键技巧。一、合…