테스팅하는 목적 및 품질 특성을 염두에 두고, 소프트웨어 시스템을 검증하는 일련의 테스트 활동을 말한다.

 

테스트 유형은 다음과 같은 특정한 테스트 목적에 중점을 둔다.

- 소프트웨어가 수행하는 기능에 대한 테스팅

- 호환성, 신뢰성, 사용성과 같은 비기능적인 품질 특성 테스팅

- 소프트웨어나 시스템의 구조나 아키텍처에 대한 테스팅

- 변경 내용에 관련된 테스팅, 예를 들어, 결함에 대한 수정이 이루어졌는 지에 대한 확인 테스팅과 의도하지 않은 변경을 찾는 리그레션 테스팅

 

기능적 그리고 구조적 테스팅은 소프트웨어의 모델을 이용하거나 필요한 경우 이러한 모델을 생성해 가면서 테스팅하는 것이다. 예를 들어, 기능적 테스팅은 프로세스 흐름 모델, 상태 전이 모델이나 평문 언어 명세 등을 이용하여 테스팅할 수 있고, 구조적 테스팅은 제어 흐름 모델이나 메뉴 구조 모델 등을 이용하여 테스팅할 수 있지만, 이러한 산출물들이 개발단계에서 의미있게 도출하지 않았다면 리스크가 높은 업무에 한해서 테스터가 직접 이러한 산출물들을 만들어 내면서 테스트를 설계하는 것이다.

 

2.3.1 기능 테스팅

 

실행되어야 하는 서브시스템 또는 컴포넌트의 기능은 요구사항명세, 유즈케이스 또는 기능적인 명세와 같은 개발 산출물에 기술되어 있거나, 문서화되지 않을 수 있다. 여기서 기능은 시스템이 수행하는 그 "무엇"을 의미한다.

 

기능 테스팅은 문서화되어 있거나 테스터가 알고 있는 기능과 특징, 그리고 그것들과 특별한 시스템과의 상호 운용성을 고려하여 수행하며 모든 테스트 레벨에서 수행될 수 있다. 예를 들어, 컴포넌트 테스트 레벨에서의 기능 테스팅은 컴포넌트 명세를 기반으로 한다.

 

기능 테스팅은 명세기반기법을 이용해 소프트웨어나 시스템의 기능에서 테스트 조건과 테스트 케이스를 도출하고, 소프트웨어의 외부적인 행동을 고려한다.

 

ISO/IEC 9126에서는 기능성이라는 품질 특성에 적합성, 정확성, 준수성, 상호운용성, 보안성 등의 부특성을 포함시키고 있다.

 

보안성 테스팅은 악의적인 코드와 같은 외부로부터의 위협을 감지해 내는 것과 관련이 있는 기능(방화벽)을 확인한다.

- 보안정책 확인

- 시스템으로 침투하는 보호되지 않는 진입점(트랩도어) 파악

- 가용성, 무결성, 기밀성, 부인방지 등의 보안 관련 평가

 

상호운용성 테스팅은 하나 또는 여러 개의 명시된 컴포넌트나 시스템이 서로 상호작용하는 소프트웨어 제품의 능력을 평가하는 것이다.

 

 

 

 

2.3.2 비기능 테스팅

......

 

2.3.3 구조적 테스팅

......

 

2.3.4 확인(재)/리그레션 테스팅

......

 

'품질 > 품질통제' 카테고리의 다른 글

필통 사용성 평가  (0) 2022.11.20
SW결함 심각도별 분류  (0) 2022.05.17
테스트케이스 작성법  (0) 2022.04.01
품질자동화 Redmine 형식  (0) 2022.01.19
Redmine Feedback 품질자동화 양식  (0) 2022.01.13

+ Recent posts