目录
下面给你一份Java后端(Web/微服务)全链路测试实战指南,覆盖渗透测试、安全测试、性能压测、功能/接口测试,全部是后端开发/测试常用、可直接落地的做法、工具、步骤,一次性讲全。
Java后端全测试(渗透+安全+压测+接口)完整方案
一、接口/功能测试(基础必做)
目标:验证接口逻辑、参数校验、返回值、异常处理是否正确
常用工具
- Postman / Apifox(最常用)
- JMeter(可做接口+压测)
- Swagger / Knife4j(Java后端接口文档)
- RestAssured(Java代码接口自动化)
怎么做
- 梳理接口清单(GET/POST/PUT/DELETE)
- 构造正常/异常用例:空参、超长参数、非法字符、越权ID、SQL注入字符
- 校验:状态码、响应体、数据库数据是否一致
- 自动化:用RestAssured写Java脚本批量跑
二、性能压测(高并发、负载、稳定性)
目标:测QPS、响应时间、CPU/内存/GC、数据库瓶颈、服务崩溃点
常用工具
- JMeter(最通用)
- Gatling(高并发、基于Scala、性能更好)
- Arthas(Java在线诊断,必用)
- Prometheus + Grafana(监控)
压测怎么做(标准流程)
- 确定压测指标:QPS、RT、错误率、CPU<80%、GC频率
- 编写压测脚本(登录→业务接口→退出)
- 梯度加压:50→100→200→500线程
- 监控指标:
- Java:堆内存、FullGC、线程数、死锁
- 服务器:CPU、负载、IO
- DB:连接数、慢SQL、锁等待
- 常见问题:
- 接口慢:查慢SQL、未加索引、循环查库
- FullGC频繁:内存泄漏、大对象
- 线程池耗尽:tomcat/ Dubbo线程池设置过小
三、Java安全测试(代码安全+漏洞扫描)
目标:找代码漏洞、配置漏洞、依赖漏洞
常用工具
- SonarQube(代码质量+漏洞扫描)
- OWASP Dependency-Check(第三方包漏洞)
- IDEA插件:SonarLint、FindSecBugs
Java常见安全漏洞(必须测)
- SQL注入(MyBatis $ 拼接、未预编译)
- XSS(前端未转义、后端未过滤)
- 越权(未校验用户ID、接口直接传ID)
- 文件上传漏洞(未校验后缀、路径穿越)
- JWT伪造/未过期/密钥泄露
- 敏感信息泄露(日志打印密码、返回手机号明文)
- Redis未授权、Mongo弱口令
- 反序列化漏洞(Fastjson、Jackson)
四、Java渗透测试(Web/微服务渗透,实战流程)
目标:模拟黑客攻击,找可利用漏洞
渗透工具
- Burp Suite(核心抓包改包)
- Nmap(端口扫描)
- Fiddler(简单抓包)
- AWVS(漏洞扫描)
Java渗透测试步骤(实战版)
- 信息收集
- 扫端口:8080、21、3306、6379、9200
- 识别框架:SpringBoot、Tomcat、Dubbo、Shiro
- 抓包分析(Burp)
- 找未授权接口、越权接口
- 找参数可控点(ID、文件名、SQL参数)
- 漏洞验证
- SQL注入:' or 1=1 --
- 文件上传:上传jsp木马(测试环境)
- 反序列化:Shiro、Fastjson漏洞利用
- 越权:把用户ID改成别人ID
- 权限提升
- 弱口令爆破(Tomcat、MySQL、Redis)
- 未授权访问Redis写计划任务
- 报告输出:漏洞等级、复现步骤、修复方案
五、专项测试(Java后端必备)
1. 稳定性测试(7×24小时跑)
工具:JMeter + Grafana
测:内存泄漏、线程泄漏、句柄泄漏、FullGC
2. 异常测试(故障注入)
工具:ChaosBlade(阿里混沌工程)
模拟:
- 数据库宕机
- 网络延迟、丢包
- CPU满载
- 磁盘满
- 调用第三方超时
3. 安全合规测试
- 密码复杂度、加盐存储
- 接口限流、防刷
- 敏感数据脱敏
- 日志不打印敏感信息
六、Java后端测试常用命令(直接复制用)
# Arthas 排查Java问题
java -jar arthas-boot.jar
dashboard # 看CPU/内存/线程
thread # 看死锁、耗CPU线程
watch # 监控方法入参出参
# JMeter压测命令(无界面)
jmeter -n -t test.jmx -l result.jtl -e -o report
# 依赖漏洞扫描
dependency-check --scan ./target/*.jar
七、完整测试流程(企业标准)
- 单元测试(JUnit/Mockito)
- 接口测试(Postman/RestAssured)
- 代码安全扫描(Sonar)
- 依赖漏洞扫描(Dependency-Check)
- 性能压测(JMeter/Gatling)
- 渗透测试(Burp)
- 混沌测试(ChaosBlade)
- 上线前回归
浙公网安备 33010602011771号