一、搭建Java测试基础环境
sudo yum update -y && sudo yum install java-1.8.0-openjdk-devel -y。安装完成后,通过java -version(验证Java运行环境)、javac -version(验证编译器)确认安装成功。/etc/profile文件,添加以下内容(替换为实际JDK路径):export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdkexport PATH=$JAVA_HOME/bin:$PATH。保存后执行source /etc/profile使配置生效。sudo yum install maven -y安装,配置MAVEN_HOME环境变量后,使用mvn -v验证安装。二、单元测试(JUnit)
pom.xml中添加JUnit 5依赖(覆盖单元测试核心功能):<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.9.0</version>
<scope>test</scope>
</dependency>
Test结尾的类(如CalculatorTest.java),使用@Test注解标记测试方法,通过Assertions断言验证结果(示例测试加法逻辑):import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
int result = calculator.add(2, 3);
assertEquals(5, result, "加法运算应返回正确结果");
}
}
mvn test(Maven)或gradle test(Gradle),测试结果会显示在控制台或target/surefire-reports目录下的报告中。三、性能测试
pom.xml中添加JMH核心和注解处理器依赖:<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.36</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.36</version>
<scope>provided</scope>
</dependency>
@Benchmark标记测试方法,配置@BenchmarkMode(如AverageTime平均耗时)、@OutputTimeUnit(如NANOSECONDS纳秒):import org.openjdk.jmh.annotations.*;
import java.util.concurrent.TimeUnit;
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 3, time = 1) // 预热3次,每次1秒
@Measurement(iterations = 5, time = 1) // 正式测试5次,每次1秒
@Fork(1) // 使用1个JVM进程
public class MyBenchmark {
@Benchmark
public void testStringConcat() {
String s = "";
for (int i = 0; i < 100; i++) {
s += i; // 测试字符串拼接性能
}
}
}
mvn clean install编译项目,再执行java -jar target/benchmarks.jar生成性能报告(包含平均耗时、吞吐量等指标)。bin目录,通过./jmeter启动(GUI模式)。.jmx文件),通过命令行./jmeter -n -t test_plan.jmx -l result.jtl执行(非GUI模式,减少资源消耗),结果保存到result.jtl文件,可通过“聚合报告”或“图形结果”分析。四、监控与调优
top(实时查看CPU、内存占用)、vmstat 1(每秒刷新内存、IO、CPU状态)、iostat -x 1(查看磁盘IO性能)命令,快速定位系统瓶颈。jps(查看Java进程ID)、jstat -gcutil <pid> 1000 5(每秒监控一次GC情况,共5次)、jmap -heap <pid>(查看堆内存分配)、jvisualvm(可视化工具,监控线程、内存快照)等命令,分析JVM运行状态。