Sury 2025. 5. 12. 18:21
2과목. 소프트웨어 개발 > 2장. 통합 구현 > 테스트 : 블랙박스 테스트, 블랙박스 테스트 종류, 테스트 결함 관리 측정 지표, 테스트 단계, 테스트 드라이버, 테스트 설계 기법, 테스트 스텁, 테스트 시나리오, 테스트 오라클, 테스트 오라클의 종류, 테스트 자동화 도구, 테스트 자동화의 목적, 테스트 케이스, 테스트의 원리, 테스트의 유형, 통합 테스트의 점증적 방법, 화이트박스 테스트, 화이트박스 테스트 종류
  • 테스트의 원리
    • Brooks의 법칙
      • 프로젝트 중 새로운 인력을 투입할 경우 작업 적응기간과 부작용으로 인해 일정이 더 지연되는 현상
      • S.W Project 일정이 지연된다고 해서 Project 말기에 새로운 인원을 추가 투입하면 Project는 더욱 지연되게 된다는 법칙
    • 무어의 법칙
      • 마이크로 칩의 처리 능력은 18개월마다 2배로 늘어난다는 법칙
    • 암달의 법칙
      • 프로그램은 병렬 처리가 가능한 부분과 불가능한 순차적인 부분으로 구성되므로 프로세서를 아무리 병렬화 시켜도 더 이상 성능이 향상되지 않는 성능 향상의 한계가 존재한다는 법칙
    • 길더의 법칙
      • 조지 길더의 말에서 유래된 정보통신 법칙
      • 광섬유의 대역폭은 12개월 마다 3배씩 증가한다는 법칙
    • 멧갈프의 법칙
      • 하나의 네트워크의 유용성 또는 효용성은 그 네트워크 사용자의 제곱에 비례한다는 법칙
    • 구스타프슨의 법칙
      • 대용량 데이터 처리는 효과적으로 병렬화할 수 있다는 법칙
      • 병렬화로 얻을 수 있는 프로그램의 성능 향상은 프로그램의 순차적인 부분에 의해 제한된다는 암달의 법칙에 대한 반대 개념
    • 리드의 법칙
      • 컴퓨터 네트워크가 사회적 네트워크와 결합 될 때 그 네트워크의 가치는 N의 제곱(멧칼프 법칙)으로 증가하는 것이 아니라 2의 N제곱으로 증가한다는 법칙
      • 집단형성 네트워크 (GFN) 라고도 함
    • 눈덩이 효과, 요르돈 법칙
      • 눈 덮인 산꼭대기에서 눈 뭉치 하나를 굴려 내렸을 때 산 밑에 도달한 눈덩이는 엄청난 크기가 되어 있는 현상
      • 소프트웨어 개발 초기 체계적인 분석 및 설계가 수행되지 않을 경우 그 결과가 프로젝트 후반에서는 비용이 상당한 영향으로 온다는 법칙
      • 테스팅은 개발 초기에 시작해야 한다는 원칙 : 애플리케이션의 개발 초기 단계에 테스트를 계획하고 SDLC의 각 단계에 맞춰 전략적으로 접근하는 것을 고려
      • 유사 : 하인리히 법칙 (1 : 29 : 300 의 법칙 - 대형사고가 발생하기 전에는 그와 관련된 수십차례의 경미한 사고와 수백 번의 징후들이 반드시 나타남)
  • 테스트의 기본 7원칙
    • 테스팅은 결함이 존재함을 밝히는 활동 : 테스팅은 소프트웨어의 잠재적인 결함을 줄일 수 있지만 결함이 발견되지 않아도 결함이 없다고 증명할 수 없음
    • 완벽한 테스팅은 불가능 : 무한 경로, 무한 입력 값, 무한 시간이 소요되어 완벽하게 테스트할 수 없으므로 리스크 분석과 우선순위를 토대로 테스트에 집중
    • 테스팅은 개발 초기에 시작 : 애플리케이션 개발 단계에 테스트를 계획하고 SDLC의 각 단계에 맞춰 전략적 접근
    • 결함 집중 (파레토 법칙) : 결함의 대부분이 소수의 특정한 모듈에 집중되어 존재, 80대 20의 법칙
    • 살충제 패러독스 : 동일한 테스트 케이스로 반복 실행하면 결함을 발견할 수 없으므로 주기적으로 테스트 케이스를 리뷰하고 개선
    • 테스팅은 정황에 의존 : 정황과 비즈니스 도메인에 따라 테스트를 다르게 수행
    • 오류 - 부재의 궤변 : 어떤 소프트웨어도 오류가 완벽하게 해소된 제품을 만들어낼 수 없음
  • 테스트 오라클
    • 테스트 오라클의 개념 : 테스트 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참 값을 입력하여 비교하는 기법 및 활동
    • 테스트 오라클의 유형
      • 참 오라클 : 모든 입력 값에 대하여 기대하는 결과를 생성함으로써 발생된 오류를 모두 검출할 수 있는 오라클
      • 샘플링 오라클 : 특정한 몇 개의 입력 값에 대해서만 기대하는 결과를 제공해주는 오라클
      • 휴리스틱 오라클 : 샘플링 오라클을 개선한 오라클, 특정 입력 값에 대해 올바른 결과 제공, 나머지 값들에 대해서는 휴리스틱 (추정)으로 처리하는 오라클
      • 일관성 검사 오라클 : 애플리케이션 변경이 있을 때 수행 전과 후의 결과 값이 동일한 지 확인하는 오라클
  • 테스트 케이스
    • 테스트 케이스의 개념
      • 특정한 프로그램의 일부분 또는 경로에 따라 수행하거나 특정한 요구사항을 준수하는지 확인하기 위해 설계된 입력 값, 테스트 데이터, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서
    • 테스트 케이스 자동생성 도구
      • 자료 흐름도 : 자료 원시 프로그램을 입력 받아 파싱한 후 자료 흐름도 작성, 테스트 경로 관리
      • 기능 테스트 : 주어진 기능을 구동시키는 모든 가능한 상태를 파악하여 이에 대한 입력 작성
      • 입력 도메인 분석 : 원시 코드의 내부를 참조하지 않고 입력 변수의 도메인을 분석하여 테스트 데이터를 작성, 테스트 데이터 산출
      • 랜덤 테스트 : 입력 값을 무작위로 추출하여 테스트, 무작위 값 입력, 신뢰성 검사
      • 스터브(스텁, Stub), 드라이버(Driver) : 단위테스트, 통합테스트 시 사용하는 모듈을 제공 (임시 모듈)
        • 스텁 : 하위 모듈 제공 - 상위 모듈은 있지만 하위 모듈은 없는 경우 사용하는 기법, 하향식 통합 테스트에 사용
        • 드라이버 : 상위 모듈 제공 - 하위 모듈은 있지만 상위 모듈은 없는 경우 사용하는 기법, 상향식 통합 테스트에 사
    • 테스트 케이스의 구성 요소
      • 식별자 : 항목 식별자, 일련번호
      • 테스트 항목 : 테스트 대상 - 모듈 또는 기능
      • 입력 명세 : 입력 데이터 또는 테스트 조건
      • 출력 명세 : 테스트 케이스 수행 시 예상되는 출력 결과
      • 환경 설정 : 필요한 하드웨어나 소프트웨어의 환경
      • 특수 절차 요구 : 테스트 케이스 수행 시 특별히 요구되는 절차
  • 테스트 자동화 도구
    • 설계 단계
      • 명세 기반 테스트 설계 도구 : 소프트웨어 명세로부터 테스트 절차, 데이터, 드라이버 등 생성
      • 코드 기반 테스트 설계 도구 : 소스 코드로부터 테스트 절차, 데이터, 드라이버 등 생성
      • 테스트 관리 도구 : 테스트 계획수립, 프로세스 관리, 요구사항 및 결함 추적 관리
    • 구현 / 테스트 단계
      • 정적 분석 도구 : 프로그램을 수행하지 않고 분석하는 도구, 복잡도 측정 등을 수행
      • 리뷰 및 인스펙션 도구 : 소스 코드 / 설계 문서를 분석하여 가이드 라인 및 규칙 준수 검사
      • 커버리지 측정 도구 : 주어진 테스트 케이스에 의해 얼마나 테스트 되었는가를 측정
      • 동적 분석 도구 : 프로그램이 수행되는 동안 이벤트의 상태를 파악하기 위하여 특정한 변수나 조건의 스냅샷을 생성 및 활용
      • 성능 / 부하 / 시뮬레이션 도구 : 시스템 부하를 생성하고, 반응 시간 및 메모리 사용량 평가
      • 기능 테스트 수행 도구 : 주어진 테스트 케이스 자동 수행, 예상 결과와 비교, 단위, 통합, 시스템, 인수의 모든 단계에서 수행
  • 테스트 설계 기법

    • 구조기반 기법
      • 소프트웨어나 시스템의 구조를 중심으로 테스트 케이스를 선정하여 테스트하는 기법
      • 종류 : 기본 경로, 루프 검사, 제어 구문 검사, 데이터 흐름 검사 기법
    • 명세기반 기법
      • 테스트 케이스를 프로그램 명세서를 기반으로 테스트 케이스를 선정하여 테스트하는 기법
      • 종류 : 동등 분할 기법, 경계값 분석, 결정 테이블 기법, 상태 전이 테스트, 유즈케이스 테스트, 페어와이즈 테스트, 직교 배열 테스트 기법
    • 경험기반 기법
      • 프로그램 명세서와 같은 산출물 없이 테스터의 경험을 기반으로 테스트 수행하는 기법
      • 종류 : 탐색적 테스트, 즉흥적 테스트, 분류 트리기법
  • 테스트의 종류
    • 화이트박스 테스트
      • 소스 코드 내부를 보면서 제어 구조, 루프 등을 확인하는 테스트 기법
      • 개발자 관점 테스트, 주로 개발 단계에서 수행
      • Verification이 적합
      • 인수테스트의 방식
      • 모듈의 원시코드를 오픈 시킨 상태에서 원시코드의 논리적인 모든 경로를 검사하여 결함을 찾는 테스트 기법
      • 화이트 박스 테스트의 종류 : 기본 경로 테스팅, 구조 검사, 루프 검사, 제어 흐름 테스트, 데이터 흐름 검사
        • 기본 경로 검사
          • Tom McCabe가 제안한 대표적인 화이트 박스 테스트 기법
          • 수행 가능한 모든 경로 검사 (회전 복잡도)
        • 반복경로 검사 (루프 검사) : 프로그램의 반복 구조에 초점을 맞추어 검사
        • 제어 구문 검사 : 프로그램의 조건문에 초점을 맞추어 검사
        • 데이터 흐름 검사 : 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞추어 검사
    • 블랙박스 테스트
      • 사용자 관점에서 원시 코드는 보지 않고 목적 코드를 데이터 중심의 입출력 기준으로 수행하여 결함을 찾는 테스트 기법
      • 기능을 검사하기 위한 테스트 기법
      • 소스코드를 보지 않고 수행하는 테스트
      • 문장의 수행 여부는 알 수 없음
      • 종류 : 동등 분할 테스팅, 경계값 분석, 의사 결정 테이블 테스팅, 페어와이즈 테스팅, 유즈케이스 테스팅, 분류 트리 테스팅, 상태 전이 테스팅
        • 동등 분할 테스팅 Equivalence Partitioning Testing
          • 입력 값 범위를 유사한 특징을 갖는 동등 그룹으로 분리한 후, 대표값을 선정하여 테스트하는 기법
          • 하나의 값으로 분할 내의 모든 값을 대표하는 것으로 간주하는 테스트 기법
        • 의사 결정 테이블 테스팅 Decision Table Testing
          • 주요한 의사결정 요소를 표로 만들고, 요소들 간의 결합에 의해 TC 설계
          • 요구사항 명세를 분석하고 시스템의 조건과 동작에 대해 식별함으로서 테스트 케이스를 설계
        • 페어와이즈 테스팅 Pairwise Testing
          • 대부분 결함이 2개의 요소 Pair의 상호 작용에 기인한다는 것에 착안
          • 각 값들이 다른 파라미터의 값과 최소 한번씩은 조합을 이루도록 구성하는 테스트 기법
        • 유즈케이스 테스팅 Use-Case Testing
          • 유즈케이스나 비즈니스 시나리오를 기반으로 테스트 케이스를 설계하는 기법
        • 분류 트리 테스팅 Classification Tree Testing
          • 입력값과 출력값을 트리 형태로 만들어서 특정 입력값에 따라서 결정되는 출력값이 정해지도록 만든 테스트 기법
        • 상태 전이 테스팅 State Transition Testing
          • 상태 전이 다이어그램 기반으로 상태 - 이벤트 기반의 시스템 동작을 확인하는 테스트 기법
        • 경계값 분석 Boundary Value Analysis
          • 주어진 입력값 혹은 출력값의 경계값을 기준으로 테스트 케이스를 선정하는 기법
          • 결함 발견율이 높고, 적용하기 쉬움
          • 경계에 해당하는 값은 +1, -1 범위의 값들
          • 대표적인 명세 기반 기법 중 하나
          • 등가 분할의 경계 부분에 해당되는 입력값에서 결함이 발견될 확률이 경험적으로 높기 때문에 결함을 방지하기 위해 경계값까지 포함하여 테스트하는 기법
          • 경계값 분석 기법의 특징
            • 경계값을 고려하여 테스트 케이스를 설계
            • 경계값 분석은 등가 분할과 마찬가지로 모든 테스트 레벨, 테스트 형태, 테스트 분류에 적용 가능
            • 결함 발견율이 높고 적용하기 쉬운 장점이 있어 가장 많이 사용되는 테스트 기법 중 하나
            • 경계값을 명시한 자세한 명세서가 지원 될 경우 적용하기가 수월
          • 경계값 분석의 종류
            • 만약 x1, x2 두 값이 다음 범위 안에서 존재 시
              • Boundary Value Analysis : a ≤ x, ≤ b / c ≤ x, ≤ d
                • Test case가 경계선에서의 min, min+, normal, max-, max value로 산출, 이때 test case의 개수는 4n+1개
              • Robustness Testing
                • Boundary Value Analysis에서 약간만 확장된 개념으로 max+ 값만 더 추가됨
                • max + 값 을 테스트 함으로써, 예외사항들을 다룰 수 있게 되며, 보통 경계값 분석을 한다고 하면 이러한 Robustness Testing 기법을 사용
              • Worst-Case Testing
                • 전기 회로 분석에서 하나 이상의 값이 extreme value일 경우 worst-case analysis이라 함
                • Worst-case Testing에서 각각의 value는 min, min+, normal, max-, max 이렇게 5개의 요소가 세트로 이루어짐
              • Robust Worst-case Tasting
                • 편집증에 가까운 Testing을 필요로 하는 경우 사용
                • 7가지 요소가 세트로 이루어짐
            • 만약 X가 아래와 같은 경우 : a ≤ x ≤ b
              • Random Testing
                • a와 b 값 사이에 Random value를 발생시키기 위해서 수식 사용 : x = int(b-a+1) + rand( ) + a
          • 경계값 분석의 한계점
            • 일련의 동작에 대한 조합을 테스트하기에는 적합하지 않음
            • 입력 범위를 등기 분할하여 제한하더라도 입력값 조합의 수가 테스트 가능한 수를 넘어서는 경우가 없음
            • 입력 조합이 상호간에 독립적 (의존성이 없는)이라는 가정에서만 적합한 기법
            • 출력이 입력 조건이나 변수를 사이의 관계에 따라 달라지는 경우, 입력 조건을 등가분할 하는 것이 매우 어려움
    • 통합 테스트 (통합 검사)
      • 상향식 통합 검사 : 드라이버 사용

        • 상향식 통합의 정의
          • 애플리케이션 구조에서 최하위 레벨의 컴포넌트로부터 위쪽 방향으로 제어 경로를 따라 이동하면서 테스트를 시작
          • 최하위 레벨의 컴포넌트들이 하위 컴포넌트의 기능을 수행하는 클러스터로 결합
        • 상향식 통합 원리
          • 상위 컴포넌트 개발이 수행하지 못한 경우 더미 컴포넌트인 드라이버를 작성해 각 통합된 클러스터 단위를 테스트 수행, 이후 테스트가 완료되면 각 클러스터들은 프로그램 위쪽으로 결합되며 드라이버는 실제 컴포넌트로 대체
      • 하향식 통합 검사 : 스텁 사용

        • 하향식 통합의 정의
          • 메인 제어 컴포넌트부터 아래 방향으로 제어의 경로를 따라 이동하면서 하향식으로 통합하면서 테스트를 진행
          • 메인 제어 컴포넌트는 작성된 프로그램을 사용, 아직 작성되지 않은 하위 제어 컴포넌트 및 모든 하위 컴포넌트를 대신하여 더미 컴포넌트인 스텁을 개발
        • 하향식 통합 원리
          • 깊이 - 우선 방식 또는 너비 - 우선 방식에 따라, 하위 컴포넌트인 스텁이 한 번에 하나씩 실제 컴포넌트로 대체됨
          • 검사 초기에는 시스템의 구조를 사용자에게 보여줄 수 있음
      • 임시 모듈
        • 스텁 (Stub) : 하위 모듈 제공 - 상위 모듈은 있지만 하위 모듈은 없는 경우 사용하는 기법
        • 드라이버 (Driver) : 상위 모듈 제공 - 하위 모듈은 있지만 상위 모듈은 없는 경우 사용하는 기법
    • 검증 검사 기법

      • 단위 테스트 (단위 검사) : 구현된 단위 모듈의 기능 수행 여부를 판정하고 내부에 존재하는 논리적 오류를 검출하는 활동
      • 통합 테스트 (통합 검사) : 모듈 간의 인터페이스 연계를 검증하고 오류를 확인, 모듈 간의 상호 작용 및 연계 동작이 제대로 기능하는지를 점검
      • 시스템 테스트 (시스템 검사) : 단위, 통합 테스트 후 전체 시스템이 정상적으로 작동하는지 판정하는 기능을 점검
      • 인수 테스트 (인수 검사) : 사용자 요구분석 명세서에 명시된 사항을 모두 충족하는지 판정하고 시스템이 예상대로 동작하고 있는지 점검
        • 알파 테스트 (알파 검사) : 개발자가 제공하는 환경에서 기능 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 검사하는 기법, 개발자 환경에서 테스트
        • 베타 테스트 (베타 검사) : 다수의 사용자를 제한되지 않은 환경에서 프로그램을 사용하게 하고 오류가 발견되면 개발자에게 통보하는 방식, 사용자 환경에서 테스트

 

 

800제-26번. 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?

① Brooks의 법칙
② Boehm 의 법칙
③ Pareto 의 법칙
④ Jackson 의 법칙

 

정답 : 3

 

 

800제-32번. White Box Testing에 대한 설명으로 옳지 않은 것은?

① Basic Path Testing, Boundary Value Analysis가 대표적인 기법이다.
② Source Code의 모든 문장을 한 번 이상 수행함으로써 진행된다.
③ 모듈 안의 작동을 직접 관찰할 수 있다.
④ 산출물의 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.

 

정답 : 1 

 

 

800제-323번. 하향식 통합시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈은? 

① Stub
② Driver
③ Procedure
④ Function 

 

정답 : 1

 

 

800제-331번. 다음 중 블랙박스 검사 기법은?

① 경계값 분석
② 조건 검사
③ 기초 경로 검사
④ 루프 검사 

 

정답 : 1

 

 

800제-334번. 테스트 케이스에 일반적으로 포함되는 항목이 아닌 것은?

① 테스트 조건
② 테스트 데이터
③ 테스트 비용
④ 예상 결과 

 

정답 : 3

 

 

800제-430번. 블랙박스 테스트를 이용하여 발견할 수 있는 오류가 아닌 것은?

① 비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우 
② 정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우
③ 반복 조건을 만족하는데도 루프 내의 문장이 수행되지 않는 경우 
④ 경계값을 입력할 경우 요구된 출력 결과가 나오지 않는 경우 

 

정답 : 3 

 

 

800제-531번. 개별 모듈을 시험하는 것으로 모듈이 정확하게 구현 되었는지, 예정한 기능이 제대로 수행되는지를 점검하는 것이 주요 목적인 테스트는?

① 통합 테스트(Integration Test)
② 단위 테스트(Unit Test)
③ 시스템 테스트(System Test)
④ 인수 테스트(Acceptance Test)

 

정답 : 2

 

 

800제-539번. 테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?

① 스터브(Stub)와 드라이버(Driver)
② 입력 도메인 분석
③ 랜덤(Random) 테스트
④ 자료 흐름도 

 

정답 : 1 

 

 

800제-631번. 다음에서 설명하는 테스트 용어는?

<설명>
- 테스트의 결과가 참인지 거짓인지 판단하기 위해서 사전에 정의된 참 값을 입력하여 비교하는 기법 및 활동을 말한다.
- 종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다.

① 테스트 시나리오
테스트 데이터
테스트 케이스
테스트 오라클 

 

정답 : 4

 

 

800제-638번. 블랙박스 테스트를 이용하여 발견할 수 있는 오류가 아닌 것은?

① 비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우
② 정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우
③ 반복 조건을 만족하는데도 루프 내의 문장이 수행되지 않는 경우
④ 경계값을 입력할 경우 요구된 출력 결과가 나오지 않는 경우  

 

정답 : 3

 

 

800제-733번. 테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?

① 스터브(Stub)와 드라이버(Driver)
② 입력 도메인 분석
③ 랜덤(Random) 테스트
④ 자료 흐름도 

 

정답 : 1 

 

 

800제-736번. 다음에서 설명하는 통합테스트 방식은 무엇인가?

<설명>
- 상위 컴포넌트 개발이 안되었을 경우 드라이버(Driver)를 활용한다.
- 최하위 레벨의 컴포넌트들이 하위 컴포넌트의 기능을 수행하는 클러스터로 결합한다.
- 테스트가 완료되면 각 클러스터들은 프로그램의 위쪽으로 결합된다.

① 하향식 통합 테스트
② 상향식 통합 테스트
③ 회귀 테스트
④ 빅뱅 테스트 

 

정답 : 2

 

800제-737번. 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?

① Brooks의 법칙
② Boehm 의 법칙
③ Pareto 의 법칙
④ Jackson 의 법칙

 

정답 : 3

 

1000제-268번. 다음 테스트 원칙 중 요르돈 법칙 또는 눈덩이 효과(Snow Ball Effect)와 가장 관련이 높은 것은?

① 완벽한 테스트는 불가능하다.
② 테스팅은 개발 초기에 시작해야 한다.
③ 결함 집중(Defact Clustering)
④ 살충제 패러독스(Pesticide Paradox) 

 

정답 : 2 

 

 

1000제-271번. 화이트박스 테스트에 대한 설명으로 가장 옳지 않은 것은?

① 제품의 내부 요소들이 명세서에 따라 수행되고 충분히 실행되는가를 보장하기 위한 검사이다.
② 모듈 안의 작동을 직접 관찰한다.
③ 프로그램 원시 코드의 논리적인 구조를 커버하도록 테스트 케이스를 설계한다.
④ 화이트박스 테스트 기법에는 조건 검사, 루프 검사, 비교 검사 등이 있다.  

 

정답 : 4 

 

 

1000제-272번. 블랙박스 테스트 기법에 관한 다음 설명과 가장 부합하는 것은? 

<설명>
여러 버전의 프로그램에 동일한 자료를 제공하여 동일한 결과가 출력되는지 검사하는 기법이다.

① Boundary Value Analysis
② Cause Effect Graphing Testing
③ Equivalence Partitioning Testing
④ Comparison Testing 

 

정답 : 4

 

 

1000제-282번. 검증(Validation) 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행해지며, 오류와 사용 상의 문제점을 사용자와 개발자가 함께 확인하면서 검사하는 기법은?

① 디버깅 검사
② 형상 검사
③ 베타 검사
④ 알파 검사 

 

정답 : 4 

 

 

1000제-285번. 블랙박스 검사 기법 중 다음 설명에 해당하는 것은? 

<설명>
검사 사례 설계를 프로그램의 입력 명세 조건에 따라 설정한다. 즉, 검사 사례는 일반적으로 입력 데이터에 해당하므로 프로그램의 입력 조건에 중점을 두고, 어느 하나의 입력 조건에 대하여 타당한 값과 그렇지 못한 값을 설정한다. 

① 경계값 분석
② 원인 효과 그래픽 기법
③ 동치 분할 검사
④ 비교 검사 

 

정답 : 3 

 

 

1000제-286번. 상향식 통합 검사에 대한 설명으로 옳지 않은 것은?

① 깊이 우선 통합법 또는 넓이 우선 통합법에 따라 스터브를 실제 모듈로 대치한다.
② 검사를 위해 드라이버를 생성한다.
③ 하위 모듈들을 클러스터로 결합한다.
④ 하위 모듈에서 상위 모듈 방향으로 통합하면서 검사한다. 

 

정답 : 1

 

 

1000제-287번. 하향식 통합 검사(test)에 대한 설명으로 가장 옳지 않은 것은?

① 시스템 구조의 위층에 있는 모듈부터 아래층의 모듈로 내려오면서 통합한다.
② 일반적으로 스터브(Stub)를 드라이버(driver)보다 쉽게 작성할 수 있다.
③ 검사 초기에는 시스템의 구조를 사용자에게 보여줄 수 없다.
④ 상위층에서 검사 사례(test case)를 쓰기가 어렵다. 

 

정답 : 3 

 

 

1000제-289번. 다음은 테스트 오라클에 대한 설명이다. 가장 거리가 먼 것은?

① 참 오라클은 모든 입력 값에 대하여 기대하는 결과를 생성함으로써 발생된 오류를 모두 검출할 수 있는 오라클이다. 
② 샘플링 오라클은 특정한 몇 개의 입력 값에 대해서만 기대하는 결과를 제공해 주는 오라클이다.
③ 휴리스틱 오라클은 샘플링 오라클을 개선한 오라클로 특정 입력값에 대해 올바른 결과를 제공하고, 나머지 값들에 대해서는 휴리스틱(추정)으로 처리하는 오라클이다.
④ 일관성 검사 오라클은 테스트 전후에 값의 변화가 없고 일관성이 있는지 검출하는 오라클이다. 

 

정답 : 4 

 

 

1000제-290번. 다음 중 테스트 설계 기법에 해당되지 않는 것은?

① 구조 기반 기법
② 명세 기반 기법
③ 동적 분석 기법
④ 경험 기반 기법 

 

정답 : 3

 

 

1000제-291번. 다음 중 소프트웨어 테스트에 대한 설명으로 옳은 것을 고르시오.

① 화이트박스 테스트(White-box Test)는 프로그램 내부의 구조와는 관계 없이 외부에 제공하는 기능 중심으로 모든 기능들이 정상적으로 수행되는지 확인한다. 
② 블랙박스 테스트(Black-box Test)는 프로그램 모듈 내부를 상세히 분석하면서 논리적 구조를 체계적으로 점검하는 구조검사이다.
③ 루프 시험(Loop Test)은 블랙박스 테스트 방법 중 하나로 반복문의 오류를 찾는 테스트이다.
④ 경계값 분석(Boundary Value Analysis)은 사용자의 입력 경계값을 검증하는 기법이다. 

 

정답 : 4 

 

 

1000제-293번. 다음 테스트 자동화 도구 중 프로그램을 수행하지 않고 분석하는 도구로서 복잡도 측정 및 호출 관계를 분석할 수 있는 도구는?

① 성능 테스트 도구
② 정적 분석 도구
③ 동적 분석 도구
④ 커버리지 측정 도구 

 

정답 : 2 

 

 

1000제-308번. 다음 중 화이트박스 테스트 방법이 아닌 것은?

① 기본 경로 테스팅
② 구조 검사
③ 동등 분할 검사
④ 제어 흐름 검사 

 

정답 : 3

 

 

1000제-327번. 다음 중 테스트와 세부 기법이 알맞게 짝지어진 것은 무엇인가?

① 화이트 테스트 - 분류 트리 테스팅
② 블랙박스 테스트 - 기본 경로 테스팅
화이트 테스트 - 루프(Loop) 테스팅
블랙박스 테스트 - 데이터 흐름 테스팅 

 

정답 : 3

 

 

1000제-821번. 평가 점수에 따른 성적부여는 다음 표와 같다. 이를 구현한 소프트웨어를 경계값 분석 기법으로 테스트하고자 할 때, 다음 중 테스트 케이스의 입력 값으로 옳지 않은 것은? 
평가점수 성적
80 ~ 100 A
60 ~ 79 B
0 ~ 59 C

① 59
② 61
③ 60
④ 101 

 

정답 : 3

 

 

1000제-826번. 다음 중 화이트 박스 테스트 기법이 아닌 것은?

① 경계값 분석
② 기본 경로 테스팅
③ 루프 테스팅
④ 데이터 흐름 테스팅 

 

정답 : 1

 

 

1000제-831번. 다음이 설명하는 테스트 용어는?

<설명>
- 테스트의 결과가 참인지 거짓인지 판단하기 위해서 사전에 정의된 참 값을 입력하여 비교하는 기법 및 활동을 말한다.
- 종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다. 

① 테스트 시나리오
테스트 데이터
테스트 케이스
테스트 오라클

 

정답 : 4

 

 

1000제-838번. 블랙박스 테스트를 이용하여 발견할 수 있는 오류가 아닌 것은?

① 비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우
② 비정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우
③ 반복 조건을 만족하는데도 루프 내의 문장이 수행되지 않는 경우
④ 경계값을 입력할 경우 요구된 출력 결과가 나오지 않는 경우 

 

정답 : 3

 

 

1000제-937번. 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?

① Brooks의 법칙
② Boehem 의 법칙
③ Pareto 의 법칙
④ Jackson의 법칙 

 

정답 : 3