[정보처리산업기사] 28강 개발 단계에 따른 애플리케이션 테스트

DongHo Im·2022년 1월 24일
0

정보처리산업기사

목록 보기
28/86

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

소프트웨어의 개발 단계에 따라 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 분류됩니다.

  • 애플리케이션 테스트는 소프트웨어의 개발 단계에서부터 테스트를 수행하므로, 단순히 소프트웨어에 포함된 코드 상의 오류뿐만 아니라 요구 분석의 오류, 설계 인터페이스 오류 등도 발견할 수 있습니다.

  • 애플리케이션 테스트와 소프트웨어 개발 단계를 연결하여 표현한 모양새가 V와 같아서 “V 모델”이라고도 합니다.


2. 단위 테스트

코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트 하는 것입니다.

  • 인터페이스, 외부적 In/Out, 자료구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등을 검사합니다.

  • 사용자의 요구사항을 기반으로 한 기능성 테스트를 우선으로 수행합니다.

  • 구조 기반 테스트와 명세 기반 테스트로 나뉘지만 주로 구조 기반 테스트를 시행합니다.

  • 단위 테스트로 발견 가능한 오류

    • 알고리즘 오류에 따른 원치 않는 결과
    • 탈출구가 없는 문한 루프를 도는 반복문의 사용
    • 틀린 계산 수식에 의한 잘못된 결과
  • 테스트 방법

    • 구조 기반 테스트
      • 프로그램 내부 구조 및 복잡도를 검증하는 화이트 박스 테스트 실행
      • 목적: 제어 흐름, 조건 결정
    • 명세 기반 테스트
      • 목적 및 실행 코드 기반의 블랙박스 테스트 실행
      • 목적: 동등 분할, 경계 값 분석

통합 테스트(결합 테스트)

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

  • 모듈 간 또는 통합된 컴포넌트 간의 상호 작용 오류를 검사합니다.

시스템 테스트

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

  • 환경적인 장애 리스크를 최소화하기 위해서는 실제 사용 환경과 유사하게 만든 테스트 환경에서 테스트를 수행해야 합니다.

  • 기능적 요구사항과 비기능적 요구사항으로 구분하여 각각을 만족하는지 테스트합니다.

    • 기능적 요구사항
      • 요구사항 명세서, 비즈니스 절차, 유스케이스 등 명세서 기반의 블랙박스 테스트 시행
    • 비기능적 요구사항
      • 성능 테스트, 회복 테스트, 보안 테스트, 내부 시스템의 메뉴 구조, 웹 페이지의 네비게이션 등 구조적 요소에 대한 화이트박스 테스트 시행

인수 테스트

개발한 소프트웨어가 사용자의 요구사항을 충족하는지에 중점을 두고 테스트하는 방법입니다.

  • 개발한 소프트웨어를 사용자가 직접 테스트합니다.

  • 문제가 없다면 사용자는 소프트웨어를 인수하게 되고, 프로젝트는 종료됩니다.

  • 인수 테스트는 6가지의 종류로 구분해서 테스트합니다.

    • 사용자 인수 테스트
      • 사용자가 시스템 사용의 적절성 여부 확인
    • 운영상의 인수 테스트
      • 시스템 관리자가 백원/복원 시스템, 재난 복구, 사용자 관리, 정기 점검 등을 확인
    • 계약 인수 테스트
      • 인수/검수 조건을 준수하는 여부 확인
    • 규정 인수 테스트
      • 정부 지침, 법규, 규정에 맞게 개발 확인
    • 알파 테스트
      • 개발자의 장소에서 사용자가 개발자 앞에서 하는 테스트 기법
      • 통제된 환경에서 행해지며, 오류와 문제점을 사용자와 개발자가 함께 확인하며 기록
    • 베타 테스트
      • 선정된 사용자가 여러 명의 사용자 앞에서 하는 테스트 기법(필드 테스팅)
      • 실업무를 가지고 사용자가 직접 테스트 하는 것
      • 개발자에 의해 제어되지 않는 상태에서 테스트 실행
      • 발견된 오류와 문제점을 기록하고 개발자에게 주기적으로 보고
profile
[DATABASE] 비전공자 출신의 개발 도전!

0개의 댓글