728x90
반응형

테스트 전략 7

Golden-Master Testing

개요Golden-Master Testing은 기존 소프트웨어의 출력 결과(또는 동작)를 “황금 기준”으로 저장하고, 코드 변경 이후의 결과와 비교하여 의도하지 않은 변경이나 오류를 탐지하는 회귀 테스트 기법입니다. 테스트 케이스를 미리 정의하기 어려운 복잡한 시스템에서 유용하며, 주로 리팩토링, 레거시 시스템 개선, GUI 테스트 등에서 활용됩니다. Approval Testing, Snapshot Testing 등 다양한 이름으로 불리며, 안정성과 신뢰도를 확보하는 데 효과적입니다.1. 개념 및 정의 항목 설명 정의Golden-Master Testing은 기존 시스템의 정상 출력을 기준값으로 저장해두고, 변경 이후 결과를 비교해 테스트하는 방식입니다.목적리팩토링이나 코드 변경 이후에도 기존 기능이 동일..

Topic 2025.06.06

Test Pyramid 모델

개요Test Pyramid 모델은 소프트웨어 테스트의 효율성과 신뢰성을 높이기 위해 제안된 계층적 테스트 전략입니다. 자동화 테스트를 세 가지 수준(단위 테스트, 서비스 테스트, UI 테스트)으로 나누어 각 계층의 목적과 비중을 명확히 함으로써 테스트 품질을 최적화합니다. 이 모델은 테스트 비용을 절감하고 피드백 사이클을 단축하는 데 효과적이며, Agile 및 DevOps 환경에서 특히 널리 활용됩니다.1. 개념 및 정의 항목 내용 정의Test Pyramid는 테스트를 단위(Unit), 서비스(Service), UI 레벨로 구분하여 각각의 적절한 비율과 목적을 설정하는 테스트 아키텍처 모델입니다.목적테스트 자동화를 계층화하여 높은 신뢰성과 빠른 피드백을 동시에 달성합니다.필요성UI 테스트에 집중될 경우..

Topic 2025.06.04

Property-Based Testing(PBT)

개요Property-Based Testing(PBT)은 테스트 케이스를 하나하나 수동으로 작성하는 대신, 입력값을 자동 생성하여 정의된 속성(Property)에 대해 반복적으로 검증하는 테스트 기법입니다. 수많은 예제 기반 테스트를 자동으로 실행하면서도, 코드의 불변 조건이나 수학적 성질을 기반으로 테스트하므로 버그 탐지력과 코드 안정성을 크게 향상시킬 수 있습니다.1. 개념 및 정의Property-Based Testing은 다음 요소로 구성됩니다:속성(Property): 함수나 시스템이 항상 만족해야 하는 일반적 규칙 (예: 정렬 결과는 항상 오름차순)입력값 생성기(Generator): 무작위 또는 전략적 방식으로 다양한 입력값 생성검증 함수: 각 입력에 대해 속성이 만족되는지 평가이 방식은 Edge ..

Topic 2025.06.02

TMAP (Test Management Approach)

개요TMAP(Test Management Approach)는 테스트 전략 수립부터 실행, 평가, 개선까지 테스트 생명주기 전반을 체계적으로 관리할 수 있도록 설계된 종합 테스트 관리 프레임워크입니다. 애자일, DevOps 등 다양한 개발 환경에 대응할 수 있도록 진화했으며, 테스트 프로세스를 정량화하고 품질 확보를 조직적으로 지원합니다.1. 개념 및 정의TMAP은 네덜란드 Sogeti사가 개발한 테스트 관리 방법론으로, 전체 개발 라이프사이클에서 테스트 활동을 체계화하고 표준화하는 것을 목표로 합니다.Test Management: 테스트 계획, 조직, 실행, 리포트 등 전 과정 관리Approach: 역할 기반, 위험 기반, 제품 품질 기반 접근 적용TMAP은 테스트를 단순한 활동이 아닌 비즈니스 가치를 ..

Topic 2025.05.31

Onion Architecture

개요Onion Architecture(어니언 아키텍처)는 애플리케이션의 비즈니스 로직을 중심에 두고, 바깥 계층으로 인프라스트럭처 및 프레젠테이션 로직을 배치하는 구조로, 의존성 역전 원칙을 강조하는 소프트웨어 아키텍처 패턴입니다. 이 구조는 도메인 중심 설계(DDD)의 이상을 반영하며, 테스트 용이성과 변경 용이성을 동시에 확보할 수 있는 강력한 설계 방식으로 평가받고 있습니다.1. 개념 및 정의Onion Architecture는 시스템의 핵심 도메인 로직이 외부 계층(프레젠테이션, 인프라 등)에 의존하지 않고, 오히려 외부가 내부를 의존하는 구조를 갖는 설계 방식입니다.목적: 코드베이스의 유지보수성과 테스트 용이성 확보필요성: 점진적 개발 및 비즈니스 로직 보호중심 원칙: DIP(Dependency ..

Topic 2025.05.05

Hexagonal Architecture

개요Hexagonal Architecture(육각형 아키텍처)는 어플리케이션의 핵심 도메인 로직을 외부와 분리하여 유연성과 테스트 용이성을 극대화하는 아키텍처 패턴입니다. Alistair Cockburn이 제안한 이 구조는 ‘포트와 어댑터(Ports and Adapters)’라는 개념을 중심으로, 의존성을 반전시켜 깔끔한 경계를 정의합니다.1. 개념 및 정의Hexagonal Architecture는 시스템의 핵심 비즈니스 로직을 중앙(코어) 도메인에 배치하고, 이를 다양한 외부 시스템(API, DB, 메시징 등)과 **포트(Ports)**와 **어댑터(Adapters)**를 통해 연결하는 방식의 아키텍처입니다.목적: 도메인 로직의 독립성과 테스트 용이성 확보필요성: 지속 가능한 소프트웨어 구조와 변화 대..

Topic 2025.05.05

ISTQB의 소프트웨어 테스트 7가지 원리

개요ISTQB(International Software Testing Qualifications Board)는 전 세계적으로 인정받는 소프트웨어 테스팅 자격 및 지침을 제공하는 기관이며, 이들이 제시하는 ‘테스트의 7가지 원리(7 Testing Principles)’는 모든 테스터와 품질 보증 담당자가 실무에서 테스트 전략을 수립하고 실행하는 데 있어서 핵심 기준이 됩니다. 본 글에서는 ISTQB가 정의한 7가지 테스트 원리를 이해하기 쉽고 실무 적용 가능한 방식으로 정리하고, 각 원리의 중요성과 실제 적용 예시, 주의사항까지 함께 소개합니다.1. 테스트는 결함의 존재를 보여주는 활동이다 (Testing shows presence of defects) 설명 효과 실무 적용 테스트는 결함이 ‘존재함’을..

Topic 2025.04.08
728x90
반응형