9. 소프트웨어 테스팅

2021. 1. 26. 23:23Topcit 정리/기술영역 - 소프트웨어 개발

반응형

 

테스팅 개념 및 프로세스

 

테스팅 개념

1. 결함의 존성을 밝히는 행동이다.

2. 완벽한 테스팅은 불가능하다.

3. 테스팅은 개발 초기부터

4. 살충제 패러독스 (살충제 내성 생기는거처럼 같은 테스트 반복하면 버그 못찾음)

5. 테스팅은 정황에 의존적이다.

6. 오류 - 부재의 궤변 (개발된 시스템이 망하면 테스팅 가치 없다) ?

 

테스팅 프로세스

테스트 분석과 설계 - 용이성 평가, 환경 구축 등

테스트 구현과 실행 - 테스트 케이스 명세화, 선행 테스팅, 결과 기록

완료 조건의 평가와 리포팅 - 달성 여부 확인과 리포트 작성

테스트 마감 활동 - 산출물 확인, 테스트 프로세스 평가

테스트 계획과 통제 - 테스트 전략 개발 및 리스크 분석

테스트 추정 및 조직구성 - 리포팅 및 리포팅 계획/설계

 

테스트 케이스 설계 방법

명세 기반 : 

동등 분할 - 동등한 영역에서 같은 값으로 테스트

경계값 분석 - 동등 분할에서 경계값 포함

페어와이즈 조합 테스팅 - 테스트 필요값들이 한번씩 조합이루도록 테이블을 만들고 그에 따라 테스팅

결정 테이블 테스팅 - 테스트 케이스가 적힌 테이블대로 테스팅

상태전이 테스팅 - 이벤트, 액션, 활동 사이 관계를 설계하는 기법

유스케이스 테스팅 - 유스케이스로 모델링 되어있을때, 유스케이스에서 테스트 케이스 도출

 

구조 기반 :

제어 흐름 테스팅 - 컴포넌트를 통해 모든 가능한 이벤트를 테스트

커버리지 테스팅 - 테스트 정도인 커버리지를 달성하기 위한 테스트 기법

최소비교 테스팅 - 변형 조건/결정 개념을 사용하여 입력 값의 조합을 테스트

 

경험 기반 :

탐색적 테스팅 - 테스터가 능동적으로 테스팅

분류 트리 - 분류 트리로 케이스를 조합하여 테스팅

 

 

 

테스팅 유형 및 기법

 

테스팅 유형

인수 테스트 - 요구사항과 일치하는지 확인

시스템 테스트 - 실제 환경과 유사한 환경에서 작동하는지 확인

통합 테스트 - 인터페이스에서 결함 찾기

단위 테스트 - 단위 모듈에서 결함 찾기

 

테스팅 기법

화이스박스 테스팅 : 코드기반 테스트이며, 테스팅 하면서 단위 내를 들여다 볼 수 있다.

블랙박스 테스팅 : 명세기반 테스트 이며, 요구사항대로만 테스트하고 코드는 못본다.

 

 

 

소프트웨어 빌드와 내포

 

소프트웨어 빌드

소프트웨어 빌드란 소스코드를 컴퓨터에서 실행할 수있는 가공물로 변환하는 과정을 말한다.

자주 빌드 테스팅을 통해 기본 동작을 수시로 점검하는것이 중요하다.

 

소프트웨어 배포

시스템을 만드는 모든 행위를 말하며, 고객이나 사용자 특정 요구사항을 모두 개발한 절차를 말한다.

이후 절차로는 업데이트, 서비스 종료등이 있다.

반응형