도도한 개발자

[정보처리기사] 복습 D-1 본문

자격증/정보처리기사

[정보처리기사] 복습 D-1

Kiara Kim 2022. 5. 6. 20:40

@ 통합 테스트(단통시인)

  단위 테스트
    - 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트하는 단계

  통합 테스트
    - 단위 테스트를 통과한 모듈 사이의 인터페이스, 통합된 컴포넌트 간의 상호작용을 검증하는 테스트 단계

  시스템 테스트
    - 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지를 검증하는 테스트 단계

  인수 테스트
    - 계약상의 요구사항을 만족했는지 확인하기 위한 테스트 단계



@ 블록체인
    - 분산 데이터베이스의 한 형태로 분산 노드의 운영자에 의한 임의조작이 불가능하도록 고안되어 지속적으로 성장
      하는 데이터 기록 리스트인 블록을 연결한 모음으로 비트 코인의 기반 기술이다.



@ 블랙박스 테스트
    - 소프트웨어가 수행할 특정 기능을 알기 위해, 각 기능이 완전히 작동되는 것을 입증하는 테스트



  @ 블랙박스 테스트 유형(동경결상 유분패원비)

      1. 동등분할 테스트 = 동치분할 테스트(Equivalence Partitioning Testing)
          - 입력 데이터의 영역을 유사한 도메인 별로 유효 값/무효 값을 그룹핑하여 대푯값 테스트 케이스를 도출하여
            테스트 하는 기법

      2. 경곗값 분석 테스트 = 한곗값 테스트(Boundary Value Analysis Testing)
          - 등가 분할 후 경곗 값 부분에서 오류 발생 확률이 높기 때문에 경곗 값을 포함하여 테스트 케이스를 설계하여
            테스트 하는 기법

      3. 결정 테이블 테스트(Decision Table Testing)
          - 요구사항의 논리와 발생 조건을 테이블 형태로 나열하여, 조건과 행위를 모두 조합하여 테스트 하는 기법

      4. 상태 전이 테스트(State Transition testing)
          - 테스트 대상·시스템이나 객체의 상태를 구분하고, 이벤트에 의해 어느 한 상태에서 다른 상태로 전이되는
            경우의 수를 수행하는 테스트 기법

      5. 유스케이스 테스트(Use Case Testing)
            - 시스템이 실제 사용되는 유스케이스로 모델링 되어있을 때 프로세스 흐름을 기반으로 테스트 케이스를 
              명세화 하여 수행하는 테스트 기법

      6. 분류 트리 테스트(Classification Tree Method Testing)
            - SW의 일부 또는 전체를 트리 구조로 분석 및 표현하여 테스트 케이스를 설계하여 테스트 하는 기법

      7. 페어와이즈 테스트 (Pairwise Testing)
            - 테스트 데이터값 간에 최소한 한 번씩을 조합하는 방식

      8. 원인-결과 그래프 테스트(Cause-Effect Graphing Testing)
            - 그래프를 활용하여 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석하여 효용성이 높은 테스트 케이스
              를 선정하여 테스트 하는 기법

      9. 비교 테스트(Comparison Testing)
            - 여러 버전의 프로그램에 같은 입력 값을 넣어서 동일한 결과 데이터가 나오는지 비교해 보는 테스트 기법

    
@ 화이트박스 테스트
    - 각 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트



@ 화이트 박스 테스트 유형(구결조 조변다 기제데)

        1. 구문 커버리지(Statement Coverage)
            - 프로그램 내의 모든 명령문을 적어도 한 번 수행하는 커버리지


        2. 결정 커버리지=선택 커버리지 (Decision Coverage) = 분기 커버리지(Branch Coverage)
            - 결정 포인트 내의 전체 조건식이 적어도 한 번은 참과 거짓의 결과를 수행하는 테스트 커버리지


        3. 조건 커버리지(Condition Coverage)
            - 결정 포인트 내의 개별 조건식이 적어도 한 번은 참과 거짓의 결과가 되도록 수행하는 테스트 커버리지


        4. 조건/결정 커버리지(Condition/Decision Coverage)
            - 전체 조건식 뿐만 아니라 개별 조건식도 참 한 번, 거짓 한 번 결과가 되도록 수행하는 테스트 커버리지


        5. 변경 조건/결정 커버리지(Modified Condition/Decision Coverage)
            - 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록 함으로써
          조건/결정 커버리지를 향상시킨 커버리지


        6. 다중 조건 커버리지(Multiple Condition Coverage)
            - 결정 조건 내 모든 개별 조건식의 모든 가능한 조합을 100% 보장하는 커버리지


        7. 기본 경로 커버리지 = 경로 커버리지 (Base Path Coverage)
            - 수행 가능한 모든 경로를 테스트하는 기법


        8. 제어 흐름 테스트(Control Flow Testing)
            - 프로그램 제어 구조를 그래프 형태로 나타내어 내부 로직을 테스트하는 기법


        9. 데이터 흐름 테스트(Data Flow Testing)
            - 제어 흐름 그래프에 데이터 사용현황을 추가한 그래프를 통해 테스트하는 기법


    @ 시맨틱 웹(Semantic Web)

      - 정보와 자원의 관계를 온톨로지로 표현하고 컴퓨터에서 처리할 수 있는 지능형 웹



    @ 온톨로지(Ontology)
      - 실세계에 존재하는 개념과 속성, 개념간에 관계정보를 컴퓨터가 이해할 수 있는 언어로 서술한 지식베이스



    @ VPN
      - 인터넷과 같은 공중망에 터널링을 사용하여, 사설망 같은 서비스를 제공하는 가상 네트워크



    @ 라운드 로빈(Round Robin)
      - 프로세스는 같은 크기의 CPU 시간을 할당, 프로세스가 할당된 시간 내에 처리완료를 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기중인 다음 프로세스로 넘어감



    @ SRT(Shortest Remaining time first)
      - SJF(비선점형) 기법을 선점형으로 바꾼 형태
      - 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가
        준비 큐에 생기면 언제라도 프로세스 점유가 되는 방식



   SJF(Shortest Job First)
      - 비선점형
      - 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시 까지 자원을
        점유하는 방식



    @ 다단계 피드백 큐 (Multi Level Feedback Queue)
      - 새로운 프로세스는 높은 우선순위를 가지고 프로세스의 실행시간이 길어질수록 점점 낮은 큐로 이동하고
        마지막 단계는 라운드 로빈 방식을 적용하는 방식
      - FCFS + Round Robin



    @ 다단계 큐 (Multi Level Queue)
      - 작업들을 여러 종류의 그룹으로 분할, 여러 개의 큐를 이용하여 상위 단계 작업에 의한 하위 단계 작업이
        선점당함



@ 식별기술(Identification)     

    디지털 객체 식별자 -> DOI(Digital Object Identifier)
      - 디지털 저작물에 특정한 번호를 부여하는 일종의 바코드 시스템


    URI (Uniform Resource Identifier)
      - 인터넷에 있는 자원을 고유하게 식별하기 위함 (URL + URN)

    소규모 릴리즈 (Small Release)
        - 고객의 요구사항에 좀더 유연하게 대응할 수 있도록 릴리즈를 축소한 것


데이터그램 방식
    - 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송하는 방식


@ 소프트웨어 개발 방법론

  구조적 방법론(Structured Development)
      - 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론

  정보공학 방법론(Information Engineering Development)
      - 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론

  객체지향 방법론(Object-Oriented Development)
      - '객체'라는 기본 단위로 시스템을 분석 및 설계하는 방법론

  컴포넌트 기반 방법론(CBD; Component Based Development)
      - 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론


  @ 사용성 테스트(Usability Test)
      - 사용자가 직접 제품을 사용하면서 미리 작성된 시나리오 맞추어 과제를 수행한 후 질문에 답하도록 하는 테스트