Challenges/정보처리기사

[정보처리기사]2.소프트웨어 개발/애플리케이션 테스트 관리/개발 단계에 따른 애플리케이션 테스트

뚱요 2021. 8. 26. 01:00
반응형

개발 단계에 따른 애플리케이션 테스트

 

1)v모델 22년 1회 필기, 실기

소프트웨어 개발 프로세스로 폭포수 모델의 확장형으로 하향식으로 선형적으로 단계로 가다가 테스트 활동에서 V자 모양으로 진행

생명주기(SLDC)의 각 단계와 상응하는 테스트 활동과의 관계를 보여줌

Perry에 의해 제안되었으며 세부적인 테스트 과정으로 구성되어 신뢰도 높은 시스템을 개발하는데 효과적

테스트 순서 : 단위

개발 :  요구 분석 - 아키텍쳐 설계- 모듈 설계- 구현 
             
테스트: 단위-  통합- 시스템- 인수 
폭포수 모델과 비교
개발 작업과 검증 작업 사이의 관계를 명확히 들어내 놓은 폭포수 모델의 변형
폭포수 모델이 산출물 중심이라면 V모델은 작업과 결과의 검증에 초점

2)개발자가 검증하는 단계

2.1) 단위 테스트(Unit Test)

- 코딩 직후 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트 하는 것

- 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행

- 명세 기반 테스트, 구조 기반 테스트 중 주로 구조 기반 테스트를 시행함

2.2) 통합 테스트(Integration Test)

- 단위 테스트가 완료된 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정에서의 테스트를 의미

- 모듈 간 또는 통합된 컴포넌트 간의 상호 작용 오류 검사

  • 비점진적 통합 방식 : 빅뱅 테스트
  • 점진적 통합 방식:상향식 테스트, 하향식 테스트, 혼합식 테스트
  • (1)상향식 통합 테스트(Bottom Up Integration Test)- 검사를 위해 드라이버 생성 __21년 3회 실기 기출
    1.  하위 모듈 클러스터(Cluster)로 결합
    2. 더미 모듈인 드라이버(Driver) 작성
    3. 통합된 클러스터 단위로 테스트
    4. 테스트 완료 후 클러스터를 상위 결합, 드라이버는 실제 모듈로 대체
      • 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터(Cluster) 필요
      •  하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 기법
  • (2) 하향식 통합 테스트(Top Down Integration Test)  20년 1, 2, 3회 기출, 21년 2회 실기
    • 깊이 우선 & 넓이 우선 통합법 사용
    • 테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있음
    • 프로그램의 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법
    • 상위 모듈에서는 테스트 케이스 사용하기 어려움
      1. 주요 제어 모듈은 작성된 프로그램을 사용, 주요 제어 모듈의 종속 모듈은 스텁(Stub)으로 대체
      2. 깊이 우선 또는 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텁(Stub)들이 한 번에 하나씩 실제 모듈로 교체
      3. 모듈이 통합될 때마다 테스트 실시
      4. 새로운 오류가 발생하지 않음을 보증하기 위해 회귀 테스트 실시

Stub(스텁)
하향식 통합 테스트 수행 위해 일시적으로 필요한 조건만 가지고 임시로 제공되는 시험용 모듈

  • (3) 혼합식 통합 테스트(샌드위치식 통합 테스트 방법)
    • 상하위 수준을 다르게 하여 최적의 테스트를 지원하는 방식
      • 상위 수준: 하향식 통합 
      • 하위 수준: 상향식 통합

 

2.3) 시스템 테스트(System Test)

- 개발된 소프트웨어가 컴퓨터 시스템에서 완벽하게 수행되는가를 점검하는 테스트

- 실제 사용 환경과 유사하게 만든 테스트 환경에서 테스트 수행해야 함

- 구분: 기능적 요구사항(블랙박스 테스트) 비기능적 요구사항(화이트박스 테스트)

 

사용가자 확인하는 단계

2.4) 인수 테스트(Acceptance Test)Black Box

- 개발한 소프트웨어가 사용자의 요구사항을 충족하는지에 중점을 두는 테스트

  • 알파 테스트 통제된 환경에서 사용자가 개발자와 함께 확인하면서 행하는 테스트 기법
  • 베타 테스트 통제되지 않은 환경에서 여러 명의 사용자가 행하는 테스트 기법(게임 베타 테스터!!)
  • 사용자, 운영상, 계약, 규정
  • 회귀 테스팅 통합테스트로 인해 변경된 모듈/컴퓨넌트에 새로운 오류 여부 확인해서 보증함
반응형