2-4 047 개발 단계에 따른 애플리케이션 테스트 [A]

이지우·2024년 5월 5일
0

정보처리기사

목록 보기
39/68

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

소프트 개발 단계에 따라 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 분류됨
(테스트 레벨)

  • 위 그림처럼 표현한 것을 V-모델이라 함
  • 개발 단계에서부터 테스트를 수행하므로 코드 상의 오류뿐만 아니라 요구 분석의 오류, 설계 인터페이스 오류 발견 가능

단위 테스트(Unit Test)

코딩 직후 모듈이나 컴포넌트에 초점을 맞춰 테스트

  • 인터페이스, 외부적 I/O, 자료구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 검사
  • 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행함
  • 구조 기반 테스트
    : 프로그램 내부 구조 및 복잡도를 검증하는 화이트박스 테스트
    : 제어 흐름, 조건 결정 목적
  • 명세 기반 테스트
    : 목적 및 실행 코드 기반의 블랙박스 테스트
    : 동등 분할, 경계 값 분석 목적
  • 주로 구조 기반 테스트 수행

발견 가능한 오류

  • 알고리즘 오류로 원치 않은 결과
  • 탈출구가 없는 반복문
  • 틀린 계산 수식에 의한 잘못된 결과

통합 테스트(Integration Test)

  • 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정 테스트
  • 모듈 간 또는 통합된 컴포넌트 간의 상호 작용 오류 검사

시스템 테스트(System Test)

해당 컴퓨터 시스템에서 완벽하게 수행되는지 점검

  • 환경적인 장애 리스크를 최소화하기 위해 실제 사용 환경과 유사하게 만든 환경에서 테스트 수행해야 함
  • 기능적 요구사항과 비기능적 요구사항으로 구분하여 각각 테스트

인수 테스트(Acceptance Test)

사용자의 요구사항을 충족하는지에 중점을 두고 테스트

  • 사용자가 직접 테스트
  • 문제가 없으면 사용자가 소프트웨어를 인수하고 프로젝트 종료

종류

  • 사용자 인수 테스트
    : 사용자가 시스템 사용의 적절성 여부 확인

  • 운영상의 인수 테스트
    : 시스템 관리자가 백업/복원 시스템, 재난 복구, 사용자 관리, 정기 점검 등을 확인

  • 계약 인수 테스트
    : 계약상의 인수/검수 조건을 준수하는지 여부 확인

  • 규정 인수 테스트
    : 정부 지침, 법규, 규정 등 규정에 맞게 개발되었는지 확인

  • 알파 테스트
    : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트
    : 통제된 환경에서 행해짐
    : 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 기록

  • 베타 테스트
    : 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트
    : 필드 테스팅(Field Testing)이라고도 불림
    : 실업무를 가지고 사용자가 직접 테스트하는 것
    : 개발자에 의해 제어되지 않은 상태에서 테스트가 행해짐
    : 발견된 오류와 사용상의 문제점을 기록하고 개발자에게 주기적으로 보고

profile
노력형 인간

0개의 댓글