BackEnd/Tests
-
아키텍처 테스트. ArchUnitBackEnd/Tests 2022. 2. 19. 10:32
ArchUnit이란 애플리케이션의 아키텍처를 테스트할 수 있는 오픈 소스 라이브러리입니다. 패키지, 클래스, 레이어, 슬라이스 간의 의존성을 확인할 수 있는 기능을 제공합니다. Architecture Test Use Cases A 라는 패키지가 B (또는 C, D) 패키지에서만 사용 되고 있는지 확인. *Serivce라는 이름의 클래스들이 *Controller 또는 *Service라는 이름의 클래스에서만 참조하고 있는지 확인. *Service라는 이름의 클래스들이 ..service.. 라는 패키지에 들어있는지 확인. A라는 애노테이션을 선언한 메소드만 특정 패키지 또는 특정 애노테이션을 가진 클래스를 호출하고 있는지 확인. 특정한 스타일의 아키텍처를 따르고 있는지 확인. ArchUnit Installat..
-
운영 이슈 테스트. Chaos MonkeyBackEnd/Tests 2022. 2. 19. 09:20
Chaos Monkey란 Netflix에서 만든 카오스 엔지니어링 툴입니다. 카오스 엔지니어링 툴은 운영 환경, 특히 분산 시스템 환경에서 네트워크 지연, 서버 장애, 디스크 오작동, 메모리 누수 등의 불확실성을 파악하고 해결 방안을 모색하는데 사용합니다. Chaos Monkey for Spring Boot Spring Boot 애플리케이션에 카오스 멍키를 적용해 볼 수 있는 툴입니다. 즉, Spring Boot 애플리케이션을 망가트릴 수 있는 툴입니다. Chaos Monkey for Spring Boot 주요 개념 AOP를 이용해 공격 대상이 호출된 경우, 대상 Watcher 활성화 여부를 판단하고 활성화된 Assaults들 중 랜덤하게 하나씩 골라 공격합니다. 공격 대상 (Watcher) 공격 유형 ..
-
성능 테스트. nGrinderBackEnd/Tests 2022. 2. 15. 21:46
nGrinder는 Naver에서 만든 스트레스 테스트용 플랫폼입니다. 스크립트 생성, 테스트 실행, 모니터링 및 결과 보고서 생성기를 동시에 실행할 수 있습니다. nGrinder 구성 요소 Controller: 테스터가 테스트 스크립트를 생성하고 테스트 실행을 구성할 수 있도록 하는 웹 애플리케이션 Agent: 부하를 생성하는 가상 사용자 생성기 nGrinder 특징 Jython or Groovy 스크립트를 사용하여 테스트 시나리오를 생성하고 여러 에이전트를 사용하여 JVM에서 스트레스를 생성합니다. 사용자 정의 라이브러리(jar, py, maven 종속성)로 테스트를 무제한 확장합니다. 프로젝트 관리, 모니터링, 결과 관리 및 보고서 관리를 위한 웹 기반 인터페이스를 제공합니다. 여러 테스트를 동시에 ..
-
성능 테스트. JMeterBackEnd/Tests 2022. 2. 14. 22:47
Apache JMeter는 성능 측정 및 부하 (load) 테스트 기능을 제공하는 오픈 소스 자바 애플리케이션입니다. 성능 테스트 툴로는 JMeter, Gatling, nGrinder 등이 있으며 TPS(Traffic per second)을 측정하여 처리량(Throughput)을 확인하기 위해 사용합니다. 이번 글에서는 JMeter를 다루고, 다음 글에서 nGrinder에 대해 다루겠습니다. Gatling은 링크된 레퍼런스를 참고하시면 됩니다. JMeter 특징 Web(HTTP, HTTPS), SOAP / REST WEB Service, FTP, DB, Mail 등 다양한 형태의 애플리케이션 테스트를 지원합니다. CLI를 지원하여 CI 또는 CD 툴과 연동할 때 편리하며, UI를 사용하는 것보다 메모리 ..