728x90
반응형

ci테스트 4

Stryker

개요Stryker는 자바스크립트(JavaScript)와 타입스크립트(TypeScript) 애플리케이션을 위한 뮤테이션 테스팅(Mutation Testing) 프레임워크이다. 테스트 커버리지의 질적 수준을 정량적으로 평가하기 위한 도구로, 기존 테스트가 실제로 코드 결함을 탐지할 수 있는지를 검증하는 데 중점을 둔다. CI/CD 파이프라인과 쉽게 통합되어 품질 중심의 테스트 문화를 정착시킬 수 있다.1. 개념 및 정의 항목 내용 설명 정의Stryker소스 코드를 인위적으로 변경하여 테스트의 유효성을 평가하는 도구핵심 기술뮤테이션 테스팅실제 버그 유사 변경(mutation)을 주입해 테스트 검증목적테스트의 강건성 측정커버리지 수치만으로는 알 수 없는 테스트 품질 확보Stryker는 테스트 코드가 얼마나 ..

Topic 2025.10.04

Testcontainers

개요현대 소프트웨어 개발에서는 테스트 자동화가 필수적이며, 특히 데이터베이스나 메시징 시스템과의 통합 테스트는 신뢰성 확보에 핵심적인 요소입니다. Testcontainers는 이러한 요구에 대응하여 Docker 컨테이너 기반의 테스트 환경을 코드로 쉽게 구성하고 실행할 수 있도록 지원하는 오픈소스 라이브러리입니다. 단위 테스트 수준을 넘어 실제 서비스 환경에 가까운 구성에서 테스트를 실행할 수 있어, 개발자 생산성과 테스트 품질을 동시에 향상시킵니다.1. 개념 및 정의Testcontainers는 테스트 시점에 Docker 컨테이너를 자동으로 실행하고, 테스트 종료 후 정리하는 기능을 제공하는 테스트 지원 도구로, 통합 테스트 및 시스템 테스트의 신뢰성을 크게 높여주는 라이브러리입니다.언어별 클라이언트: ..

Topic 2025.08.31

Mutation-Score Indicator (MSI)

개요Mutation-Score Indicator(MSI)는 소프트웨어 테스트의 효과성과 신뢰성을 측정하는 정량적 지표로, '뮤테이션 테스트(Mutation Testing)' 결과를 기반으로 테스트 코드의 결함 탐지 능력을 수치화한 값이다. 기존의 커버리지 지표가 단순 실행 여부를 기준으로 삼는 데 비해, MSI는 테스트가 실제로 오류를 잡아낼 수 있는지를 평가함으로써 보다 깊이 있는 테스트 품질 진단이 가능하다.1. 개념 및 정의MSI는 테스트 코드가 실제 결함(의심되는 코드 변형)을 얼마나 잘 탐지할 수 있는지를 평가한다. 코드에 의도적인 변형(뮤턴트)을 가하고, 테스트가 해당 변형을 감지하여 실패하면 해당 뮤턴트는 '살해(killed)'된 것으로 간주된다. MSI는 다음과 같이 정의된다:공식: MSI..

Topic 2025.06.23

Contract-First API 테스트

개요Contract-First API 테스트는 API의 동작 구현 이전에 먼저 정의된 명세(Contract)를 기반으로 테스트를 자동 생성하고 검증하는 방식이다. OpenAPI(Swagger), AsyncAPI 등의 사양을 기반으로 요청/응답 구조, 필드 유효성, 에러 처리 등을 사전에 정의하고, 이를 기준으로 테스트 자동화를 수행함으로써 사양 일관성과 서비스 품질을 동시에 확보할 수 있다.1. 개념 및 정의 항목 내용 정의API 동작 구현보다 먼저 작성된 명세(Contract)를 기준으로 테스트 케이스를 생성하고 검증하는 접근 방식주요 도구Postman, Dredd, Schemathesis, Stoplight, Pact 등적용 대상RESTful API, gRPC, GraphQL, 이벤트 기반 API ..

Topic 2025.06.21
728x90
반응형