본문 바로가기

Study

검사 전략, 유지보수

검사 전략



- 단위 검사

코딩이 이루어진 후 소프트웨어 설계의 최소 단위인 모듈에 초점을 맞추어 검사하는 것

화이트 박스 검사 기법을 사용하고 인터페이스, 외부적 I/O, 자료 구조, 경계 조건 등을 검사함




-하향식 통합 검사

  • 프로그램의 상위 모듈에서 하위 모듈 방향으로통합하면서 검사하는 기법

  • 일시적으로 필요한 조건만을 가지는 임시로 제공되는 시험용 모듈 스터브가 필요



-상향식 통합 검사

  • 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합하면서 검사하는 기법

  • 가장 하위 단계 모듈부터 통합 및 검사가 수행되므로 스터브는 필요없지만 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터가 필요




-검증(확인, 인수) 검사

  • 소프트웨어가 사용자의 요구사항을 충족시키는가에 중점을 두고 검사하는 방법

  • 통합 검사가 끝난 후 전체가 하나의 소프트웨어 단위로 통합되어 요구 사항 명세서를 토대로 진행하며 블랙 박스 테스트 기법을 사용

  • 검증 검사의 종류
    * 형상검사(구성검토, 감사) : 
    소프트웨어 구성 요소, 목록, 유지보수를 지원하기 위해서 필요한 모든 사항들이 제대로 표현되었는지 검사하는 기법

    * 알파 검사 :
    개발자의 장소에서 사용자가 개발자 앞에서 행하는 검사 기법
    통제된 환경에서 행하며 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하며 기록

    * 베타 검사 :
    선정된 최종 사용자가 여러명의 사용자 앞에서 수행하는 검사 기법
    실업무를 가지고 사용자가 직접 시험하는 것으로 개발자에 의해 제어되지 않은 상태에서 검사가 행해지며 발견된 오류와 사용상의 문제점을 기록하고 개발자에게 주기적으로 보고




- 시스템 검사(System Test)
  • 개발된 소프트웨어가 해당 컴퓨터 시스템에서 완벽하게 수행되는지 검사하는 것
  • 시스템 검사의 종류
    *복구 검사 : 소프트웨어에 여러 가지 결함을 주어 실패하도록 한 후 올바르게 복구되는지 확인하는 검사
    *보안 검사 : 시스템 내에 설치된 보호 도구가 부적당한 침투로부터 시스템을 보호할 수 있는지 확인하는 검사
    *강도 검사 :
    비정상적 상황에 소프트웨어를 실행시키기 위한 검사로 비정상적인 빈도 등 자원을 요구하는 환경에서 실행
    *성능 검사 : 통합된 시스템에서 소프트웨어의 실행시간을 검사하기 위한 것으로 검사 단계 전 과정에 걸쳐 수행



- 디버깅
검사 단계에서 검사 사례에 의해 오류를 찾은 후 그 오류를 수정하는 과정으로 디버깅 접근법에는 맹목적 강요, 역추적, 원인 제거 등이 있음











유지 보수
  • 개발된 소프트웨어의 품질을 항상 최상의 상태로 유지하기 위한 것으로 소프트웨어 개발 단계 중 가장 많은 노력과 비용이 투입되는 단계
  • 소프트웨어가 사용자에게 인수되고, 설치된 후 발생하는 모든 공학적 작업
  • 소프트웨어 유지보수를 용이하게 하려면 시험 용이성, 이해성, 수정 용이성, 이식성 등이 고려되어야 함
  • 유지보수의 유형
    *수정(Corrective) 보수 (수리, 교정, 정정, 하자 보수)
    시스템을 운영하면서 검사 단계에서 발견하지 못한 잠재적인 오류를 찾아 수정하는 활동

    *적응(Adaptive) 보수 (환경적응, 조정 보수)
    소프트웨어의 수명 기간 중 운영체제나 컴파일러와 같은 프로그래밍 환경 변화와 주변장치 또는 다른 시스템 요소가 향상되거나 변경될 때 기존의 소프트웨어에 반영하기 위해 수행하는 활동

    *완전화(Perfective) 보수 (기능 개선, 기능 보수)
    소프트웨어의 본래 기능에 새로운 기능을 추가하거나 성능을 개선하기 위해 소프트웨어를 확장시키는 활동
    유지보수 활동 중 가장 큰 업무 및 비용을 차지하는 활동

    *예방(Preventive) 보수
    장래의 유지보수성 또는 신뢰성을 개선하거나 소프트웨어의 오류 발생에 대비해 미리 예방 수단을 강구해 두는 활동