개념
문항은 이렇게 만들었다
아래 문항은 이 모듈이 새로 만든 것 이다. TTA 공식 예제와 같은 범위·유형을 겨냥했지만 문장과 숫자는 다르다. 공식 예제는 TTA 아카데미에서 받은 자료로 따로 풀고, 이 레슨은 같은 개념을 다른 문장으로 물어도 맞히는지 를 확인하는 용도로 쓴다. 정답과 해설은 각 유형 끝에 모았다 — 먼저 시간을 재고 풀어 본다(권장 30분).
4지선다 (12문항)
1. 오류·결함·장애에 대한 설명으로 올바른 것은? ① 결함이 존재하면 실행 시 반드시 장애가 발생한다 ② 장애는 실행 결과와 요구사항에 명시된 결과 사이의 관찰 가능한 차이다 ③ 오류는 결함(Fault)·버그와 같은 의미다 ④ 결함은 소스 코드에만 존재한다
2. 요구 명세와 무관한 코드가 구현되어 당장 장애를 일으키지 않는 결함 유형은? ① 누락 ② 부정확 ③ 비관련 ④ 회귀
3. 테스트 개념의 진화 단계 중 "프로그램이 올바르게 동작함을 증명하는 데 초점을 둔" 단계는? ① Debugging-oriented ② Demonstration-oriented ③ Destruction-oriented ④ Prevention-oriented
4. 포함 관계로 올바른 것은? (A < B는 B가 더 넓다는 뜻) ① V&V < 테스트 < 품질 보증 ② 테스트 < 품질 보증 < V&V ③ 테스트 < V&V < 품질 보증 ④ 품질 보증 < V&V < 테스트
5. 하향식 통합 테스트에 대한 설명으로 올바른 것은? ① 하위 컴포넌트를 대신하는 스텁이 필요하다 ② 상위 호출자를 대신하는 드라이버가 반드시 필요하다 ③ 모든 컴포넌트를 한 번에 통합한다 ④ 하위 컴포넌트를 가장 충분히 테스트할 수 있다
6. 테스트 대상 클래스가 협력 객체를 몇 번, 어떤 인자로 호출했는지를 미리 정한 기대와 비교해 검증하는 테스트 더블은? ① 더미 ② 스텁 ③ 목 ④ 페이크
7. IEEE 1028의 리뷰 중 작성자가 주로 회의를 주재하고, 결함 식별과 함께 대안 조사·학습 기회를 목적으로 하는 것은? ① 인스펙션 ② 워크쓰루 ③ 기술 리뷰 ④ 감사
8. 인스펙션 역할에 대한 설명으로 올바르지 않은 것은? ① 작성자는 주재자가 될 수 없다 ② 주재자는 기록자를 겸할 수 있다 ③ 작성자는 기록자를 겸할 수 있다 ④ 관리자 직책을 가진 사람은 팀 멤버로 참여하지 않는다
9. 노드 9개, 간선 11개인 제어 흐름 그래프의 순환 복잡도는? ① 2 ② 3 ③ 4 ④ 5
10. if (A || B) 에 대해 조건 커버리지는 100%지만 결정 커버리지는 100%가 아닌 TC 집합은?
(A, B의 진리값)
① (T, T), (F, F) ② (T, F), (F, T) ③ (T, F), (F, F) ④ (F, T), (F, F)
11. 테스트 관리 프로세스의 산출물이 아닌 것은? ① 테스트 계획서 ② 테스트 현황 보고서 ③ 테스트 종료 보고서 ④ 테스트 실행 로그
12. 개발자가 결함을 Won't Fix로 처리했고, 테스트 관리자가 그 판단이 타당하다고 검증했다. 결함의 다음 상태는? ① Closed ② Reopen ③ Deferred ④ Assigned
정답 1 ② · 2 ③ · 3 ② · 4 ③ · 5 ① · 6 ③ · 7 ② · 8 ③ · 9 ③ · 10 ② · 11 ④ · 12 ③
해설
- 1 — 결함이 있어도 실행되지 않거나 특정 입력에서만 드러나면 장애가 관찰되지 않는다. 결함은 모든 산출물에 있다(레슨 2)
- 3 — Demonstration은 "증명", Destruction은 "결함이 있음을 보임"이다
- 5 — 하향식은 아직 없는 아래를 스텁으로 채운다. ④는 상향식의 장점이다(레슨 3)
- 8 — 작성자는 주재자도 기록자도 될 수 없다(레슨 4)
- 9 — 11 − 9 + 2 = 4
- 10 — ②는 A·B가 각각 T·F를 갖지만 결정은 두 번 모두 참이다. ①은 결정/조건 커버리지를 만족한다(레슨 5)
- 11 — 실행 로그는 동적 테스트 프로세스(테스트 실행)의 산출물이다(레슨 7)
O/X (8문항)
13. 결정 커버리지를 100% 달성하면 조건 커버리지도 100% 달성된다. ( O / X )
14. 자료 흐름 분석에서 du 는 이상 패턴이다. ( O / X )
15. 구조 기반 테스트는 컴포넌트 테스트 레벨에서만 적용할 수 있다. ( O / X )
16. 결함의 일반화는 결함과 무관한 요소를 제거해 최소 재현 조건을 찾는 것이다. ( O / X )
17. 모든 개발 산출물(요구 명세서·설계서·테스트 문서)은 정적 테스트의 대상이 될 수 있다. ( O / X )
18. 동등 분할에서 무효 클래스는 하나의 TC에 여러 개를 함께 넣는 것이 효율적이다. ( O / X )
19. V 모델에서는 요구분석 단계에서 시스템 테스트 계획과 설계를 시작한다. ( O / X )
20. 페어와이즈 테스트는 모든 인자 사이의 모든 값 조합을 테스트한다. ( O / X )
정답 13 X · 14 X · 15 X · 16 X · 17 O · 18 X · 19 O · 20 X
해설 13 — 결정과 조건은 서로를 보장하지 않는다. 14 — du 는 정상, 이상은 dd·dk·kk·ku·~u 등.
15 — 세 축은 독립이다. 16 — 설명은 고립화다. 18 — 무효 값끼리 결함을 가린다. 20 — 두 인자 사이의
값 쌍 만 덮는다.
단답 (8문항)
21. ISO/IEC 25010(2011)에서 성숙성·가용성·결함 허용성·회복 가능성을 부특성으로 갖는 주특성은?
22. 정수 입력 1 ≤ qty ≤ 99 에 대해 2-value 경곗값 분석의 테스트 입력값을 모두 쓰시오.
23. 인자 4개가 각각 2, 3, 3, 4개의 값을 가진다. Base choice 테스트의 TC 개수는?
24. 같은 조건에서 페어와이즈 테스트의 최소 TC 개수의 하한은?
25. if (a && b && c) 의 MC/DC를 만족하는 최소 TC 개수는?
26. 다음 코드의 순환 복잡도는?
for (i = 0; i < n; i++) {
if (x[i] > max && x[i] != skip) max = x[i];
}
if (max == 0) warn();27. 다음 경로에서 변수 p 의 자료 흐름 이상 패턴을 하나 쓰시오.
char *p = malloc(10); // d
free(p); // k
p[0] = 'a'; // ?28. 결함 보고 활동에서 결함이 발견되었을 때 사용된 데이터·절차·환경을 줄여 가며 결함 발생에 꼭 필요한 최소 조건을 찾는 작업을 무엇이라 하는가?
정답과 해설
| 번호 | 정답 | 풀이 |
|---|---|---|
| 21 | 신뢰성 | 레슨 3 표 |
| 22 | 0, 1, 99, 100 | 경곗값은 무효 쪽 끝값까지 네 개, 2-value는 그 넷이 곧 입력값 |
| 23 | 9 | 1 + (2 − 1) + (3 − 1) + (3 − 1) + (4 − 1) = 1 + 1 + 2 + 2 + 3 |
| 24 | 12 | 가장 큰 두 값 개수의 곱 4 × 3 |
| 25 | 4 | AND 조건 3개 → n + 1 |
| 26 | 5 | 시작 1 + for 1 + if 1 + && 1 + if 1 |
| 27 | ku | 소멸 후 사용. p[0] 에 쓰는 것은 포인터 p 의 사용(u)이다 |
| 28 | 고립화 | 넓히는 것은 일반화 |
90분 시간표
| 구간 | 할 일 | 시간 |
|---|---|---|
| 0~5분 | 단답형 10문항을 먼저 훑어 계산형·암기형 표시 | 5 |
| 5~10분 | O/X 10문항 | 5 |
| 10~60분 | 4지선다 50문항(문항당 1분, 막히면 표시하고 넘김) | 50 |
| 60~85분 | 단답형 — 암기형 먼저, 계산형은 검산까지 | 25 |
| 85~90분 | 표시한 문항, 답안지 옮겨 적기 확인 | 5 |
O/X를 먼저 끝내는 이유는 문항당 시간이 가장 짧아 확실한 점수 를 먼저 쌓기 때문이다. 단답을 맨 처음 훑어 두면 4지선다를 푸는 동안 머릿속에서 계산 방법이 정리된다.
보기에서 오답을 걸러 내는 다섯 가지 신호
- 절대어 — "반드시", "항상", "모든", "만", "절대". 결함 → 장애, 구조 기반 → 단위 레벨만 같은 문장이 대표적이다
- 범위를 좁히는 말 — "코드에만", "개발자만", "실행 시에만"
- 주체 바꿔치기 — 디버깅을 테스터가, 워크쓰루를 주재자(작성자 아님)가, 감사를 내부 관리자가
- 비슷한 이름 맞바꾸기 — 검증↔확인, 고립화↔일반화, 스텁↔드라이버, Demonstration↔Destruction
- 산출물 소속 바꾸기 — 실행 로그를 관리 프로세스로, 현황 보고서를 동적 프로세스로
단답형 계산의 검산 순서
- 문제의 가정 을 다시 읽는다 — 단축 평가 고려 여부, 정수/실수, One-to-One인지 서로 다른 값의 개수인지
- 계산 결과를 다른 공식 으로 한 번 더 — 순환 복잡도는 E − N + 2와 분기 + 1, 커버리지는 분모 확인
- 극단 사례 로 확인 — 경곗값 개수가 범위 크기와 무관하게 4(2-value)·8(3-value)인지
- 단위·형식 — 퍼센트로 물으면 퍼센트, 개수로 물으면 개수, 용어는 가이드 표현으로
실무에서 왜 필요한가
모의 문항을 푸는 시간은 실무 판단을 점검하는 시간이기도 하다. 4번(포함 관계)을 틀렸다면 QA 조직의 역할 범위를 설명할 때도 같은 혼동이 생기고, 12번(Won't Fix)을 틀렸다면 팀 결함 워크플로에 같은 구멍이 있을 가능성이 크다. 틀린 문항마다 "우리 팀에서는 이것이 어떻게 처리되고 있나"를 한 줄씩 적어 두면, 시험 준비가 곧 프로세스 점검표가 된다.