본문 바로가기
IT/IT-TEST

PIT Mutation testing tool ( PITEST )

by onfact 2023. 11. 13.

PIT Mutation Testing 은 Java 애플리케이션의 돌연변이 테스트를 지원하는 도구입니다. 

돌연변이 테스트는 소스 코드의 변경을 통해 가상의 결함(mutant)을 만들어 

기존의 테스트가 해당 결함을 감지하는지 확인하는 테스트 기법입니다. 

이를 통해 테스트 스위트의 효과성을 평가하고 코드의 견고성을 향상시킬 수 있습니다.

 

아래는 간단한 maven 예제 입니다.

 

- 예제 프로젝트 구조 : 

my-java-app
|-- src
|   `-- main
|       `-- java
|           `-- com
|               `-- example
|                   `-- MyApp.java
|-- src
|   `-- test
|       `-- java
|           `-- com
|               `-- example
|                   `-- MyAppTest.java
|-- pom.xml
`-- .pitest
    `-- pitest.xml

 

- Maven POM 설정 : 

   <build>
        <plugins>
            <!-- 다른 플러그인 ... -->
            <plugin>
                <groupId>org.pitest</groupId>
                <artifactId>pitest-maven</artifactId>
                <version>1.7.0</version>
                <configuration>
                    <targetClasses>
                        <param>com.example.*</param>
                    </targetClasses>
                    <targetTests>
                        <param>com.example.*</param>
                    </targetTests>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

- PIT 실행 : 

mvn clean test org.pitest:pitest-maven:mutationCoverage

 

- 결과 확인 : 

PIT이 실행된 후 target/pit-reports/YYYYMMDDHHMI/index.html 경로에 리포트가 생성됩니다. 브라우저로 열어서 돌연변이 테스트의 결과를 확인할 수 있습니다.

 

- index.html 스크린샷 

PIT Test

 

 

시간이 남는다면.. 혹은 요청이 있다면 추가적으로 자세한 글을 써보도록 하겠습니다.

즐 코딩 하세요~