상세 컨텐츠

본문 제목

SW개발방법론 - 테스트, 오류, 결함, 장애, 블랙박스테스트, 화이트박스테스트, 소프트웨어개발

정보처리기사/정보처리기사_필기

by JORDON 2023. 1. 27. 11:22

본문

반응형

 

 

 

V모델

폭포수모델(Waterfall)에서 시스템 검증과 테스트 작업을 강조한 모델로 11개의 소프트웨어 테스팅 프로세스로 구성된 효과적인 소프트웨어 테스팅 방법

폭포수모형에서 시스템검증과 테스트작업을 강조한 모델

개발 생명주기의 각 단계와 그에 상응하는 소프트웨어 시험 각 단계의 관계를 표시

작업과 결과의 검증에 초첨

 

Validation VS Verification 의 차이

Validation

- 개발단계의 산출물이 그 단계의 초기 설정된 조건에 만족하는지 여부를 결정하기 위해 구성요소나와 시스템을 평가하는 프로세스

- SDLC에서 어느 단계의 산출물이 이전단게에서 설정된 개발규격과 요구들을 충족시키는지 여부를 확인

- 리뷰(Review), 워크쓰루(Work-Through),인스팩션(Inspection), 동료검토

- 최종적으로 과정을 테스트

Verification

- 명시된 요구사항들을 만족시키는지 여부를 확인하기 위해 개발단계 말이나 중간에 구성요소나 시스템을 평가하는 프로세스

- 사용자 시각으로 올바른 소프트웨어가 개발되었는지 입증하는 과정

- 어느 단계의 개발제품이 최초의 사용자 요구 또는 소프트웨어 요구에 적합한지를 입증하기 위한 활동

- 테스트, 정적분석, 단위테스트, 통합테스트, 시스템테스트, 인수테스트

- 최종적으로 결과를 테스트

 

각 개발 단계에 매칭되는 4가지 단계의 테스팅 모델로 정의 테스트 절차를 강화한 모델

요구분석 기준의 요구 검증 및 확인 상세 설계기준의 기능 인터페이스 기능을 확인

 

- ISTQB의 테스팅 방법론에 정의됨

 

올바른 프로젝트를 구현하였는가? VS 프로젝트를 옳바르게 구현하였는가?

Validation VS Verification

 

상위 - 요구 추출과 운영

중간 - 인터페이스 구조로 매핑하는부분

하위 - 모둘의 조립과 코딩

 

 

 

동료검토

- 테스트 이전 작업산출물의 결함을 동료들과 함께 찾아내는 것

- 개발동료들이 검출된 결함의 개선을 위해 정의도니 순서를 따르는 소프트웨어 작업 산출물을 검토하는 작업

워크쓰루

  • 개발 산출물을 작성하는 중에 산출물을 검토하고 결함을 찾아내는 기법
  • 주로 작성자의 요청에 의해 이루어지며, 중간 산출물을 대상으로 함
  • 후속작업에 대한 검사가 생각될 수 있음
  • 인스펙션에 비해 비형식적인 동료 검토 방법

인스펙션

  • 저자 외 다른 전문가가 검사하는 가장 공식적인 리뷰 기법
  • 문서화된 절차를 기반
  • 소프트웨어 명세를 만족하는지 검증
  • 코딩 전까지는 소요 인력 2배 이상 필요하나 추후 인력 감소로 인해 결과적 품질 비용 감소, 개발 기간 단축
  • 인스펙션 구성원 중 경영자는 제외(표면적 오류만 찾아내려는 경향 발생)

리뷰

- 동료검토를 포함한 모든것에 대해 리뷰하는 것

 

 

테스트계획서

테스트의 목적과 목표 범위를 지정

배포 계획 단계 초기에 테스트팀이 테스트계획을 세우는 것을 의미

테스트 방법론을 선정

테스트에 필요한 하드웨어 소프트웨어를 정의

 

- 테스트의 종류 - 

컴포넌트 테스트

- 소프트웨어의 서브 프로그램 모듈, 프로시저 등에 대한 결함을 발견하기 위해 테스트 수행

통합테스트

- 컴포넌트 및 시스템을 통합하고 테스트 하는 활동

시스템테스트

- 최종 구현된 코드의 작동을 검증하는 활동으로 소프트웨어와 하드웨어를 통합하고 이를 검증하는 활동으로 통합된 시스템의 요구사항을 만족하는지에 대한 테스트 수행 

인수테스트

- 시스템이 사용자에게 인수되기전에 사용자에 의해 실시되는 테스트

 

 

결함관리

산출물에 대한 품질 점검 동료검토 또는 시험을 통하여 식별되는 것으로 고객 요구 사항에 충족되지 않는 것을 지칭

산출물에 대한 동료검토, 합동검토

 

오류

결함이되는 요소

부정확한 결과를 초래하는 인간의 활동 인간의 실수 

 

결함

에러가 소프트웨어상에 나타나는 것으로 모든 결함이 장애로 이어지지는 않음

주로, 오류가 모여 결함이 발생

 

장애

시스템이 의도대로 동작하지 않거나 동작하지 말아야하는 것이 동작함

결함발생으로 인해 프로그램이 정상적으로 작동하지 않는 상태를 일컫는다.

 

테스트 케이스

주로 개발이나 테스팅 단계에서 테스터가 작성하고 가장 작은 단위로부터 테스트한다.

 

테스트 시나리오

 테스트 실행을 위한 일련의 행동을 구체적으로 기술해 놓은 것

 

 

테스트

프로그램에 있는 오류를 찾기위해 프로그램을 실행하여 실행결과와 예상결과를 비교하고 검토하는 과정이다.

에러를 발견할 목적으로 프로그램 또는 시스템을 실행하는 프로세스

 

테스트 프로세스

계획과 제어  -> 분석과 설계 -> 구현과 실행 -> 테스트 평가

 

테스트 계획서

프로젝트에 의해 구축되는 시스템의 완정성을 확보하기 위한테스트 방안 및 계획을 기술 

 

정적테스트

테스트 대상을 실행하지 않는 방식으로 테스트를 수행

프로그램을 실행전 소스코드 파싱기반 문법코드

코드를 실행하지 않고 구조를 분석하여 논리성 검증하는 테스트 

동료검토 워크쓰루 인그펙션과 같은 방식을 통해 자동화한다.

 

분석기법

1. 리뷰

2. 정적분석

 

 

동적테스트

프로그램 실행후 결함을 검출하는 방법으로 전체적인 흐름내에서 테스팅을 진행하는 것이다

 

 

블랙박스테스트

상세한 기능 요구사항이 요구됨

소프트웨어의 내부 고조나 작동원리를 모르는 상태에서 소프트웨어동작을 검사하는 방법

개발자입장이 아닌 사용자입장

 

분석기법

1. 동등분할기법

2. 경계값 분석기법

3. 오류측정 기법

4 .원인과 결과 그래프기법

5. 의사결정 테이블테스팅

6. 상태전이 테스팅

 

화이트박스테스트

소스코드 구조방식을 이해하기 위해 이용하는 테스트 방식

소프트웨어 혹은 제품의 내부구조 동작을 세밀하게 검사하는 테스트방식

설계 단계에서 요구되는 사항을 확인하는 개발자 관점의 단위테스팅

 

분석기법

1. 문장검증

2. 분기검증

3. 경로검증

4 .조건검증

 

반응형

관련글 더보기

댓글 영역