「测试线排查的一些经验-上篇」&& 后端工程师

文章目录

一般产品研发过程所使用的环境可分为:

  • 研发环境-dev
  • 测试环境-test
  • 生产环境-prod

软件开发中,完整测试环境包括:UT、IT、ST、UAT
UT = Unit Test 单元测试
IT = System Integration Test 集成测试
ST = System Test 系统测试
UAT = User Acceptance Test 用户接受测试(俗称:验收测试)

具体还要看公司业务情况,业务体态大的公司还会有新增的环境env。在研发环境-dev 中,也就是在程序员自己电脑上coding一下,用到的环境也就是我们说的本地环境,比如localhost。测试环境-dev 的话通常在测试线展开,公司会单独起一个干净的服务器环境,用于程序员在本地打包jar后发到测试环境测试使用,前后端联调的时候也会用这个环境。生产环境-prod也就是最接近真实的环境,通常就会面向用户或者客户的系统环境,在调试项目的时候,通常会在这个环境不断发版调试,让系统更完善,让系统朝着更能让用户、客户满意的方向进行修改。

端口占用

  • 一个jar包启动很容易失败,端口被占用是很常见的情况,有可能是当前这个启动的jar包直接占用了端口,有可能是这个服务内部服务占用了端口,这个时候就涉及到需要去查询端口占用情况,以最常见的80端口为例:

    shell 复制代码
    netstat -tunlp | grep 8080

    我们在查询以后可以得到一个结果:

    表明有一个java程序,进程号为15749,我们可以通过这个进程号杀掉当前java服务,方便我们启动当前的jar程序。

    杀掉它可以通过:

    shell 复制代码
    kill -9 15749

    这里的9参数表示:强制杀掉一些杀不死的进程。

    我们也可以查看所有端口的开放情况,看端口被你那些服务占用运行:

    shell 复制代码
    netstat -ntlp

    这两种方案都比较方便,看你适合哪种排查就用那种吧。

脚本失灵

  • 我们将项目放到服务器维护的时候通常会写很多脚本,比如sh,bat文件,这个看操作系统。例如服务器linux环境下,我们会写诸如start.sh、stop.sh等脚本文件,方便我们快速启动某个服务,当我们启动脚本发生一些错误的时候,我们可以手动执行脚本内部的命令看看能不能启动,如果能启动就可以判断脚本出了问题,如果不能启动,那就是命令的问题。

线上部署项目结构模版

  • 线上部署一个项目也是有一个规范的,大致可以这样去分:

当然了可以随机加减一些东西,至少基础文件还是要有这些。

配置文件生效

在启动一个jar包的时候最好指定一下配置文件,让他们一起启动,检查一下配置文件在线上是否能正常生效:

注意:

在这里极容易犯得一个错误就是jar包没有放在config文件外面,这样进行编译的话就会报错,配置文件就不会生效!

其实写到这里还没写完。。。比如要学会保存项目启动日志,通过日志排查问题等等,我打算把这些放到下期文章来说。

相关推荐
BD_Marathon3 分钟前
多轮对话聊天机器人
开发语言·机器人·c#
泡茶喝茶写代码3 分钟前
A股量化数据工程:从 REST 接口到策略信号(第 1 篇):指数列表与实时行情接入
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据接口
Sarvartha9 分钟前
接口基础知识
java·开发语言
happylifetree26 分钟前
Python34-35:核心语法-流程控制语句-循环-综合案例
python
沐晓时光33 分钟前
C语言入门,深入理解指针(1)
c语言·开发语言
AC赳赳老秦35 分钟前
OpenClaw 数据引用规范自动生成:为公开数据构建可信来源标注与标准引用体系
大数据·开发语言·汇编·数据库·人工智能·deepseek·openclaw
吃饱了得干活41 分钟前
Agent 的记忆与工具:从上下文窗口到 MCP
python·agent·mcp
无忧.芙桃42 分钟前
C++语言原理与实践(十):vector类的底层实现
开发语言·c++·算法
燐妤1 小时前
LangGraph-复习总览
python·ai·面试·agent·学习方法·langgraph
尹人入圣1 小时前
市面上IP驱动产业新场景新工具
运维·网络·python·tcp/ip