본문 바로가기
  • 코딩, 허쌤이 떠먹여 줄게
BackEnd/정보처리기사

정보처리기사 실기 — 10 애플리케이션 테스트 관리 정리

by 허쌤 2026. 4. 28.

정보처리기사 실기 — 10 애플리케이션 테스트 관리 정리

실기·서술형에서 결함(Error–Defect–Failure), 커버리지, 코드 품질·리팩토링, 성능 테스트·분석, 결함 관리(우선순위·심각도·분류·분석)가 자주 묶여 출제됩니다. 아래는 Notion 요약과 시험용 키워드를 맞춘 압축 정리입니다.


1. 소프트웨어 결함(Error · Defect · Failure)

용어 설명
Error(오류) 사람에 의해 만들어진 실수. Defect(결함)의 원인
Defect / Bug(결함) Error로 인해 코드·산출물에 포함된 결함. 제거하지 않으면 Failure로 이어질 수 있음
Failure / Problem(고장·문제) Defect가 실행될 때 나타나는 현상(증상)

한 줄: 사람의 실수(Error) → 결함(Defect) → 실행 시 고장(Failure).


2. 테스트 커버리지

정의: 테스트가 얼마나 수행·도달되었는지를 나타내는 지표.

유형 모수(측정 기준)
기능 기반 커버리지 전체 기능 대비 테스트된 기능 비율
라인 커버리지 소스 라인 수 대비 실행된 라인 비율
코드 커버리지 구문(코드)이 테스트에 의해 실행·도달된 정도

시험·실무에서 “커버리지”라고 하면 대부분 코드 커버리지를 가리키는 경우가 많음.

암기: 능 · 인 · 드 (기·라·코).


3. 리팩토링(Refactoring)

  • 정의: 외부 동작(기능)은 바꾸지 않고 내부 구조·코드를 개선하는 작업.
  • 목적: 유지보수성 향상, 품질·생산성 향상, 변경에 유연한 구조.

4. 클린 코드(Clean Code)와 작성 원칙

  • 클린 코드: 읽기 쉽고(가독성), 단순하며, 유지보수에 유리한 코드.

작성 원칙(5) — 암기: 가단의 중추

  1. 독성
  2. 순성
  3. 존성 최소화
  4. 복 제거
  5. 상화

5. 코드 품질 분석 도구

구분 설명 예시
정적 분석 실행 없이 소스·구조 분석 PMD, Cppcheck, SonarQube, Checkstyle, Cobertura(커버리지 등)
동적 분석 실행하며 메모리·동작 분석 Avalanche, Valgrind

6. 나쁜 코드 관련 용어

용어 요지
스파게티 코드 동작은 하나 구조가 복잡해 이해·추적이 어려운 코드
베드 코드(Bad Code) 다른 개발자가 로직을 이해하기 어려운 코드
외계인 코드 오래되었거나 참고할 개발자·문서가 없어 유지보수가 매우 어려운 코드

베드 코드 유형(5) — 암기: 오문이 결침

  1. 염: 비즈니스 기능을 제대로 못 하는 컴포넌트가 많음
  2. 서 부족: 코드와 문서 불일치
  3. 미 없는 이름
  4. 합도가 높음
  5. 식된 아키텍처: 설계가 변형되어 품질 저하

7. 성능 테스트 수행 방법(4단계) — 암기: 도환시성

  1. 구 설치
  2. 경 설정
  3. 나리오 작성
  4. 능 테스트 실행 및 모니터링

8. 성능 저하 원인 — DB 관련(5) — 암기: 락페 릭사커

  1. (DB Lock): Lock 해제 전까지 대기·타임아웃
  2. 치 과다: 불필요한 대량 Fetch, 커서 이동 등으로 응답 지연
  3. (Connection Leak): JDBC 등 연결 미종료로 자원 고갈
  4. 이즈: Connection Pool 크기 부적절(너무 작거나 큼)
  5. 밋: 트랜잭션 미커밋/지연 반환, 불필요한 커밋 빈번

9. 성능 분석 지표(4) — 암기: 처응경사

지표 설명
리량(Throughput) 단위 시간에 처리 가능한 트랜잭션·페이지
답시간(Response Time) 사용자 입력 ~ 응답 출력 시작까지
과시간(Elapsed Time) 입력 ~ 처리 ~ 결과 출력 완료까지
용률(Resource Utilization) 처리 중 CPU·메모리 등 자원 사용 정도

10. 결함 우선순위(Priority)(4) — 암기: 크·하·미·로

우선순위 의미
Critical 이 결함 때문에 전체 기능이 동작하지 않음
High 이 결함 때문에 다른 기능이 동작하지 않음
Medium 중간 수준
Low 낮음

11. 결함 심각도(Severity)(5) — 암기: 크메노마심 / 뜻: 치주보경단

심각도 뜻(한 줄)
Critical(치명적) 테스트 진행이 어려울 정도
Major(주요) 기능이 기대와 다르게 동작
Normal(보통) 사소한 기능 오작동
Minor(경미) UI 오류 등
Simple(단순) 미관상 문제

우선순위는 “언제 고칠지·업무 중요도”, 심각도는 “결함 자체의 파급·깊이”에 가깝게 구분해 서술하면 안전합니다.


12. 결함 분류(4) — 암기: 시기지문

  1. 스템 결함: 비정상 종료, DB 오류 등
  2. 능 결함: 요구사항 불일치, 스크립트 오류 등
  3. (GUI) 결함: 잘못된 메시지·화면 등
  4. 서 결함: 매뉴얼·명세와 실제 불일치

13. 결함 분석(에이징 · 추세)

분석 내용
결함 에이징(Aging) 분석 특정 결함이 얼마나 오래 열려 있는지(지속 시간) 측정
결함 추세(Trend) 분석 테스트 기간에 따른 결함 수·추이를 측정·관찰

14. 실기·서술용 한 줄 모음

  • Error는 사람의 실수이고, Defect는 그로 인한 결함이며, Failure는 실행 시 나타나는 고장 현상이다.
  • 테스트 커버리지는 기능·라인·코드 커버리지로 나누며, 통상 코드 커버리지를 말한다.
  • 리팩토링은 기능 변경 없이 내부를 개선해 유지보수성을 높인다.
  • 클린 코드 원칙은 가독성·단순성·의존성 최소화·중복 제거·추상화이다.
  • 정적 분석은 SonarQube 등, 동적 분석은 Valgrind 등이 예이다.
  • 성능 테스트는 도구 설치 → 환경설정 → 시나리오 → 실행·모니터링 순으로 한다.
  • 결함 우선순위는 Critical·High·Medium·Low, 심각도는 Critical·Major·Normal·Minor·Simple이다.
  • 결함 에이징은 지속 시간, 추세 분석은 시간에 따른 결함 수 변화이다.

15. 시험 직전 체크리스트(2분)

  • Error → Defect → Failure 관계를 한 문장으로 말할 수 있다
  • 커버리지 3종(기능·라인·코드)을 구분할 수 있다
  • 리팩토링 = 기능 불변 + 유지보수성 향상
  • 클린 코드 5원칙(가단의 중추)
  • 정적 vs 동적 분석 도구를 각각 1개 이상 예로 든다
  • 성능 테스트 4단계(도환시성), DB 성능 5원인(락페 릭사커)
  • 성능 지표 4가지(처응경사)
  • 우선순위 4단계 vs 심각도 5단계를 혼동하지 않는다
  • 결함 분류 4가지(시기지문), 에이징 vs 추세 분석