Categories: 정보처리기사

정보처리기사 기출문제 총정리 ⑲ 소프트웨어 품질 – ISO 25010·테스트 전략·메트릭

소프트웨어 품질이란?

소프트웨어 품질은 명시적·묵시적 요구사항을 충족시키는 소프트웨어의 특성 총체입니다. 정보처리기사에서는 ISO 품질 모델, 테스트 전략, 품질 메트릭이 출제됩니다.

ISO/IEC 25010 (SQuaRE)

소프트웨어 제품 품질 특성을 8가지로 분류합니다.

  • 기능 적합성(Functional Suitability): 요구 기능을 얼마나 충족하는가
  • 성능 효율성(Performance Efficiency): 자원 사용 대비 성능
  • 호환성(Compatibility): 다른 제품과의 공존·상호운용성
  • 사용성(Usability): 사용자가 쉽고 효과적으로 사용 가능한 정도
  • 신뢰성(Reliability): 특정 조건에서 지정 기간 동안 정상 기능 유지
  • 보안성(Security): 무결성, 기밀성, 인증, 부인방지
  • 유지보수성(Maintainability): 수정의 용이성
  • 이식성(Portability): 다른 환경으로의 이전 용이성

코드 복잡도 메트릭

McCabe의 순환 복잡도 (Cyclomatic Complexity)

  • 제어 흐름 그래프에서 독립 경로 수 측정
  • 공식: V(G) = E – N + 2P (E: 간선, N: 노드, P: 연결 성분)
  • 단순화: 의사결정 포인트(if, while, for, case) 수 + 1
  • 복잡도 1~10: 단순, 11~20: 중간, 21~50: 복잡, 50 이상: 테스트 불가 수준

기타 코드 메트릭

  • LOC(Lines of Code): 코드 줄 수 (단순하지만 널리 사용)
  • 팬인(Fan-in): 특정 모듈을 호출하는 모듈 수 (높을수록 재사용성 높음)
  • 팬아웃(Fan-out): 특정 모듈이 호출하는 모듈 수 (높을수록 의존성 높음)

테스트 커버리지

  • 구문(Statement) 커버리지: 모든 구문이 최소 1번 실행. 가장 약한 기준
  • 결정(Decision/Branch) 커버리지: 모든 분기(참/거짓)가 최소 1번 실행
  • 조건(Condition) 커버리지: 각 조건식이 참/거짓 모두 실행
  • MC/DC: 조건·결정 커버리지 조합. 항공 소프트웨어 요구 기준
  • 경로(Path) 커버리지: 모든 실행 경로 테스트. 가장 강한 기준

기술 부채 (Technical Debt)

단기 이익을 위해 최선이 아닌 선택을 한 결과로 발생하는 추가 작업 비용. 방치 시 이자(유지보수 비용)가 증가합니다.

  • 의도적 기술 부채: 일정 압박으로 알면서 타협
  • 비의도적 기술 부채: 지식 부족이나 요구사항 변경으로 발생
  • 리팩토링으로 해소

코드 인스펙션과 리뷰

  • 인스펙션(Inspection): 공식적인 정적 검토. 역할(모더레이터, 작성자, 검토자) 분담
  • 워크스루(Walkthrough): 작성자가 설명하고 그룹이 검토. 비공식적
  • 동료 검토(Peer Review): 코드 리뷰. 현재 가장 일반적

시험 핵심 포인트

  • ISO 25010 품질 특성 8가지 암기 (FPCU RSMP)
  • 맥케이브 순환 복잡도: 의사결정 수 + 1
  • 테스트 커버리지 강도: 구문
  • 팬인 높음 = 재사용성 높음 / 팬아웃 높음 = 의존성 높음

마무리

소프트웨어 품질 파트는 계산 문제(순환 복잡도)와 개념 정의 문제가 함께 출제됩니다. ISO 25010 품질 특성은 영문 약어와 함께 암기하면 시험장에서 빠르게 답을 고를 수 있습니다.

zerg96

Recent Posts

네트워크관리사 기출 핵심 [55] 클라우드 네트워크 보안과 VPC 설계 완전 정복

클라우드 VPC 보안이란? Virtual Private Cloud(VPC)는 퍼블릭 클라우드 내 격리된 가상 네트워크 환경입니다. 네트워크관리사 시험에서는…

16시간 ago

네트워크관리사 기출 핵심 [54] 네트워크 성능 측정과 벤치마킹 완전 정복

네트워크 성능 측정이란? 네트워크 성능 측정은 SLA 준수 확인, 병목 구간 발견, 용량 계획의 기반입니다.…

16시간 ago

네트워크관리사 기출 핵심 [53] 네트워크 가상화 심화와 오버레이 네트워크 완전 정복

네트워크 가상화와 오버레이 네트워크란? 오버레이 네트워크는 물리 네트워크 위에 논리적 네트워크를 구성해 가상 머신·컨테이너 간…

16시간 ago

네트워크관리사 기출 핵심 [52] 인터넷 교환 지점과 CDN 아키텍처 완전 정복

인터넷 교환 지점(IXP)이란? 인터넷 교환 지점(IXP)은 서로 다른 네트워크(AS)가 트래픽을 교환하는 물리적 인프라입니다. 네트워크관리사 시험에서는…

16시간 ago

네트워크관리사 기출 핵심 [51] 네트워크 슬라이싱과 5G 코어 아키텍처 완전 정복

5G 코어와 네트워크 슬라이싱이란? 5G 코어 네트워크는 클라우드 네이티브 아키텍처로 완전히 재설계되었습니다. 네트워크관리사 시험에서는 5G…

16시간 ago

정보처리기사 기출 핵심 [55] 플랫폼 엔지니어링과 IDP 구축 완전 정복

플랫폼 엔지니어링이란? 플랫폼 엔지니어링은 개발팀에게 셀프 서비스 인프라와 도구를 제공하는 규율입니다. 내부 개발자 플랫폼(IDP)을 통해…

16시간 ago