2023年12月24日发(作者:收获作文600字)
问题分析方法
编写目的
测试人员可以通过此文档,学习分析环境问题/代码问题/数据问题/数据库表问题,并附加了如何新增服务,配置定时任务的方法。后续每个测试人员都要具备初步分析问题的能力。
适合人员
测试人员、开发人员
基础知识
WEB前端和WEB后端
Web前端:
web前端就是在Web应用中用户可以看得见碰得着的东西。包括Web页面的结构、Web的外观视觉表现以及Web层面的交互实现。
前端文件:
Web后端:
后端更多的是与数据库进行交互以处理相应的业务逻辑,需要考虑的是如何实现功能、数据
的存取、平台的稳定性与性能等。
服务包
业务服务: shop(店铺)、order(订单)、pay(支付)、operation(运营)、appiontment(预约)、coupon_platform(优惠券平台)webapp(商户)、
公共服务:ur(用户)、dictionary(字典)、merchant(商户)、router(路由)、gateway(网关)、message(消息)
基础服务:eureka(服务注册中心)、tx(分布式事务)、cron(定时任务)、fdfs(文件服务)
Eureka
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
eureka简介
Eureka包含两个组件:Eureka Server和Eureka Client。
调用关系说明:
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址给消费者。
4.服务消费者从提供者地址中调用消费者。
注意! 下面的服务端指:注册中心,客户端指:服务提供者和消费者
Eureka Server
提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,包括主机与端口号、服务版本号、通讯协议等。这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka服务端支持集群模式部署,首尾相连形成一个闭环即可,集群中的的不同服务注册中心通过异步模式互相复制各自的状态,这也意味着在给定的时间点每个实例关于所有服务的状态可能存在不一致的现象。
eureka客户端
主要处理服务的注册和发现。客户端服务通过注册和参数配置的方式,嵌入在客户端应用程序的代码中。在应用程序启动时,Eureka客户端向服务注册中心注册自身提供的服务,并周期性的发送心跳来更新它的服务租约。同时,他也能从服务端查询当前注册的服务信息并把它们缓存到本地并周期行的刷新服务状态。
服务调用
服务消费者在获取服务清单后,通过服务名可以获取具体提供服务的实例名和该实例的元数
据信息。因为有这些服务实例的详细信息,所以客户端可以根据自己的需要决定具体调用哪个实例,在Ribbon中会默认采用轮询的方式进行调用,从而实现客户端的负载均衡。
示例:test2环境的eureka地址:10.181.4.213:12906
工具准备
抓包工具:Fiddler
查看日志的工具:CRT或其他类似工具
问题分析
前端问题
问题1:页面样式类等UI问题都属于前端问题
问题2:前端展示数据不正确
问题现象:前端展示数据不正确
问题排查:通过抓包工具,抓包查看接口返回报文,根据返回报文的参数信息,初步排查是
前端问题还是后端问题,如果后端有返回正确数据,但前端显示错误(取值错误),可判断为前端问题,如果后端返回错误参数或者返回空,可判断为后端问题;
后端问题
问题1-后台错误:
问题现象:操作业务时,后台弹出提示:系统开小差了,请联系客服人员;
问题排查:该提示信息比较模糊,判断可能为后端代码问题或配置问题,或者相关服务未启动,按以下思路排查:
1. 确认本地服务是最新的服务,可在docker-images-list里,查看镜像的更新时间;
2. 通过执行命令docker ps -a|grep(非docker环境使用命令:ps -ef|grep 服务名) 服务名字,确认相关服务是否成功启动,是否已经注册到eureka上;
3.确认服务的配置无误(如配置文件里有中文,会导致读取配置时出现乱码情况,加载配置失败);
4.通过CRT等工具查看服务的日志信息,查找报异常的信息(通用关键字:exception);
定位问题时,如果不确定是哪个服务报错,这时需要查找所有依赖服务的日志信息。
问题2-后台错误:
问题现象:操作业务时,弹出比较明确的报错信息(比如加入店铺群聊失败),且稳定复现
问题排查:直接查看后台服务的日志信息,查看异常出现的地方,可通过异常信息,找到报出异常错误的代码,截图发给研发进行排查;
问题原因:研发查看代码后,确认问题为:群聊ID不存在(生产环境的库拷贝到了beta环境,生产的群聊ID为无效ID)
服务配置问题
服务配置文件错误
问题现象:国拍服务启动失败,读取配置文件为jar包里的配置(在eureka里查看应用名称,如果是AUTOCLOUD-GUOPAI-SERVICE-WZ,研发的名字前缀,说明是读取的jar包里的配置文件);
问题原因:由于服务配置缺失或者配置文件里有乱码(通过10.181.4.213:7011/配置文件全称,查看配置中心读取的文件是否显示正常),相关服务启动后,读取配置失败,导致服务未启动成功或者服务启动后,新功能未生效;
日志里报错如下:UnknownHostException:b660a5d9d821
相关服务的配置里缺少:-ip-address=true(将服务的IP注册到Eureka Server上),如果没有这行配置,注册的是服务名称,需要配置解析后才能识别该服务
数据库问题
数据库配置错误
问题现象:商户登录商户中心,输入用户名和密码,点击登录按钮,提示:unknown
exception;
问题原因:查看ur服务的日志信息,发现数据库配置错误,数据库账号和密码配置不正确,导致连接数据库失败,商户在商户端登录失败;
表缺失字段
问题现象:操作C端业务时,页面提示:系统开小差了,请联系客服人员;
问题排查:通过查看日志,日志里显示执行某sql语句失败,日志里明确说明了缺少表信息或者缺少某字段,检查是否有脚本未执行。
主机问题
问题现象:启动服务失败,操作时,页面反应很慢,或者操作过程中,服务挂掉,或者提示:out of memory
问题原因:给服务分配的内存不够用
查看方式:查看内存命令:free -lh
解决方式:联系运维,给服务加大分配的内存
问题现象:往主机上拷贝文件失败或者编译时报错(看编译日志里有空间不够的信息);
问题原因:磁盘空间不够用;
查看方式:查看磁盘空间:df -lh
编译问题
问题现象:Jenkins上编译代码,经常出现前端或后端代码编译失败的情况,构建失败时,构建图标显示为红色。
问题排查:此时可以查看控制台输出日志,在编译脚本的Console Output里,查看运行日志:
在Console Ontput页面,通过Ctrl+F,搜索error字段,查看日志里的错误信息:
该错误信息可截图提供给研发人员进行具体的错误分析。
问题记录
日常工作中,形成良好的习惯,发现问题并解决问题后,及时记录到本地,作为下次遇到问题时的参考。
附加-6个分析方法
SWOT分析法
它是用来确定企业自身的竞争优势、竞争劣势、机会和威胁,从而将公司的战略与公司内部资源、外部环境有机地结合起来的一种科学的分析方法。对于优势和弱势是内部环境的分析,机会和威胁是对于外部环境的分析。这个模型可以用于多种方面,任何和商品,贸易,竞争有关系的都适用,而人也是一种商品。这个模型可以帮助你理清现状。
5w2h分析法
它广泛用于企业管理和技术活动,对于决策和执行性的活动措施也非常有帮助,也有助于弥补考虑问题的疏漏。提出疑问于发现问题和解决问题是极其重要的。创造力高的人,都具有善于提问题的能力,众所周知。提出一个好的问题,就意味着问题解决了一半。提问题的技巧高,可以发挥人的想象力。连续以几个“为什么”来自问,以追求其根本原因。很多问题都是系统性的,是牵一发而动全身,真正影响大局的不是表面的问题,这种方式可以找到问题根源。选定的项目、工序或操作,都可以从这几个方面去思考。
鱼骨图分析法
又名因果分析法,是一种发现问题“根本原因”的分析方法,现代工商管理教育如MBA、EMBA等将其划分为问题型、原因型及对策型鱼骨分析等几类先进技术分析。问题的特性总是受到一些因素的影响,通过头脑风暴找出这些因素,并将它们与特性值一起,按相互关联性整理而成的层次分明、条理清楚,因其形状如鱼骨,所以叫鱼骨图。鱼骨图原本用于质量管理。
6顶思考帽法
它提供了“平行思维”的工具,避免将时间浪费在互相争执上。强调的是“能够成为什么”,而非 “本身是什么”,是寻求一条向前发展的路,而不是争论谁对谁错。运用德博诺的六顶思考帽,将会使混乱的思考变得更清晰,使团体中无意义的争论变成集思广益的创造,使每个人变得富有创造性。但人不能同时戴2顶帽子,所以采用这种方法可以让你好几种情绪中进行平行思考。人的思维是通过提问来引导的,一个人是积极还是消极,取决于他给自己提的问题。同样的下雨天,消极的人在统计因为下雨,给自己带来的损失,积极的人在问自己下雨我可以做哪些有意义的事情。
金字塔原理
金字塔原理是一种重点突出、逻辑清晰、主次分明的逻辑思路、表达方式和规范动作。
金字塔的基本结构是:中心思想明确,结论先行,以上统下,归类分组,逻辑递进。先重要后次要,先全局后细节,先结论后原因,先结果后过程。
金字塔训练表达者:关注、挖掘受众的意图、需求、利益点、关注点、兴趣点和兴奋点,想清内容说什么、怎么说,掌握表达的标准结构、规范动作。
金字塔帮助达到沟通目的:重点突出,思路清晰,主次分明,让受众有兴趣、能理解、能接受、记得住。
搭建金字塔的具体做法是:自上而下表达,自下而上思考,纵向疑问回答/总结概括,横向归类分组/演绎归纳,序言讲故事,标题提炼思想精华。
麦肯锡7步分析法
善于解决问题的能力通常是缜密而系统化思维的产物,任何一个有才之士都能获得这种能力。有序的思维工作方式并不会扼杀灵感及创造力,反而会助长灵感及创造力的产生。咨询公司解决问题的方法,不仅对于解决企业问题非常有效,对于解决任何需要深入思考的复杂问题都值得借鉴。随便举几个例子,为什么政府要遏制房价上涨?怎样获得升职?成立市场部应该如何规划?这些问题,都可以通过麦肯锡七步成诗法进行分析,得出较科学的结论。
思维导图
它是一种将放射性思考具体化的方法。我们知道放射性思考是人类大脑的自然思考方式,每一种进入大脑的资料,不论是感觉、记忆或是想法——包括文字、数字、符码、香气、食物、线条、颜色、意象、节奏、音符等,都可以成为一个思考中心,并由此中心向外发散出成千上万的关节点,每一个关节点代表与中心主题的一个连结,而每一个连结又可以成为另一个中心主题,再向外发散出成千上万的关节点,呈现出放射性立体结构,而这些关节的连结可以视为您的记忆,也就是您的个人数据库。
附加-费曼学习法
第一步:选择目标
选择目标的选择很简单,就是确定你要学什么,或要干什么。在这里比如学习一门技术、学习一个科学领域、学习一门语言、学习一个概念等,都可以称作目标。
但如果想制定非常棒的目标,还可以学习一下SMART原则:Specific具体、Measurable可测量、Attainable可实现、Relevant相关性、Time—bad时效性。也就是说计划要具体、可测量、坚持即可实现、对你有意义并且要在一定的期限内完成。
第二步:教学
创造一个场景,在这个场景中将自己学到的知识讲授给“别人”。在这个过程中会遇到很多问题,比如说不清楚,讲不明白,自己也模棱两可等,那就说明这些知识点并没有熟练掌握。尝试教授和发现薄弱点就是这一步的重点。
有朋友可能说,没有人可教授怎么办?其实,这里的教学是统称,具体可因地制宜的创造出许多场景。如果能真实的一对一或一对多的教授那再好不过了。如果没办这样,可以通过写作、录制教学视频、对着手机录音、实践等方式来进行演变。
日常中很常见的一个场景就是,在你学习一个新知识时,你感觉自己已经看懂了,但是去使用、去说、或去写出来的时候发现完全没有思路。这就是知识掌握薄弱的表现。
第三步:纠错学习
在第二步中遇到了问题,那么就需要进入第三步——纠错学习。无论是在教授的过程中说错的、说不清楚的、模棱两可的都需要在这一步中进行强化。反复查询资料、学习、强化记忆,然后再重复第二步进行验证,直到可以顺利的教授相应的知识。
第二步和第三步的结合有别于传统的题海战术,题海战术之所以效果不好,是因为大多数人大多数情况下只是在做自己会做的,而忽略了不会的内容,也就是“用低廉的勤奋代替高质量的思考”。
第四步:简化
这一步是对上面学习的内容进行提炼、简化,去掉非必要的,多余的信息,并且能够用自己的语言通俗易懂的表达出来,而不是照本宣科。
其实这一步骤还有一个重点,就是简化到可以通过类比,让一个非专业人士都能听懂。此时,你就真正掌握了这门学习方法。
最重要的是实践和归纳总结!
本文发布于:2023-12-24 04:42:43,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1703364164243198.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:前端、后端问题分析方法.doc
本文 PDF 下载地址:前端、后端问题分析方法.pdf
留言与评论(共有 0 条评论) |