일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- SecurityMetric
- 공격그래프
- Mimikatz
- 화이트해커
- 계정 탈취
- Mac
- Container
- 프로젝트
- decap
- airdecap-ng
- 액티브스캐닝
- AttackGraph
- NMAP
- Chrome 작업관리자
- ip forwarding
- 보안
- OpenID Connect
- recon-ng
- Social Network in Game
- 대학원
- davtest
- 패시브스캐닝
- 무선채널
- 강의
- dnsenum
- Kublet
- OIDC
- 넷크래프트
- cgroups
- Shift + ESC
- Today
- Total
네른
[CI/CD] CI/CD Java 테스팅 도구 본문
사내에서 JAVA를 이용한 웹 프로젝트가 많아서 관련된 테스팅 도구를 조사한 적이 있다.
조사의 목적은 GitLab CI/CD에 얹어 사용할 수 있는 자동화 테스팅 도구를 찾기 위함이었다.
그 중에서 괜찮다고 생각됐던 것들이나, 실제 사용했던 것들을 간략하게 정리하고자 함
주요 조건에 무료 도구여야함이 있었기에 오픈소스/무료인 도구들만 정리되어있음
1. Jenkins
- CI 도구이며 각종 플러그인을 사용해 테스팅도 진행할 수 있음.
- 주로 빌드 테스트를 위해 사용되며 다양한 플러그인을 지원함
2. Jmeter
- 서버 부하 테스트나 API 테스트를 위해 사용
- HTTP/S, REST, TCP, JDBC 등 다양한 테스트가 진행 가능함
- 직접 테스트 스크립트를 작성하고 프로그램을 실행할 수 있음
- GitLab 상에서는 docker image를 이용해서 실행 가능하며, 테스트 스크립트는 별도로 넣어주어야 함
3. soapUI
- SOAP/REST 테스팅을 위한 도구
- API 테스팅이 주 목적이며 API 요청 결과를 regex 등을 이용해 검사하는 도구
- 젠킨스와 연동하여 사용 가능
4. JUnit
- 자바 유닛테스팅 도구
- 자바 코드를 이용하며 어노테이션등을 이용하여 객체의 일치 여부, 리턴값의 범위 등을 테스트할 수 있음
- 각 클래스별로 테스트를 진행해야하기에, 직접 테스트 케이스를 작성할 때 주의해야 함
- 테스트 내용을 코드로 작성할 수 있으며, 테스팅의 결과가 코드상에 남는다는 장점이 있음 (확인이 용이)
- 레포트를 출력해서 테스트 결과를 한눈에 보기 좋음
5. Jacoco
- 자바 코드 커버리지 테스팅 도구
- 전체 코드에 대한 코드 커버리지(코드가 실제로 실행되었는지)를 테스트할 수 있음
- 앞선 JUnit 테스트코드를 기반으로 동작하기에 둘을 연동하여 사용하기 좋음
- 직접 설정한 rule을 통해 테스트 통과 여부를 정할 수 있음
: 전체 branch중 몇% 이상이 실행되는지, 클래스 내의 메소드는 몇개 이상 동작하는지 등등
6. ServerSpec
- 인프라 셋팅을 테스팅하는 도구
- 예를들어, httpd 프로세스가 동작중인지, 특정 포트가 열려있는지와 같은 테스트케이스를 작성하고 테스트할 수 있음
7. Kubetest
- 위와 유사함. Kubernetes 환경을 대상으로 진행하는 인프라 테스팅
8. Robot Framework
- Selenium과 함께 사용하며 테스트 케이스 기반의 UI 자동화 테스팅이 가능함
9. SiteSpeed.io
- 웹 프론트엔드의 성능을 테스팅하는 도구
- 프론트 페이지의 응답 속도, 복잡도 등을 테스트하여 속도를 측정할 수 있음
- 실제 동작중인 서버에 진행되는 테스트이기에 서버가 필요함
이 중, GitLab 상에 실 적용해본 것은 JUnit, Jacoco, Jmeter, SiteSpeed.io로, 각각에 대해 간단히 추후 정리하고자 함.
GitLab에 어떻게 적용했는지 등등
'DevOps' 카테고리의 다른 글
[CI/CD] Gitlab-ci.yml 작성 예제 - JUnit (0) | 2022.04.28 |
---|---|
[CI/CD] GitLab CI/CD 적용 시 알아두면 좋은 점 (0) | 2022.04.28 |
[CI/CD] Gitlab-ci.yml 작성 예제 - JMeter (0) | 2022.04.28 |
[CI/CD] Gitlab-ci.yml 작성 예제 - SiteSpeed.io (0) | 2022.04.25 |
[Docker] Docker에서 주로 사용한 명령어 (0) | 2022.04.14 |