No. | Test Category |
1 | Static / Unit Testing |
2 | SW Unit Integration Testing |
3 | SW Component Integration Testing |
4 | SW Testing |
5 | HW SW Integration |
6 | System Element Integration |
7 | System Testing ( Acceptance Testing ) |
테스트 유형은 다음과 같은 특정한 테스트 목적에 중점
- 소프트웨어가 수행하는 기능에 대한 테스팅
- 호환성, 신뢰성, 사용성과 같은 비기능적인 품질 특성 테스팅
- 소프트웨어나 시스템의 구조나 아키텍처에 대한 테스팅
- 변경 내용에 관한 테스팅 ( 유지보수 테스팅)
소프트웨어 테스트 설계 기법의 종류
- 테스트 기법을 블랙박스와 화이트박스로 구분하는 전통적 방식
- 테스트 설계의 근원을 기분으로 명세 기반 기법, 구조 기반 기법, 경험 기반 기법, 분류하는 기준
- 여기서 전통적인 기법 분류와 연계하여 명세 기반 기법과 경험 기반 기법을 블랙박스 기법으로 보고, 구조 기반 기법을 화이트박스 기법으로 간주
명세 기반 기법의 일반적인 특징
- 해결할 문제를 명세하기 위해 공식적이거나 비공식인 모델을 사용한다.
- 이러한 모델에서 테스트 케이스를 시스템적으로 도출하는 것이 가능하다.
- 커버리지를 측정할 수 있으나 그 의미가 구조 기반 기법의 커버리지에 비해 제한적이다
ex) 상태 전이 커버리지, 결정 테이블 커버리지, 요구사항 커버리지 등.
구조 기반 기법의 일반적인 특징
- 코드와 개발 설계 등의 소프트웨어 구현 정보를 기반으로 테스트 케이스를 도출한다.
- 수행된 테스트 케이스를 바탕으로 테스트 커버리지를 측정할 수 있으며, 커버리지를 높이기 위해 테스트 케이스를 시스템적으로 도출해 추가할 수 있다.
경험 기반 기법의 일반적인 특징
- 테스트 관련 인력의 지식이나 경험으로 테스트 케이스를 도출한다.
- 테스터, 개발자, 사용자의 소프트웨어에 대한 지식
- 소프트웨어에서 자주 발생하는 결함이나 결함 분포 등의 지식
Black - box testing
- 내부 설계 구조나 작동원리를 모르는 상태에서 동작을 검사하는 테스트방식에 해당한다.
- 올바른 값과, 올바르지 않은 값을 입력값으로 주어, 도출된 결과를 보고 판단하는 방식이 Blackbox test이다.
- 블랙박스 테스트는 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트로, 기능 테스트라고도 한다.
White - box testing
- 응용 프로그램의 내부 구조와 로직(Logic)을 검사하는 테스트방식으로, 내부 소스코드를 테스트하는 방식을 예로 들 수 있다.
- 화이트박스 테스트는 소프트웨어, 모듈 등의 소스코드를 오픈시킨 상태에서 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법이다.
Black - box testing과 White - box testing의 비교
구분 | Black-box testing | White-box testing |
목적 | 시스템의 내부 동작 및 코드 구조에 대한 지식 없이 기능적인 측면을 테스트하는 데 중점을 둡니다. | 소프트웨어의 내부 동작, 코드 로직, 구조에 집중하여 테스트합니다. |
접근 방식 | 시스템을 외부에서 살펴보며 입력과 출력 간의 관계를 테스트합니다. | 코드의 내부를 살펴보고, 각각의 구성 요소에 대한 테스트를 수행합니다. |
테스트 케이스 설계 | 테스트 케이스는 요구 사항 명세서에 기반하여 설계되며, 시스템이 예상대로 작동하는지 확인합니다. | 코드의 특정 부분이나 경로에 초점을 맞추어 설계됩니다. 논리적인 결함이나 코드 실행 경로 등을 확인합니다. |
테스터의 지식 | 시스템 내부 동작에 대한 세부 정보를 알 필요가 없습니다. | 테스터는 소스 코드에 대한 지식이 필요하며, 코드의 내부 동작을 이해해야 합니다. |
Funtional Test
- Functional Testing은 소프트웨어 애플리케이션의 기능이 요구 사항과 일치하는지 검증하기 위한 테스트 프로세스를 의미합니다.
- 이는 사용자의 입장에서 애플리케이션의 기능을 확인하고 예상대로 작동하는지 확인하는 것을 중점으로 합니다.
- Functional Testing은 개발된 소프트웨어가 사용자 요구사항을 충족하는지 검증하는 데 도움이 됩니다.
'Embedded > 미래자동차SW캠프' 카테고리의 다른 글
ISO 26262 (0) | 2023.12.07 |
---|---|
소프트웨어 테스트 케이스 생성 방법 (0) | 2023.12.06 |
소프트웨어 품질 (0) | 2023.12.04 |
소프트웨어 개발 특성과 테스트 프로세스 (4) | 2023.12.04 |
요구사항 개발 프로세스의 이해 (0) | 2023.11.28 |