分析解决问题的经验

简介: 分析解决问题的经验

1.养成一些好的习惯


1.1 在测试之前要清除控制台日志


1.2 编写好一部分就测试一部分


1.3 我们有的时候会try … catch异常,但是我们一定要记得在catch的时候打印异常e.printStack()



2.出现问题之后怎么去分析


2.1 看日志:找是否有异常日志(但凡能在控制台报错的异常,就一定要会解决)


2.1.1 看浏览器控制台日志


(1). 我们要学会查看浏览器的控制台F12


(2). 看console部分的内容


2.1.2 看idea控制台日志


(1). 首先找这个异常是一个什么Exception,而且我们要总结一些常见的Exception

NullPointException空指针异常: 一定是由于一个空对象调用了方法而导致的,那么你只需要找到是哪个对象为空导致的


NumberFormartException数值转换异常: 那它肯定是因为你将一个无法转成数字的东西转成数字而导致的


ClassCastException类型强转异常: 它肯定是因为你把一个对象转成了它本身不属于的类型;

ClassNotFountException类找不到异常: 引起它的原因是因为类加载器在加载的过程中没有加载到你使用的类,可能是由于你引入jar包出问题了,


还有可能是因为项目环境导致编译出现问题,有的类没有进行编译

FileNotFoundException文件找不到异常: 原因基本上就因为你的文件路径写错了

SqlException数据库操作异常: 肯定是和持久层数据库操作有关,有可能是因为连接池等待超时、SQL语句写错了、配置文件中的用户名、密码、驱动等等信息出错

NoSuchMethodException找不到要调用的方法: 你在使用反射调用方法的时候,没有定义这样的方法


2.2 有一些问题没有报异常怎么办呢?



1.找源头: 找到为什么会出现现在的情况?

2.Debug分析(很重要的技能)

  1. 一定要采用debug模式开启服务器

   2.debug的目的是什么: 让功能运行中途停下来,然后可以一步一步执行,可以在你想让它停的时候就停,然后便于观察每一个对象

 3.  我们想要在哪停下来,就在哪打断点(当代码执行到断点处的时候,断点处这句代码其实还未执行)


4.debug的一些操作:


4.1 执行一行: Step Over 快捷键就是F8


4.2 进入到某个方法(我一般不建议使用): Step into 快捷键就是F7


4.3 退出某一个方法: Step out 快捷键Shift + F8


4.4 继续运行程序: Resume program F10, 让你的程序继续运行它会在遇到下一个断点的时候停下来,如果后面没有断点了就会执行完这个功能

5.debug完之后一定要清除你所打的断点



3.异步请求的功能怎么分析问题

  1. 在浏览器打开F12控制台,找到Networ

 测试发送异步请求:

   2.观察当前这次请求的url、参数是否有问题,然后再观察这次请求的响应数据是否有问题

   3.如果响应数据没有问题,但是页面显示出来的数据有问题(或者页面没有显示数据),问题出现在前端代码

  4. 如果响应的数据有问题,那么后端代码肯定有问题

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
安全 测试技术
面试题2:测试人员何时参与需求分析,并且要分析需求的哪些方面?
面试题2:测试人员何时参与需求分析,并且要分析需求的哪些方面?
面试题2:测试人员何时参与需求分析,并且要分析需求的哪些方面?
|
5月前
|
Kubernetes 架构师 测试技术
软件测试|测试专家(前阿里P8)聊测试职业发展常见瓶颈
软件测试|测试专家(前阿里P8)聊测试职业发展常见瓶颈
57 0
|
前端开发 jenkins 测试技术
自动化测试技术笔记(一):前期调研怎么做
虽然说自动化测试比较偏技术工作,但在开展前,明确你的工作目标和KPI也是不可忽视的一点。并不是说技术优秀就可以拿到好的绩效,企业生存第一法则是先活下来做产出,再考虑锦上添花和技术优化的事。
|
关系型数据库 MySQL 中间件
|
JSON 监控 程序员
程序员必备的分析解决问题能力:案例分享
程序员必备的分析解决问题能力:案例分享
148 0
程序员必备的分析解决问题能力:案例分享
|
供应链 算法 数据挖掘
谈谈预后性分析是预测性分析的有益补充
预测分析是企业展望未来的主要应用方式。市场营销、零售、生产、设备管理、供应链管理以及许多其他应用都显示出预测的价值和力量,可以作为预测未来结果的工具。
谈谈预后性分析是预测性分析的有益补充
|
关系型数据库 MySQL 程序员
教你如何成为解决问题的高手
最近看到很多初级或者准备入坑的小伙伴在问答模块提问问题 ,有的在 QQ 群或者微信群提问题,这个是很多新手程序员都会经历的一个过程,这种事情很正常,主要是自己都不清楚问题是什么或者描述不清楚,别人如何帮你解答呢?
72 0
|
消息中间件 分布式计算 Kubernetes
如何做好测试开发?| 破解测试人技术成长常见的 3 种错误思维!
> 本文为第四范式质量部工程效能负责人,霍格沃兹测试X学社特邀嘉宾山治老师关于测试开发工程师技能成长的精彩分享。进阶学习文末加群。
|
中间件
「技术人生」第3篇:解决问题的规律总结
本文将介绍问题研究背景及解决问题的一般规律和特殊规律及二者之间的辩证关系。
2344 0
「技术人生」第3篇:解决问题的规律总结