一、搭建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運行狀態。