본문 바로가기
Work & Study/정보처리기사 필기

정보처리기사 필기 정리 - 2. 소프트웨어 개발 (2-04. 애플리케이션 테스트 관리)

by a.k.a DUKI 2023. 8. 12.
728x90
반응형

정보처리기사 필기 정리 - 2. 소프트웨어 개발

 

Chapter 04 애플리케이션 테스트 관리 (중요도: ★)

  1. 애플리케이션 테스트 케이스 설계
    • 테스트 케이스(Test Case): 특정한 요구사항에 준수하는지 확인하기 위해 개발된 입력 값, 실행 조건, 예상된 결과의 집합
    • 테스트 오라클(Test Oracle): 테스트 결과의 참, 거짓을 판단하기 위해 사전에 정의된 참값을 입력하여 비교하는 기법
      • 테스트 오라클 종류
        • 참 오라클: 모든 입력 값에 결과 생성
        • 샘플링 오라클: 특정한 몇 개의 입력 값에 결과 생성
        • 휴리스틱 오라클: 특정 입력 값에 올바른 결과를 제공하고, 나머지 값들에 대해서 추정으로 처리하는 오라클
        • 일관성 검사 오라클: 애플리케이션 변경 있을 때 전, 후가 결과값이 동일한지 확인
      • 테스트 시나리오(Test Scenario): 테스트 수행을 위한 여러 테스트 케이스의 집합, 동작 순서를 기술한 문서이며 테스트를 위한 절차를 명세한 문서
      • 소프트웨어 테스트 종류
        • 블랙박스 테스트: 내부 구조나 작동 원리를 모르는 상태에서 소프트웨어 동작을 검사 (동등 분할, 경계 값 분석)
        • 화이트 박스 테스트: 내부 구조와 동작을 검사 (제어 구조 시험, 루프시험)
        • 경험 기반 테스트: 경험, 직관, 테스터의 기술 능력으로부터 테스트 케이스를 추출 (탐색적 테스팅, 오류추정, 체크리스트 기반 테스팅)
  2. 애플리케이션 통합 테스트
    • 결함 관리 도구: 결함의 재발 방지를 위해, 유사 결함 발견 시 처리 시간 단축을 위해 결함을 추적하고 관리하는 도구
    • 테스트 커버리지: 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준
      • 테스트 커버리지 유형
        • 기능 기반 커버리지: 실제 테스트가 수행된 기능의 수를 측정하는 방법
        • 라인 커버리지: 테스트 시나리오가 수행한 소스 코드의 라인 수를 측정하는 방법
        • 코드 커버리지: 구조 코드 자체가 얼마나 테스트 되었 지는지를 측정하는 방법
      • 코드 커버리지 종류
        • 구문 커버리지: 프로그램 내 모든 문장을 적어도 한 번 이상 실행하는 것을 기준으로 수행
        • 결정 커버리지: 전체 조건식이 최소한 참/거짓 한 번의 값을 가지도록 측정
        • 조건 커버리지: 각 개별 조건식이 참/거짓 한 번 모두 갖도록 측정
        • 변경 조건/결정 커버리지: 전체 조건식의 결과에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킴
      • 결함 심각도별 분류: 단순(Simple) 결함 -> 경미한(Minor) 결함 -> 보통(Normal) 결함 -> 주요(Major) 결함 -> 치명적(Critical) 결함
      • 결함 우선 순위: 낮음(Low) -> 보통(Medium) -> 높음(High) -> 결정적(Critical)
    • 테스트 자동화 도구: 반복적인 테스트 작업을 스크립트 형태로 구현하여 쉽고 효율적 테스트를 수행할 수 있는 방법
      • 정적 분석 도구(Static Analysis Tools): 애플리케이션을 실행하지 않고 분석하는 방법 (PMD, Checkstyle, Splint 등)
      • 테스트 실행 도구(Test Execution Tools): 테스트를 위해 작성된 스크립트를 실행하여 특정 데이터와 테스트 수행방법을 포함 (JMeter, OpenSTA 등)
      • 성능 테스트 도구: 가상의 사용자를 생성하여 성능 목표를 달성하였는지를 확인 (Cobertura, Clover 등)
      • 테스트 통제 도구: 테스트 관리도구, 형상 관리 도구, 결함 추적/관리 도구 등 (Hudson, Ant, xUnit 등)
    • 테스트 장치 구성요소
      • 테스트 드라이버(Test Driver): 테스트 대상 하위 모듈 호출, 상향식 테스트에 필요
      • 테스트 스텁(Test Stub): 타 모듈의 기능을 단순히 수행, 하향식 테스트에 필요
      • 테스트 슈트(Test Suites): 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합
      • 테스트 케이스(Test Case): 입력 값, 실행 조건, 기대 결과 등의 집합
      • 테스트 스크립트(Test Script): 자동화된 테스트 실행 절차에 대한 명세
      • 목 오프젝트(Mock Object): 사용자의 행위를 조건부로 사전에 입력해 두면 예정된 행위를 수행하는 객체
    • 통합 테스트(Integration Test): 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
  3. 애플리케이션 성능 개선
    • 알고리즘(Algorithm): 자료 구조와 함께 프로그램을 구성하는 요소
      • 알고리즘 기법
        • 분할과 정복: 문제를 나눌 수 없을 때까지 나누고, 각각을 풀면서 다시 병합하여 문제의 답을 얻는 알고리즘
        • 동적계획법: 과거에 구한 해를 활용하는 방식
        • 탐욕법: 가장 좋다고 생각되는 것을 해답으로 선택하는 방식
        • 백트래킹: 노드의 유망성 점검 후 유망하지 않으면 그 노드의 부모 노드로 되돌아간 후 다른 자손 노드를 검색하는 알고리즘

 



2022 수제비 정보처리기사 필기 & 2022 이기적 정보처리기사 필기 책을 참고하여 정리하였다.

 

건기원 수제비 정보처리기사 필기 1권+2권 합본세트 - 전2권 - NCS기반 2022 : 기사북닷컴

[기사북닷컴] 자격증전문서점

smartstore.naver.com

 

2022 이기적 정보처리기사 필기 기본서 - 예스24

본 도서는 필기 시험을 준비하는 수험생을 위한 기본서로 다년 간의 출제 경향을 철저히 분석하여 변경되는 NCS 기반 출제기준에 맞춰 출간되었다. 시험대비 이론을 꼼꼼하게 다루었으며, 출제

www.yes24.com

728x90
반응형