ISO/IEC 29119

**ISO/IEC/IEEE 29119** 소프트웨어 및 시스템 공학 -- 소프트웨어 테스트(Software and systems engineering -- Software testing)access-date=24 June 2018는 소프트웨어 테스트를 위한 5개의 국제 표준 시리즈이다. 2007년에 처음 개발isbn=9781447124948되어 2013년에 발표된 이 표준은 "모든 소프트웨어 개발 수명 주기 내에서 사용할 수 있는 테스트를 위한 어휘, 프로세스, 문서화, 기술 및 프로세스 평가 모델을 정의한다."isbn=9781305443471
# 역사 및 개정
ISO/IEC/IEEE 29119 소프트웨어 테스트 표준 세트의 개발은 2007년 5월에 시작되었으며, 전기전자공학자협회의 IEEE 829 (테스트 문서화) 및 IEEE 1008 (단위 테스트); 그리고 BSI 그룹의 BS 7925-1 (어휘) 및 -2 (소프트웨어 구성 요소)와 같은 기존 표준을 기반으로 했다.doi-access=free 처음에 국제 표준화 기구(ISO)는 소프트웨어 테스트 경험이 풍부한 실무단이 없었기 때문에, ISO는 2011년까지 20개 이상의 다른 국가들이 참여하는 WG26을 만들었다. 처음에는 표준을 위해 네 가지 섹션이 개발되었다: 개념 및 정의(1), 테스트 프로세스(2), 테스트 문서화(3), 테스트 기술(4). 프로세스 평가에 관한 다섯 번째 부분이 추가될 예정이었고, 결국 29119-2의 테스트 프로세스와 연결되는 ISO/IEC 33063:2015가 되었다.access-date=24 June 2018 29119의 실제 다섯 번째 부분은 키워드 주도 테스트 개념에 관하여 2016년 11월에 발표되었다.access-date=24 June 2018 2018년 6월, 표준의 다섯 부분에 대한 주요 개정은 없었다. 이 부분들은 가장 최근부터 가장 오래된 순서로 다음과 같다. * ISO/IEC/IEEE 29119-5:2016, 5부: 키워드 주도 테스트, 2016년 11월 발행 * ISO/IEC/IEEE 29119-4:2015, 4부: 테스트 기술, 2015년 12월 발행access-date=24 June 2018 * ISO/IEC/IEEE 29119-3:2013, 3부: 테스트 문서화, 2013년 9월 발행access-date=24 June 2018 * ISO/IEC/IEEE 29119-2:2013, 2부: 테스트 프로세스, 2013년 9월 발행access-date=24 June 2018 * ISO/IEC/IEEE 29119-1:2013, 1부: 개념 및 정의, 2013년 9월 발행
# 구조 및 내용

## ISO/IEC/IEEE 29119-1:2013, Part 1: Concepts and definitions
ISO/IEC/IEEE 29119 1부는 표준의 기반이 되는 어휘를 소개하고 실제 적용 사례를 제공함으로써 표준의 다른 부분들을 쉽게 사용할 수 있도록 돕는다. 1부는 정의, 소프트웨어 테스트 개념 설명, 그리고 이러한 정의와 개념을 표준의 다른 부분에 적용하는 방법을 제공한다.
## ISO/IEC/IEEE 29119-2:2013, Part 2: Test processes
2부는 소프트웨어 테스트 수행 시 조직에서 사용하도록 의도된 소프트웨어 테스트를 위한 일반 테스트 프로세스 모델을 정의한다. 이 모델은 조직 수준, 테스트 관리(프로젝트) 수준, 동적 테스트 프로세스 수준에서 소프트웨어 테스트 프로세스를 정의하는 테스트 프로세스 설명을 포함한다(WG26은 정적 테스트 포함에 대한 합의를 얻지 못했다).isbn=9783642222054 이 표준에 정의된 프로세스는 다양한 소프트웨어 개발 수명 주기 모델과 함께 사용할 수 있다.
## ISO/IEC/IEEE 29119-3:2013, Part 3: Test documentation
이 부분은 소프트웨어 테스트 문서화를 다루며, 테스트 프로세스 중에 생성되는 템플릿과 테스트 문서화 예시를 포함한다. 템플릿은 2부의 세 가지 주요 테스트 프로세스 수준을 지원하며, 이 표준은 다른 기존 표준과의 매핑도 포함한다. ISO/IEC/IEEE 29119-3에 정의된 문서는 다음과 같다. ; **조직 테스트 프로세스 문서화:** : - 테스트 정책 : - 조직 테스트 전략 ; **테스트 관리 프로세스 문서화:** : - 테스트 계획 (테스트 전략 포함) : - 테스트 상태 : - 테스트 완료 ; **동적 테스트 프로세스 문서화:** : - 테스트 설계 명세서 : - 테스트 케이스 명세서 : - 테스트 절차 명세서 : - 테스트 데이터 요구 사항 : - 테스트 데이터 준비 보고서 : - 테스트 환경 요구 사항 : - 테스트 환경 준비 보고서 : - 실제 결과 : - 테스트 결과 : - 테스트 실행 로그 : - 테스트 사고 보고서
## ISO/IEC/IEEE 29119-4:2015, Part 4: Test techniques
4부는 2부에서 정의된 테스트 설계 및 구현 프로세스 중에 사용할 수 있는 소프트웨어 테스트 설계 기술(테스트 케이스 설계 기술 또는 테스트 방법이라고도 함) 및 해당 커버리지 측정에 대한 표준 정의를 제공한다. 4부의 기술은 2부를 지원하거나 2부와 별도로 사용하도록 의도되었다. 표준의 테스트 설계 기술은 세 가지 주요 범주로 분류된다: 명세 기반 테스트 설계 기술, 구조 기반 테스트 설계 기술, 경험 기반 테스트 설계 기술.url-status=dead
### 사양 기반 테스트 설계 기술
이 기술들은 테스트 대상 시스템의 (기능) 명세에 기반한다. 이들은 블랙박스 검사 기술이라고도 불린다. 이 그룹에서 제안되는 테스트 설계 기술은 다음과 같다. * 동등 분할 * 분류 트리 방법 * 경계값 분석 * 구문 테스트 * 조합 테스트 설계 기술 * 결정 테이블 테스트 * 원인-효과 그래프 작성 * 상태 전이 테스트 * 시나리오 테스트 * 랜덤 테스트
### 구조 기반 테스트 설계 기술
이러한 구조적 테스트 기술은 테스트 대상 시스템의 (내부) 구조에 기반한다. 이들은 화이트박스 테스트 기술이라고도 불린다. 이 그룹에서 제안되는 테스트 설계 기술은 다음과 같다. * 분기 테스트 * 결정 테스트 * 분기 조건 테스트 * 분기 조건 조합 테스트 * 변형 조건 결정 커버리지(MCDC) 테스트 * 데이터 흐름 테스트
### 경험 기반 테스트 설계 기술
이러한 탐색적 테스트 기술은 인간 테스터의 경험에 의존한다. 이 그룹에서 제안되는 테스트 설계 기술은 다음과 같다. * 오류 추정
## ISO/IEC/IEEE 29119-5:2016, Part 5: Keyword-driven testing
이 표준은 소프트웨어 테스트 산업에서 사용되는 소프트웨어 테스트(일반적으로 자동화된)를 명시하는 접근 방식인 키워드 주도 테스트를 다룬다.access-date=24 June 2018 이 표준은 "키워드 주도 테스트 명세를 생성하거나, 해당 프레임워크를 생성하거나, 키워드를 기반으로 테스트 자동화를 구축하려는 사용자"를 위한 것이다.
# 비판
ISO/IEC/IEEE 29119가 2014년 여름에 도입되자, 일부 소프트웨어 테스터와 관련 단체들은 ISO에 표준 폐기를 요구하기 시작했다.access-date=24 June 2018access-date=24 June 2018work=Exploring Uncertainty: A Software Testing Blogaccess-date=24 June 2018access-date=24 June 2018access-date=24 June 2018access-date=23 July 2018 이 표준에 반대한 주요 단체로는 소프트웨어 테스팅 협회와 국제 소프트웨어 테스팅 학회가 있었다.access-date=24 June 2018 표준 반대 이유는 다음과 같다. * 전문 테스터들 사이에서 ISO/IEC에서 요구하는 내용에 대한 진정한 합의 부족 * 문서화에 지나치게 중점을 두어 실제 소프트웨어 테스트 프로세스에서 벗어날 수 있음 * ISO 29119는 인지적으로 어려운 작업에서 사람들이 일하는 방식과 일치하지 않으며, 복잡하고 스트레스가 많은 조직에서 도움이 되지 않는 관행에 집착하는 방식을 강화한다 * 이 표준은 규제 및 표준에서 규칙과 원칙의 균형에 대한 다른 관련 작업을 고려하지 못한다. 이 표준은 테스트를 지배해야 할 원칙에 대해 불분명하고, 세부 사항에 대해 지나치게 규범적이어서 수단과 목적의 혼란을 초래한다. * 이 표준은 효과적으로 문맥 주도 테스트를 배제한다 * 소프트웨어 테스트의 표준화 자체가 불필요하다 * 이 표준은 정치적, 금전적 함의를 가지며 너무 규범적이어서 산업에 이롭지 않다 WG26의 소집자 스튜어트 리드 박사는 2014년 9월에 이러한 반대 의견 중 일부에 대해 답변했다.work=SoftwareTestingStandard.org 하지만 소프트웨어 테스터들의 불만 때문에 WG26이 추가 조치를 취했는지는 분명하지 않다.