728x90
반응형

소프트웨어테스트 8

Test Impact Analysis (TIA)

개요Test Impact Analysis(TIA)는 코드 변경 사항이 기존 테스트에 어떤 영향을 미치는지를 분석하여, 변경된 코드와 관련된 테스트 케이스만 선별적으로 실행하는 스마트 테스트 최적화 기법이다. 이는 테스트 비용을 절감하고, 빠른 피드백을 제공하며, CI/CD 파이프라인의 효율을 극대화하는 데 핵심 역할을 한다.1. 개념 및 정의Test Impact Analysis는 코드 베이스에 변경이 발생했을 때, 변경된 코드와 연관된 테스트만을 식별하고 실행하는 자동화된 기술이다. 전통적인 전체 테스트 실행 방식과 달리, 테스트 실행 시간과 리소스를 줄이고, 개발 주기를 단축하는 데 목적이 있다. 머신러닝, 정적 분석, 코드 커버리지 정보 등을 활용하는 고급 형태도 있다.2. 특징 항목 Test Im..

Topic 2025.06.22

Mutation-Based Regression Testing(MBRT)

개요Mutation-Based Regression Testing(MBRT)은 기존 테스트 케이스의 유효성과 코드 변경의 영향도를 정밀하게 평가하기 위해 의도적으로 오류(뮤턴트)를 삽입한 후 테스트 케이스가 이를 탐지하는지를 확인하는 테스트 기법입니다. 본 글에서는 MBRT의 개념, 절차, 이점, Mutation Testing과의 차이점, 실제 도구 및 활용 사례를 중심으로 소개합니다.1. 개념 및 정의MBRT는 기존 Regression Testing의 자동화 및 정확성을 높이기 위해 Mutation Testing 기법을 적용한 전략입니다. 코드 변경 후, 테스트가 변경을 제대로 검증하는지 **'살아있는' 뮤턴트를 잡아내는 능력(kill rate)**으로 평가합니다.목적: 코드 변경 시 회귀 오류 미탐지를..

Topic 2025.06.17

Context-Driven Testing (CDT)

개요Context-Driven Testing(CDT)은 소프트웨어 테스트를 고정된 표준 방식이 아닌, 주어진 상황(Context)에 맞춰 유연하게 수행해야 한다는 철학을 기반으로 한 테스트 접근법입니다. 테스트 설계, 실행, 결과 해석까지 모든 과정을 ‘문맥’에 따라 판단하며, Agile, DevOps, Exploratory Testing 환경과 궁합이 뛰어납니다.1. 개념 및 정의 항목 설명 정의소프트웨어 테스트는 고정된 프로세스가 아닌, 테스트 대상, 팀, 도메인, 목표에 따라 최적화되어야 한다는 실용적 테스트 원칙중심 철학“상황이 모든 것을 결정한다”(Context is everything)주창자Cem Kaner, James Bach, Bret Pettichord (2001)CDT는 ISO, IS..

Topic 2025.06.14

MC/DC (Modified Condition/Decision Coverage)

개요MC/DC(Modified Condition/Decision Coverage)는 항공우주, 자동차, 의료 등 고신뢰 소프트웨어 시스템에서 사용되는 테스트 커버리지 기법입니다. 이는 각 조건이 전체 조건식의 결과에 독립적인 영향을 미치는지를 검증하는 방식으로, 일반적인 조건 커버리지 대비 더 엄격하고 정밀한 테스트 기준을 제공합니다.1. 개념 및 정의 항목 설명 비고 정의MC/DC는 조건/결정 커버리지(C/DC)의 향상된 형태로, 각 조건이 독립적으로 전체 결정에 영향을 미침을 보장DO-178C 등에서 요구목적시스템 논리의 오류를 조기에 탐지하고, 임계 오류 가능성을 줄임안전성 확보 목적필요성고신뢰성 산업군에서의 규제 및 인증 요건 만족항공, 국방, 철도 등MC/DC는 단순히 모든 조건을 참/거짓으..

Topic 2025.06.09

Mutation Testing

개요Mutation Testing은 테스트 코드의 신뢰성과 강인함을 평가하기 위해, 소스 코드에 의도적인 오류(돌연변이)를 삽입한 뒤 테스트가 이를 감지하는지를 확인하는 소프트웨어 테스트 기법입니다. 단순한 코드 커버리지 지표보다 더 실질적인 테스트 품질을 측정할 수 있어, 품질 중심 개발 문화에서 점점 더 주목받고 있습니다.1. 개념 및 정의항목 설명 비고 정의프로그램의 특정 부분을 수정(돌연변이)한 버전을 테스트로 검증하는 방식원본 코드의 의미는 유지목적테스트 코드의 오류 검출 능력을 평가진짜 결함을 잡을 수 있는가?기법 유형단일 연산자 변경, 조건 반전, 상수 변경 등Mutation Operator 사용테스트 코드의 실질적 검증 능력을 높이기 위한 ‘공격적’ 테스트 전략2. 특징항목Mutation..

Topic 2025.06.07

테스트 커버리지(Test Coverage)

개요테스트 커버리지는 소프트웨어 테스트가 소스 코드의 어느 정도를 검증하고 있는지를 수치화한 품질 지표이다. 테스트의 범위와 효과를 측정하여 테스트 누락 구간을 식별하고, 전체적인 코드 품질을 개선하는 데 중요한 역할을 한다. 개발 초기 단계부터 CI/CD에 이르기까지, 테스트 커버리지는 자동화된 품질 관리의 핵심 요소로 자리잡고 있다.1. 개념 및 정의테스트 커버리지는 테스트 코드가 실제 애플리케이션 코드를 얼마나 실행했는지를 나타내는 비율 지표이다.계산식: (실행된 코드 라인 수 / 전체 코드 라인 수) × 100목적: 테스트 누락 영역 식별, 품질 보장 강화구분: 라인 커버리지, 조건 커버리지, 브랜치 커버리지, 메서드 커버리지 등2. 주요 커버리지 유형 유형 설명 예시 라인 커버리지코드 한 줄..

Topic 2025.04.22

IEEE 1012 (소프트웨어 검증·밸리데이션)

개요IEEE 1012는 소프트웨어와 시스템의 검증(Verification) 및 밸리데이션(Validation, 이하 V&V)을 위한 국제 표준입니다. 이 표준은 소프트웨어가 요구사항을 충족하는지 확인하고, 의도한 목적에 맞게 작동하는지 검증하는 체계적인 접근을 제공합니다. 특히 고신뢰성이 요구되는 산업(항공, 의료, 방산, 금융 등)에서 널리 활용되며, 프로젝트의 생명주기 전반에 걸쳐 V&V 활동을 통합함으로써 품질과 안전성, 규제 준수 확보에 중요한 역할을 합니다.1. 개념 및 정의IEEE 1012란?IEEE 1012는 소프트웨어 및 시스템 개발 생명주기 동안 수행되는 검증 및 밸리데이션 활동에 대한 표준으로, V&V의 범위, 계획, 절차 및 책임을 명확하게 정의합니다. 개념 설명 검증(Verific..

Topic 2025.03.25

IEEE 29119 (소프트웨어 테스트)

개요IEEE 29119는 소프트웨어 테스트 프로세스를 정의하고 표준화한 국제 표준입니다. 이 표준은 소프트웨어 테스트의 품질, 일관성, 신뢰성 확보를 위한 테스트 원칙과 프로세스를 제시하며, 다양한 개발 방법론(워터폴, 애자일, DevOps 등)에 적용할 수 있는 유연한 구조를 갖추고 있습니다. 본 글에서는 IEEE 29119의 개념, 구성 요소, 주요 문서, 활용 사례 및 도입 시 고려사항을 상세히 살펴보겠습니다.1. 개념 및 정의IEEE 29119란?IEEE 29119는 소프트웨어 테스트를 위한 표준 프레임워크로, 테스트 계획 수립부터 실행, 평가 및 종료까지의 전 과정을 체계적으로 관리할 수 있도록 합니다. 개념 설명 IEEE 29119소프트웨어 테스트의 계획, 설계, 실행 및 보고를 위한 국제 ..

Topic 2025.03.25
728x90
반응형