실기 공부방READ · TRACE · RECALL

정보처리 실무 · 학습 노트

테스트·품질

커버리지는 표를 그려서 판정하기

개발 중 작성하던 테스트를 시험에서는 어떤 기준을 충족하는지 묻는다. 단어와 계산 기준을 함께 익힌다.

기초부터 실전까지

처음 배우는 분의 학습 순서

기호와 용어가 낯설면 기초·상세 보강을 먼저 읽고, 기존 핵심 정리로 연결하세요. 예제의 값을 손으로 계산한 뒤 확인 질문을 답하고 마지막에 문제를 풉니다.

추가된 상세 학습 5개 펼쳐보기
이 단원 목차 12개
이번 단원 완료 기준

핵심 규칙을 설명하고, 연습문제의 답과 이유를 해설 없이 적을 수 있으면 체크하세요. 이해 체크와 정답 기록은 별도로 저장됩니다.

01

테스트 수준과 목적

단위는 작은 모듈, 통합은 모듈 사이 연계, 시스템은 전체 요구 충족, 인수는 사용자 관점의 수용 여부다. 회귀 테스트는 변경 후 기존 기능의 부작용을 확인한다.

답을 가리고 확인

“테스트 수준과 목적”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.

확인 답안 보기

Verification은 명세에 맞게 만들었는가, Validation은 실제 목적·사용자 요구에 맞는가. 재테스트는 수정된 결함의 해결 확인, 회귀는 주변 기존 기능이 깨지지 않았는지 확인이다.

꼭 기억할 것

Verification은 명세에 맞게 만들었는가, Validation은 실제 목적·사용자 요구에 맞는가.

헷갈리는 지점 재테스트는 수정된 결함의 해결 확인, 회귀는 주변 기존 기능이 깨지지 않았는지 확인이다.

02

블랙박스 기법

동등 분할은 같은 동작을 기대하는 입력 구간의 대표값을 선택한다. 경계값 분석은 경계와 바로 안팎을 본다. 결정 테이블은 조건-행동 조합, 상태 전이는 상태·이벤트, 원인-결과 그래프는 논리 관계다.

답을 가리고 확인

“블랙박스 기법”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.

확인 답안 보기

유효 정수 1~100의 경계 후보: 0,1,2,99,100,101. 대표값 50만 검사하면 경계 오류를 놓친다. 경계값과 동등 분할을 혼동하지 않는다.

꼭 기억할 것

유효 정수 1~100의 경계 후보: 0,1,2,99,100,101.

헷갈리는 지점 대표값 50만 검사하면 경계 오류를 놓친다. 경계값과 동등 분할을 혼동하지 않는다.

03

화이트박스 커버리지

문장은 실행문, 결정(분기)은 전체 판정 T/F, 조건은 개별 조건 T/F, 조건/결정은 둘 다, 다중 조건은 조건 조합 전부, MC/DC는 각 조건이 결정 결과에 독립적으로 영향을 줌을 확인한다.

답을 가리고 확인

“화이트박스 커버리지”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.

확인 답안 보기

A OR B에 (T,F),(F,T)는 각 조건 T/F를 포함하지만 전체 결과는 두 번 모두 T라 결정 커버리지가 부족하다. 실제 언어의 단락 평가 때문에 평가되지 않은 조건이 생길 수 있다. 논리 조합표와 실제 평가 횟수를 구분한다.

꼭 기억할 것

A OR B에 (T,F),(F,T)는 각 조건 T/F를 포함하지만 전체 결과는 두 번 모두 T라 결정 커버리지가 부족하다.

헷갈리는 지점 실제 언어의 단락 평가 때문에 평가되지 않은 조건이 생길 수 있다. 논리 조합표와 실제 평가 횟수를 구분한다.

04

통합 테스트 도구

하향식은 상위 모듈부터 통합하며 없는 하위 모듈을 스텁으로 대체한다. 상향식은 하위부터 통합하며 상위 호출자를 드라이버로 대체한다. 샌드위치는 둘을 결합한다.

답을 가리고 확인

“통합 테스트 도구”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.

확인 답안 보기

스텁=호출되는 가짜 하위 모듈, 드라이버=호출해 주는 가짜 상위 모듈. 목·스텁의 실무 용법과 시험의 통합 순서 문제를 섞지 말 것.

꼭 기억할 것

스텁=호출되는 가짜 하위 모듈, 드라이버=호출해 주는 가짜 상위 모듈.

헷갈리는 지점 목·스텁의 실무 용법과 시험의 통합 순서 문제를 섞지 말 것.

05

복잡도·오라클·성능

연결된 제어흐름 그래프의 순환 복잡도 V(G)=E-N+2이며 단순 이진 분기 구조에서는 판정 노드 수+1로 계산할 수 있다. 테스트 오라클은 결과의 맞고 틀림을 판단하는 기준이다.

답을 가리고 확인

“복잡도·오라클·성능”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.

확인 답안 보기

참 오라클 전체 결과, 샘플링 일부 입력, 휴리스틱 일부+추정, 일관성 이전/다른 결과 비교. 성능은 처리량·응답시간·경과시간·자원 사용률. 복잡도에서 E는 간선, N은 노드. 프로그램 줄 수를 N으로 넣지 않는다.

꼭 기억할 것

참 오라클 전체 결과, 샘플링 일부 입력, 휴리스틱 일부+추정, 일관성 이전/다른 결과 비교. 성능은 처리량·응답시간·경과시간·자원 사용률.

헷갈리는 지점 복잡도에서 E는 간선, N은 노드. 프로그램 줄 수를 N으로 넣지 않는다.

06

품질과 유지보수

ISO/IEC 25010의 판본에 따라 품질 특성 구성은 다르다. 시험 보기에서 사용하는 체계를 우선한다. 전통적으로 기능 적합성·성능 효율성·호환성·사용성·신뢰성·보안성·유지보수성·이식성을 묶어 학습한다.

답을 가리고 확인

“품질과 유지보수”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.

확인 답안 보기

수정 유지보수=결함 수정, 적응=환경 변화, 완전=기능·성능 개선, 예방=미래 장애 예방. 최신 표준과 구판 8특성 목록을 동일하다고 단정하지 않는다. 주어진 표준 연도와 보기의 표현을 확인한다.

꼭 기억할 것

수정 유지보수=결함 수정, 적응=환경 변화, 완전=기능·성능 개선, 예방=미래 장애 예방.

헷갈리는 지점 최신 표준과 구판 8특성 목록을 동일하다고 단정하지 않는다. 주어진 표준 연도와 보기의 표현을 확인한다.

07

정적 분석과 TDD·BDD

정적 분석은 코드를 실행하지 않고 구조·규칙 위반을 검사하며, 동적 분석은 실제 실행을 통해 확인한다. TDD는 실패하는 테스트를 먼저 작성한 뒤 통과시키는 최소 구현을 만들고 리팩터링하는 순서를 반복한다. BDD는 사용자 행동 시나리오(Given-When-Then) 형태로 요구사항을 테스트로 표현한다.

답을 가리고 확인

“정적 분석과 TDD·BDD”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.

확인 답안 보기

TDD 순서: 실패하는 테스트 작성 → 통과시키는 최소 코드 → 리팩터링. 정적 분석 도구가 모든 런타임 오류를 잡아내는 것은 아니다. 실행 기반 동적 분석과 상호보완적이다.

꼭 기억할 것

TDD 순서: 실패하는 테스트 작성 → 통과시키는 최소 코드 → 리팩터링.

헷갈리는 지점 정적 분석 도구가 모든 런타임 오류를 잡아내는 것은 아니다. 실행 기반 동적 분석과 상호보완적이다.

08

동등 분할·경계값·결정 테이블

동등 분할은 같은 동작을 기대하는 입력 영역마다 대표값을 고른다. 1~100 유효 정수라면 0 이하·1~100·101 이상의 세 영역이다. 경계값은 오류가 자주 생기는 경계의 바로 안·밖을 집중 검사한다.

결정 테이블은 조건 조합을 열로 놓고 조합별 행동을 기록한다. 원인-결과 그래프는 입력 조건과 결과의 논리 연결을 모델링하고 상태 전이 테스트는 상태·사건·전이·행동을 살핀다.

과정으로 이해하기

  1. 유효 범위 1~100: 대표값은 -1,50,101 등을 선택.
  2. 각 경계 주변을 세 값씩 검사하면 0,1,2와 99,100,101.

답을 가리고 확인

조건 여러 개의 조합에 따라 할인 여부가 달라질 때 적합한 기법은?

확인 답안 보기

결정 테이블 테스트.

꼭 기억할 것

동등 분할 대표값, 경계값 경계 안팎, 결정 테이블 조건 조합.

헷갈리는 지점 경계값 개수는 2값·3값 방식 등 문제에서 요구하는 기준에 따른다.

09

문장·결정·조건·MC/DC를 표로 확인

문장 커버리지는 전체 실행문 중 실행한 비율이고 결정 커버리지는 각 판정의 참·거짓 결과를 모두 실행했는지다. 조건 커버리지는 판정 안 개별 조건이 참·거짓을 모두 경험했는지다. 둘 중 하나를 만족했다고 다른 기준을 자동 만족하지 않는다.

MC/DC는 다른 조건을 고정한 상태에서 한 조건만 바뀌어 판정 결과도 바뀌는 쌍을 찾는다. A AND B에는 (T,T),(F,T),(T,F)가 전형적인 논리 조합이다. 실제 코드의 단락 평가 여부는 별도로 확인한다.

문장·결정·조건·MC/DC를 표로 확인 · 한눈에 비교
테스트ABA AND B역할
1TTT기준
2FTF1과 비교해 A 독립 영향
3TFF1과 비교해 B 독립 영향

답을 가리고 확인

A OR B에 (T,F),(F,T)만 있으면 결정 T/F를 모두 만족하는가?

확인 답안 보기

아니다. 두 판정 결과 모두 T이므로 F가 없다.

꼭 기억할 것

각 테스트의 A·B·판정 결과를 표로 적고 기준을 따로 검사한다.

헷갈리는 지점 논리적으로 대입한 값과 실행 중 실제로 평가한 조건을 혼동하지 않는다.

10

순환 복잡도·테스트 수준·통합 순서

단일 연결 제어흐름 그래프의 순환 복잡도는 E-N+2이며 독립 경로 수의 기준이다. 단순 이진 결정 구조에서는 결정 수+1로 구할 수 있다. 연결 성분이 여러 개면 일반식 E-N+2P에서 P 조건을 확인한다.

단위는 모듈 하나, 통합은 모듈 간 연결, 시스템은 전체 시스템, 인수는 사용자 요구 충족을 검사한다. 하향식에서 아직 없는 하위를 스텁, 상향식에서 아직 없는 상위 호출자를 드라이버로 대체한다.

과정으로 이해하기

  1. N=6, E=7의 단일 연결 그래프: V=7-6+2=3.
  2. 단순 if 두 개도 결정 수 2+1=3.

답을 가리고 확인

상향식 통합에서 아래 모듈을 호출하는 임시 프로그램은?

확인 답안 보기

테스트 드라이버.

꼭 기억할 것

E 간선, N 노드. 코드 줄 수로 노드를 세지 않는다.

헷갈리는 지점 복잡도는 모든 가능한 경로 수와 같지 않다. 반복문은 가능한 반복 횟수가 많아도 그래프 기준으로 계산한다.

11

정적·동적 테스트와 결함 관리

정적 테스트는 프로그램을 실행하지 않고 산출물·코드를 검토한다. 동료 검토는 동료가 확인, 워크스루는 작성자가 설명하며 검토, 인스펙션은 역할·절차에 따른 공식 검토다. 정적 분석 도구는 잠재 결함·규칙 위반 등을 탐지한다.

동적 테스트는 실행 결과를 검사한다. 오류는 사람의 실수, 결함은 산출물에 들어간 문제, 장애는 실행 중 기대 서비스에서 벗어난 현상으로 구별한다. 결함의 심각도는 영향, 우선순위는 수정 순서다.

과정으로 이해하기

  1. 검토로 0 나눗셈 가능성을 찾음 → 정적.
  2. 실행해 예외를 재현 → 동적.
  3. 결함 수정 후 재실행 → 재테스트, 주변 기능까지 확인 → 회귀.

답을 가리고 확인

작성자가 산출물을 설명하며 검토자가 질문하는 검토 방식은?

확인 답안 보기

워크스루(Walkthrough).

꼭 기억할 것

Verification: 명세대로 만들었나 / Validation: 사용자에게 필요한 것을 만들었나.

헷갈리는 지점 화면 오타가 낮은 심각도여도 출시 일정상 높은 우선순위가 될 수 있다.

12

성능 테스트·오라클·품질

부하 테스트는 예상 부하에서 성능, 스트레스는 한계를 넘는 부하에서 반응, 스파이크는 급격한 부하 변화, 지속(내구성) 테스트는 장시간 실행에서 누수·성능 저하를 확인한다. 처리량은 단위 시간 처리 수, 응답시간은 요청부터 응답까지 시간이다.

오라클은 결과의 정당성을 판정하는 기준이다. 참 오라클은 모든 입력에 정답 판단, 샘플링은 일부 입력, 휴리스틱은 일부 판단과 추정, 일관성 검사는 과거·다른 시스템 결과와 비교한다. 수정·적응·완전·예방 유지보수는 변경 목적을 구별한다.

과정으로 이해하기

  1. 새 OS를 지원하도록 수정 → 적응 유지보수.
  2. 장시간 부하에서 메모리 증가 확인 → 지속 테스트.

답을 가리고 확인

갑자기 사용자 수가 급증하는 상황을 시험하는 것은?

확인 답안 보기

스파이크 테스트.

꼭 기억할 것

결함 수정=수정 / OS 변화 대응=적응 / 기능 개선=완전 / 미래 문제 예방=예방.

헷갈리는 지점 빠른 응답시간만으로 처리량·장시간 안정성까지 보장되지 않는다.

직접 풀어보기 14문제

모두 유형 연습을 위해 직접 만든 문제입니다. C 예제의 printf·strlen은 필요한 표준 헤더가 포함된 상황을 가정합니다. Java는 표시된 클래스·main 위치에서 실행합니다. 단답은 동의어가 있을 수 있어 자동 판정 대신 자기 채점을 사용합니다.

테스트·품질 · 기본 · 창작 01미풀이

경계값

허용 정수 10~20의 바로 바깥 경계 두 값은?

정답과 풀이 확인

정답 9 / 21

하한 10보다 하나 작은 9, 상한 20보다 하나 큰 21이다.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 02미풀이

조건과 결정

논리식 A OR B에서 입력 (T,F),(F,T)는 조건 커버리지를 만족하더라도 무엇을 만족하지 못하는가?

정답과 풀이 확인

정답 결정 커버리지

전체 판정이 둘 다 T라 F 분기가 없다. 논리 조건의 T/F 할당을 기준으로 한 문제다.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 03미풀이

하향식 대역

하향식 통합에서 아직 없는 하위 모듈을 대신하는 것은?

정답과 풀이 확인

정답 스텁

상위 모듈이 호출할 하위 모듈 역할을 흉내 낸다.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 04미풀이

상향식 대역

상향식 통합에서 하위 모듈을 호출하는 임시 상위 프로그램은?

정답과 풀이 확인

정답 드라이버

드라이버는 시험 대상 모듈에 입력을 주고 호출한다.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 05미풀이

복잡도 계산

연결된 제어흐름 그래프가 E=9, N=7이다. 순환 복잡도는?

정답과 풀이 확인

정답 4

E-N+2=9-7+2=4.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 06미풀이

회귀 테스트

결제 오류 수정 후 회원 가입과 주문 조회가 계속 동작하는지 확인하는 테스트는?

정답과 풀이 확인

정답 회귀 테스트

변경이 기존 기능에 미친 부작용을 검출한다.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 07미풀이

테스트 우선 개발

실패하는 테스트를 먼저 작성한 뒤 최소 구현으로 통과시키고 리팩터링하는 개발 방식은?

정답과 풀이 확인

정답 TDD

Test-Driven Development.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 08미풀이

실행 없는 점검

코드를 실행하지 않고 구조나 규칙 위반을 검사하는 분석은?

정답과 풀이 확인

정답 정적 분석

실행을 통해 검증하는 동적 분석과 대비된다.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 09미풀이

MC/DC 조합

A AND B에서 각 조건 독립 영향을 보여주는 세 논리 조합의 예는?

정답과 풀이 확인

정답 (T,T), (F,T), (T,F)

TT와 FT는 B를 고정해 A 영향을, TT와 TF는 A를 고정해 B 영향을 보인다.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 10미풀이

순환 복잡도 계산

단일 연결 제어흐름 그래프가 노드 8개, 간선 10개이면 V(G)는?

정답과 풀이 확인

정답 4

E-N+2=10-8+2=4.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 11미풀이

유지보수 목적

OS 버전 변경에 맞춰 프로그램을 고쳤다. 유지보수 종류는?

정답과 풀이 확인

정답 적응 유지보수

환경 변화에 대응하는 변경이다.

해설과 비교해 직접 채점
테스트·품질 · 기본 · 창작 12미풀이

검토와 실행

코드를 실행하지 않고 공식 역할·절차로 검토하는 방법은?

정답과 풀이 확인

정답 인스펙션

정적 검토 기법이다. 작성자가 설명하는 워크스루와 구별한다.

해설과 비교해 직접 채점
테스트·품질 · 응용 · 창작 13미풀이

결정과 조건 분리

if (A || B)에서 입력 (T,F),(F,F) 두 개로 결정 커버리지와 조건 커버리지를 모두 충족하는가? A와 B는 독립 불리언 변수다.

정답과 풀이 확인

정답 결정은 충족, 조건은 미충족

결정 결과는 T/F가 모두 나온다. B는 입력에서 F뿐이고 단락 실행 기준으로도 T를 실행하지 못한다.

해설과 비교해 직접 채점
테스트·품질 · 응용 · 창작 14미풀이

회귀 테스트의 목적

오류 수정 후 기존의 정상 기능이 손상되지 않았는지 확인하는 테스트는?

정답과 풀이 확인

정답 회귀 테스트

수정한 결함 자체의 해결을 확인하는 확인 테스트(재테스트)와 구별한다.

해설과 비교해 직접 채점

기출과 연결하기

2025년 3회 · 패키지 다이어그램·조건 커버리지·C/Java·SQL

문법 문서·출처·확인 범위 보기