새소식

반응형
밥벌이/소프트웨어 공학

소프트웨어 테스트의 개요

  • -
반응형
  • 소프트웨어 테스트의 개요
    • 정의
      • 기대되는(Expected) 수행 결과를 무한 실행 도메인(Infinite Execution Domain)에서 적절히 선택된(Selected) 유한(Finite) 테스트 케이스를 통하여 프로그램의 수행 결과를 동적(Dynamic)으로 검증하는 것
Expected 사용자의 기대치, 명세, 묵시적 요구 사항, 합당한 기대치
Selected 테스트 집합의 선택 기준에 따라 효과가 크게 달라짐
Finite 한정된 자원과 일정 대비 무한한 테스트 요구 사항 사이의 Trade-off 고려가 필요
Dynamic 비확정된 시스템 상태에 따라 입력에 대한 프로그램의 실행

   

  • 노출되지 않은 숨어있는 결함(Fault)을 찾기 위해 소프트웨어를 작동시키는 일련의 행위와 절차로, 오류 발견을 목적으로 프로그램을 실행하여 품질을 평가하는 과정
       
  • 목적
    • 프로그램에 잠재된 오류의 발견
    • 기술적인 기능 및 성능의 확인
    • 사용자 요구 사항 만족도 향상
    • 제품에 대한 신뢰도 향상
         
  • 중요성
    • 단순히 코딩이 끝난 후 결함을 찾아내기 위한 한정된 활동이 아니고 개발과 유지보수 프로세스 전체를 포함하는 활동
    • 테스트 계획 수립은 요구 사항 프로세스의 초기 단계에서 시작되어야 하며, 테스트 계획서와 절차는 지속적으로 정제되어야 함.
    • 테스트는 예방이 효과적인지 점검하고 미처 예방하지 못했을 때 결함을 찾아내는 수단
         
  • 소프트웨어 테스트의 계획 수립은 분석 단계 후반기에 수행되어야 하며, 이후 설계 개발 단계를 거쳐 지속적으로 정제되어야 합니다.
  • 테스트의 결과는 테스트 케이스와 시나리오를 얼마나 적정하게 구성하였는지에 따라 결정됩니다.
       
  • 소프트웨어 테스트의 기본 이론
    • 소프트웨어 테스트의 특징
      • 테스트 케이스 선정과 테스트 계획 수립에 따라 영향 받음
      • 좋은 테스트 케이스는 미발견 결함의 발견 확률을 높여줌
      • 성공적인 테스트는 결함을 찾는 데 있음
      • 효율적인 테스트 및 최소 시간 노력이 필수
    • 테스트 집합의 구성 방안
      테스트 대상과 테스트 목적에 따른 테스트 집합의 구성을 결정
구분 내용 기준
테스트의 일관성 테스트의 목적 달성을 위한 테스트 수행 횟수 테스트 타당성 기준
테스트의 구성 테스트의 목적 달성을 위한 테스트 케이스 선택 테스트 선택 기준
  • 테스트 관련 용어
    • 오류(Error) : 계산된 결과와 정확한 결과 사이의 차이
    • 결함(Fault/Defect) : 프로그램에서 잘못된 단계, 프로세스나 데이터의 정의로, 기능 불량의 원인
    • 장애(Failure) : 결함의 부정확한 결과로, 즉 시스템이 제공하는 서비스에서 관찰된 원하지 않은 결과를 의미
    • 착오(Mistake) : 잘못된 결과를 만드는 인간의 행위
  • 테스트 주요 이슈
    • 테스트 선택 기준 및 테스트 타당성 검증 기준
      테스트 선택 기준은 테스트에 적절한 케이스의 집합을 결정하는 방법으로, 테스트가 목적을 충족하여 완료될 수 있는지 결정하는데 이용 가능
    • 결함 식별을 위한 테스트
      결함 식별 을 위한 테스트는 시스템의 장애를 유발해야 성공적임
    • 테스트의 이론과 실제성
      완전한 테스트는 실제 소프트웨어에서 시행하기 어려우므로 테스트는 위험을 기반으로 시행되어야 함
    • 실행 불가능한 경로
      어떤 입력 자료를 넣어도 실행되지 않는 제어 흐름 경로는 테스트에서 심각한 문제임
  • 소프트웨어 테스트의 법칙
    • 개발자가 자기 프로그램을 직접 테스트하지 않음
    • 테스트 케이스는 기대되는 표준 결과를 포함
    • 예측 오류나 기대되지 않는 결함이 있다는 가정 하에 테스트 계획 수립
    • 추가 결함이 발견될 확률은 이미 발견된 결함 수에 정비례
    • 개발 시 노력 분포도 40%(분석/설계) : 20%(개발) : 40%(테스트) 규칙을 제안할 정도로 테스트의 중요성 및 집중도를 요구
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.