인프런의 "더 자바, 애플리케이션을 테스트하는 다양한 방법”을 보고 정리한 것임
1. 소개
2. 설치 (CM4SB)
의존성 추가
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'de.codecentric:chaos-monkey-spring-boot:2.5.4'
- de.codecentric:chaos-monkey-spring-boot
- Spring-boot-starter-actuator
- 스프링 부트 운영 툴로, 런타임 중에 카오스 멍키 설정을 변경할 수 있다.
- 그밖에도 헬스 체크, 로그 레벨 변경, 매트릭스 데이터 조회 등 다양한 운영 툴로 사용 가능.
- /actuator
application.properties에 추가
# profile이 chaos-monkey로 되어 있어야 테스트 가능
spring.profiles.active=chaos-monkey
# chaosmonkey endpoints 활성화
management.endpoint.chaosmonkey.enabled=true
management.endpoints.web.exposure.include=health,info,chaosmonkey
3. 테스트
테스트를 위한 사용 툴
- HTTPies
- JMeter
- 카오스 멍키 설정 변경 후 Assault 확인
응답 지연 테스트
- https://codecentric.github.io/chaos-monkey-spring-boot/latest/#_latency_assault
- Repository Watcher 활성화
- chaos.monkey.watcher.repository=true
- 카오스 멍키 활성화
- http post localhost:8080/actuator/chaosmonkey/enable
- 카오스 멍키 활성화 확인
- http localhost:8080/actuator/chaosmonkey/status
- 카오스 멍키 와처 확인
- http localhost:8080/actuator/chaosmonkey/watchers
- 카오스 멍키 지연 공격 설정
- http POST localhost:8080/actuator/chaosmonkey/assaults level=3 latencyRangeStart=2000 latencyRangeEnd=5000 latencyActive=true
- 테스트
- JMeter 확인
에러 테스트
- https://codecentric.github.io/chaos-monkey-spring-boot/latest/#_exception_assault
- 카오스 멍키 활성화
- http post localhost:8080/actuator/chaosmonkey/enable
- 카오스 멍키 활성화 확인
- http localhost:8080/actuator/chaosmonkey/status
- 카오스 멍키 와처 확인
- http localhost:8080/actuator/chaosmonkey/watchers
- 카오스 멍키 지연 공격 설정
- http POST localhost:8080/actuator/chaosmonkey/assaults level=3 latencyActive=false exceptionsActive=true exception.type=java.lang.RuntimeException