셀테/2. 소프트웨어 공학

테스트 종류

SWExpert 2022. 10. 13. 22:55

I. 소프트웨어 테스트 정의

-   노출되지 않은 숨어 있는 결함(fault)를 찾기 위해 소프트웨어를 작동시키는 일련의 행위와 절차

-   오류 발견을 목적으로 프로그램을 실행하여 품질을 평가하는 과정

II. 소프트웨어 테스트 목적 및 특징

가. 소프트웨어 테스트 목적: 

-   프로그램에 잠재된 오류 발견

-   기술적인 기능 및 성능의 확인

-   사용자의 요구 만족도 향상, 제품의 신뢰도 향상

 

나. 소프트웨어 테스트 특징

-   Test Case 선정, 테스트 계획 수립에 따른 영향을 받음

-   Good Case는 미발견 결함 발견 확률이 높음

-   성공적인 시험은 결함을 찾는데 있음

III. 소프트웨어 테스트 유형별 종류 및 대상별 종류

가. 소프트웨어 유형별 종류

 

구분 종류 특징
테스트 기법 화이트박스 테스트 - 프로그램 내부 로직을 보면서 테스트(구조 테스트)
- 구조: 프로그램의 논리적 복잡도 측정 후 수행경로들의 집합 정의
- 루프: 프로그램 루프구조를 대상(초기/경계/증가값 등)
블랙박스 테스트 - 프로그램 외부 명세를 보면서 테스트(기능 테스트)
- 동등분할, 경계값 분석, Cause-Effect 그래프, 오류예측 기법 등
- Data Driven Test
프로그램
실행여부
동적테스트 - 프로그램 실행을 요구하는 테스트
- 화이트박스, 블랙박스
정적테스트 - 프로그램 실행 없이 구조를 분석하여 논리성 검증
- 코드검사: 오류유형 체크리스트 및 역할에 의한 공식적인 검사방법
- 워크스루: 역할 및 체크리스트가 없는 비공식적 검사방법
테스트에
대한 시각
검증
(Verification)
- 과정을 테스트(Are we building the product right?)
- 올바른 제품을 생산하고 있는지 검증
확인
(Validation)
- 결과를 테스트(Are we building the right product?)
- 만들어진 제품이 제대로 동작하는지 확인
테스트 단계 단위테스트 - 모듈의 독립성 평가, White Box 테스트
통합테스트 - 모듈간 인터페이스 테스트(결함 테스트)
시스템 테스트 - 전체 시스템의 기능수행 테스트(회복, 안전, 강도, 성능, 구조)
인수테스트 - 사용자 요구사항 만족도 평가(확인, 알파, 베타)
설치테스트 - 사용자 환경
테스트 목적 회복테스트 - Recovery, 고의적 실패 유도
안전테스트 - Security, 불법적인 소프트웨어
강도테스트 - Stress, 과다 정보량 부과
성능테스트 - Performance,응답시간, 처리량, 속도
구조테스트 - Structure, 내부논리 경로, 복잡도 평가
회귀테스트 - Regression,변경 또는 교정이 새로운 오류를 발생시키지 않음 확인
병행테스트 - 변경시스템과 기존 시스템에 동등한 데이터로 결과 비교

 

나.소프트웨어 대상별 종류

테스트 대상 종류 내용
산출물 정적기법 실제 제품이 구현되기 전에 요구사항 정의서, 설계서, 코드등의 개발 중간 산출물을 실행없이 테스트 하는 기법
비공식 리뷰, 기술적리뷰, 워크쓰루, 인스펙션, 정적분석
실제 시스템 동적기법 실제 프로그램을 테스터가 직접 실행 하는 기법으로 내부 구조에 의한 방법 및 테스트 설계에 따라 분류됨
시스템 내부 구조의 참조여부 : 블랙박스, 화이트 박스
테스트 설계 근원에 따른 분류 : 명세,구조, 경험기반 테스트

'셀테 > 2. 소프트웨어 공학' 카테고리의 다른 글

테스트 설계  (0) 2022.10.13
블랙박스, 화이트박스 테스트  (0) 2022.10.13
테스트 프로세스  (1) 2022.10.13
SW 테스트 설계 기법  (0) 2022.07.23