테스트 · 형상 관리 · 인터페이스 E18

SW공학 묶음에서 가장 자주 나온 장이다. 기법의 이름, 커버리지의 강약, 흐름도에서 경로 적기 — 셋이 전부다

왜 이 장을 하나
테스트 문제는 설명을 읽고 기법 이름을 적거나, 흐름도를 보고 경로를 적는다. 이름은 블랙박스 5 · 화이트박스 커버리지 6 · 통합 2 · 수준 4 로 정해져 있고, 경로는 결정 노드에서 참 · 거짓을 한 번씩 지나면 된다. 11회 중 10회에 나온 장이라 3회에도 나온다고 보고 만든다.
다루는 것블랙 · 화이트박스 · 커버리지 · 통합 · 수준 · 형상 관리 · EAI
문항기출 12 · 예상 2 · 훈련 5
끝나면흐름도를 보고 커버리지 경로를 적는다

01왜 이 장인가

왜 이걸 하나 — SW공학 37문항 중 12문항이 이 장이고 11회 중 10회에 나왔다. 2024년 2회만 빠졌다.

11회분 220문항 중 이 장의 기출은 12문항이다. 2023년 2회와 2025년 3회에는 2문항씩이었고, 2026년 2회 1번(동치 분할)이 그 회차의 첫 문제였다. 같은 것이 되풀이된다 — 조건 커버리지 2번, 스텁 · 드라이버 2번, 분기 커버리지 경로 2번, 동치 분할 2번.

몇 문항무엇을 적나보기
기법 · 커버리지 이름6조건 커버리지 · MC/DC · 동치 분할 · 커버리지 3칸2023-2회 6번 · 2024-1회 14번 · 2024-3회 9번 · 2025-3회 4번 · 2026-2회 1번
흐름도 → 경로3분기 커버리지 경로 2개, 구문 커버리지 실행 순서2023-1회 19번 · 2025-1회 15번 · 2025-2회 11번
통합 테스트 용어2스텁 · 드라이버2023-2회 7번 · 2026-1회 15번
테스트 케이스 구성1조건 · 데이터 · 예상 결과2025-3회 19번

→ 2023년 1회 19번과 2025년 2회 11번은 같은 흐름도(노드 1~7, POINTER · X · RESULT)에 같은 답이다. 이 흐름도 하나를 손으로 풀어 두면 두 회차 분이 끝나고, 경로를 적는 규칙은 다른 흐름도에도 그대로 간다.

E01 진단의 SW공학 4문항 중 1번(동치 분할)이 이 장이었다. 「테스트」는 낱말이 많아 보여도 03절의 세 질문(무엇을 보나 · 얼마나 덮나 · 누가 대신하나)에 전부 들어간다.

문항 수는 이 노트의 문제 데이터에서 ch=E18 인 것을 센 값이다(2026-09-14). 흐름도는 grandlife.co.kr 복원 그림을 노드 표로 옮겼고, 2025-1회 15번의 C 함수도 거기서 옮겼다.

02한눈에

왜 이걸 하나 — 시험 전날 이름 17개와 순서 셋을 백지에 적어 본다.

블랙박스 5 (명세 기반)동등(동치) 분할 — 유효 · 무효 그룹의 대표값. 경계값 분석 — 경계와 그 앞뒤. 원인-효과 그래프 — 입력과 결과의 관계 그래프. 오류 예측 — 경험으로 오류 날 입력. 비교 검사 — 여러 버전에 같은 입력.
화이트박스 커버리지 6 (약 → 강)구문(문장, 모든 문장 1회) → 분기(결정, 결정의 참 · 거짓) → 조건(개별 조건식의 참 · 거짓) → 조건/결정(둘 다) → MC/DC(개별 조건이 결정에 독립적으로 영향) → 다중 조건(모든 조합). 기초 경로 검사(McCabe) · 제어 구조 검사도 화이트박스.
경로 적기결정 노드(마름모)마다 YES 와 NO 를 한 번씩 지나는 경로를 모으면 분기 커버리지. 실행된 문장을 순서대로 적으면 구문 커버리지. 반복 조건은 거짓으로 빠져나가는 검사까지 적는다.
통합 테스트하향식 — 위에서 아래로, 아직 없는 하위 모듈은 스텁이 대신. 상향식 — 아래에서 위로, 아직 없는 상위 모듈은 드라이버가 대신 호출. 빅뱅 — 한꺼번에. 샌드위치 — 하향 + 상향.
테스트 수준 · 종류단위 → 통합 → 시스템 → 인수(V 모델). 알파(개발자 환경, 사용자 참여) · 베타(사용자 환경). 회귀(고친 뒤 다시) · 정적(실행 안 함, 리뷰 · 워크스루 · 인스펙션) · 동적(실행).
테스트 케이스 · 오라클케이스 = 테스트 조건 · 테스트 데이터 · 예상 결과. 오라클 = 결과가 맞는지 판단하는 기준(참 · 샘플링 · 휴리스틱 · 일관성). 테스트 하네스 = 드라이버 · 스텁 · 슈트 · 스크립트 묶음.
형상 관리형상 식별 → 형상 통제(변경 요청 승인) → 형상 감사 → 형상 기록. 기준선(baseline) · 체크인 · 체크아웃 · 커밋. 도구 Git · SVN · CVS.
인터페이스 · EAI검증 도구 xUnit · STAF · FitNesse · NTAF · Selenium · watir. EAI 방식 Point-to-Point(1:1) · Hub & Spoke(허브) · Message Bus(ESB) · Hybrid. 데이터 형식 JSON · XML · AJAX(비동기 갱신).

03밑바닥

왜 이걸 하나 — 이름 17개는 세 질문에서 나온다. 무엇을 보나, 얼마나 덮나, 누가 대신하나.

3-1. 무엇을 보나 — 명세냐 코드냐

블랙박스는 코드를 안 보고 명세(입력과 기대 출력)만 본다. 그래서 기법 이름이 전부 「입력을 어떻게 고르나」다. 입력을 같은 결과가 나오는 무리로 나눠 대표 하나씩 고르면 동등 분할, 무리의 경계와 바로 앞뒤를 고르면 경계값 분석, 입력 조건과 결과의 관계를 그래프로 그려 고르면 원인-효과 그래프, 경험으로 고르면 오류 예측, 다른 버전과 견주면 비교 검사.

2026년 2회 1번이 이 갈림을 물었다. 평가표(90~100 은 A …)가 명세고, 테스트 내역의 입력이 −10 · 30 · 75 · 85 · 95 · 110 — 구간마다 가운데 값 하나씩이라 동등 분할이다. 0 · 69 · 70 · 79 · 80 · 89 · 90 · 100 처럼 경계에 몰려 있었다면 경계값 분석이다.

화이트박스는 코드 안을 보고 얼마나 지나갔나를 잰다. 그래서 이름이 전부 「커버리지」다. 화이트박스 · 블랙박스라는 낱말 자체를 묻기도 한다 — 「구조 기반」「제어 흐름」이면 화이트, 「명세 기반」「입력 · 출력」이면 블랙.

3-2. 얼마나 덮나 — 커버리지 사다리

커버리지 여섯은 요구가 세지는 순서다. 구문은 모든 문장을 한 번씩만 실행하면 되고, 분기는 결정(if · while)마다 참 한 번 거짓 한 번, 조건은 결정 안의 개별 조건식(A > 0, B < 5 같은 것)마다 참 · 거짓 한 번씩, 조건/결정은 둘 다, MC/DC 는 개별 조건 하나만 바꿔도 결정이 바뀌는 케이스를 조건마다, 다중 조건은 조건들의 모든 조합이다.

커버리지무엇을 한 번씩표지 낱말기출
구문(문장)모든 문장최소 1회 실행2024-3회 9번 · 2025-1회 15번
분기(결정)결정의 참 · 거짓모든 분기 · 참/거짓2023-1회 19번 · 2025-2회 11번
조건개별 조건식의 참 · 거짓결정 포인트 내 개별 조건식2023-2회 6번 · 2025-3회 4번
조건/결정위 둘 다조건과 결정 모두
MC/DC조건 하나가 결정을 독립적으로 바꾸는 케이스독립적으로 영향2024-1회 14번
다중 조건조건의 모든 조합모든 조합

→ 분기와 조건이 가장 많이 섞인다. 분기는 결정 전체의 참 · 거짓이고, 조건은 결정을 이루는 개별 조건식의 참 · 거짓이다. 「결정 포인트 내의 개별 조건식」이라는 문장이 보이면 조건 커버리지다.

3-3. 경로는 결정 노드에서 갈라 적는다

흐름도 문제는 결정 노드(마름모)를 먼저 센다. 2023년 1회 19번 · 2025년 2회 11번의 흐름도는 결정이 2(X > K)와 6(RESULT > 1) 둘이고, 분기 커버리지는 각 결정의 YES 와 NO 를 한 번씩 지나면 되니 경로 두 개로 네 분기를 덮는다. 첫 경로는 2 에서 YES(→3) 6 에서 YES(→1) 로 1234561, 둘째는 2 에서 NO(→4) 6 에서 NO(→7) 로 124567.

6 에서 방향을 서로 바꾼 1234567 · 124561 도 네 분기를 다 덮으므로 정답이다. 답안에는 노드 번호를 이어 적고, 6 에서 1 로 돌아간 경로는 끝이 1 이다. 경로가 1 로 돌아가는 것을 「반복」이라 빼먹으면 6 의 YES 분기가 안 덮인다.

구문 커버리지 경로(2025년 1회 15번)는 실행되는 문장 번호를 순서대로 적는다. values = {−3}, count = 1 이면 문장 1 초기화 → 2 의 0 < 1 참 → 3 의 −3 < 0 참 → 4 → 5 에서 index 1 → 다시 2 의 1 < 1 거짓 → 6. 반복 조건을 거짓으로 한 번 더 지나는 것이 답의 두 번째 2 이고, 이것을 빼면 틀린다.

3-4. 누가 대신하나 — 스텁과 드라이버

통합 테스트는 모듈을 붙여 가며 하는데, 아직 안 만든 모듈 자리를 누군가 대신해야 한다. 위에서부터 붙이면(하향식) 아래가 비어 있으니 아래를 흉내 내는 스텁이 필요하고, 아래에서부터 붙이면(상향식) 위가 비어 있으니 위에서 불러 주는 드라이버가 필요하다. 2023년 2회 7번과 2026년 1회 15번이 같은 두 칸이다.

수준은 작은 것부터 단위 → 통합 → 시스템 → 인수이고, 인수의 두 가지가 알파(개발자 쪽에서) · 베타(사용자 쪽에서)다. 고친 뒤 다른 곳이 안 망가졌는지 다시 하는 것이 회귀 테스트. 테스트 케이스는 조건 · 데이터 · 예상 결과 셋이 있어야 한 건이다(2025년 3회 19번).

3-5. 형상 관리는 변경을 승인하는 절차다

형상 관리는 소스 · 문서의 변경을 통제하는 일이고 절차 넷이 순서대로다. 무엇을 관리할지 정하고(식별), 변경 요청을 심사해 승인하고(통제), 승인대로 바뀌었는지 검증하고(감사), 이력을 남긴다(기록). 「변경 요청 · 승인」이 보이면 통제다. 기준선은 승인된 시점의 형상, 도구는 Git · SVN 이다.

인터페이스 구현 문제는 두 갈래다. 검증 도구 이름(xUnit · Selenium · STAF · FitNesse · NTAF · watir)과 EAI 통합 방식(Point-to-Point · Hub & Spoke · Message Bus · Hybrid). 「1:1」「허브」「버스」가 방식의 표지고, AJAX(2023년 1회 4번 · 2025년 2회 8번)는 E16 에 두었다.

통과 기준은 넷이다. 첫째, 블랙박스 5 · 커버리지 6 의 이름과 표지 낱말을 적는다. 둘째, 흐름도에서 결정 노드를 세고 분기 커버리지 경로 2개를 적는다. 셋째, 스텁 · 드라이버를 하향 · 상향과 짝짓고 수준 4단계를 순서로 적는다. 넷째, 형상 관리 절차 4단계와 EAI 방식 4개를 적는다. 기출 12문항은 이 넷 안에 있다.
분기 커버리지와 조건 커버리지는 같은 말이다.분기는 결정 전체(if 문)의 참 · 거짓, 조건은 그 안의 개별 조건식(A > 0 · B < 5)의 참 · 거짓이다. if (A > 0 && B < 5) 에서 분기는 두 케이스면 되지만 조건은 A 와 B 각각의 참 · 거짓을 봐야 한다. 조건 커버리지가 분기를 보장하지도 않는다.
스텁은 위를, 드라이버는 아래를 대신한다.반대다. 스텁은 하향식에서 아직 없는 아래 모듈을 흉내 내고, 드라이버는 상향식에서 아직 없는 모듈이 되어 아래를 부른다. 「대신하는」과 「호출하는」이라는 낱말로 가른다.

04기출

왜 이걸 하나 — 이름 문제는 표지 낱말 → 이름, 흐름도 문제는 결정 노드 세기 → 경로 연습이다.

흐름도 문제는 답 칸에 결정 노드 번호를 먼저 적고, 각 노드의 YES · NO 를 어느 경로가 덮는지 표로 그린 뒤 경로를 적는다. 정답에 「또는」이 있으면 두 조합 중 하나만 맞아도 된다.

2023-1회 · 19번테스트

다음 제어 흐름에서 분기 커버리지를 만족하도록 두 개의 실행 경로를 쓰시오.

제어 흐름도(그림을 표로 옮김)

노드내용다음
1POINTER = FALSE2
2X > K ?YES → 3, NO → 4
3POINTER = TRUE4
4X = X + 25
5CALL SUB(X, POINTER, RESULT)6
6RESULT > 1 ?YES → 1, NO → 7
7PRINT RESULT
정답1234561, 124567 (또는 1234567, 124561)
결정 노드는 2(X > K)와 6(RESULT > 1) 둘이고, 분기 커버리지는 각 결정의 참 · 거짓을 한 번씩 지나면 된다. 1234561 은 2 의 YES(→3)와 6 의 YES(→1)를, 124567 은 2 의 NO(→4)와 6 의 NO(→7)를 지나 네 분기가 다 덮인다. 6 에서 방향을 서로 바꾼 1234567 · 124561 도 같은 기준을 만족한다. 경로는 노드 번호를 이어 적고, 6 에서 1 로 돌아간 경로는 1 로 끝난다. 2025-2회 11번에 같은 흐름도가 다시 나왔다. 복원 출처는 grandlife.co.kr 회차별 복원 페이지(2026-09-14 대조). 공식 원문이 아니라 문장·값이 실제와 다를 수 있고, 문항 번호도 복원본마다 다르다.
2023-2회 · 6번테스트

결정 포인트 내의 모든 개별 조건식이 참 한 번, 거짓 한 번을 갖도록 테스트케이스를 설계하는 화이트박스 커버리지는?

정답조건 커버리지 (Condition Coverage)
"개별 조건식"이라는 키워드가 나오면 조건 커버리지. "분기 전체의 참/거짓"이면 분기(결정) 커버리지. 이 구분이 3년간 4회 출제된 최다 함정입니다.
2023-2회 · 7번테스트

통합 테스트에서 ① 하향식 테스트 시 아직 개발되지 않은 하위 모듈을 대신하는 임시 모듈 ② 상향식 테스트 시 상위 모듈을 대신해 테스트를 구동하는 임시 모듈은?

정답① 스텁(Stub) ② 드라이버(Driver)
"하스상드" — 하향식엔 스텁, 상향식엔 드라이버. 위에서 내려갈 땐 아래층 가짜 모형(스텁)이, 아래서 올라갈 땐 시동 걸어줄 운전자(드라이버)가 필요합니다. 2026년 1회 재출제!
2023-3회 · 7번테스트

입력 데이터를 유효한 값과 무효한 값의 그룹으로 나누고 각 그룹의 대표값으로 테스트케이스를 도출하는 블랙박스 기법은?

정답동등 분할 (동치 분할, Equivalence Partitioning)
"그룹별 대표 한 명씩만 검사". 반면 "경계·끝값 집중 검사"는 경계값 분석 — 두 기법을 짝으로 구분해 암기하세요.
2024-1회 · 14번테스트

개별 조건식이 다른 조건식에 영향을 받지 않고 전체 결정 결과에 독립적으로 영향을 주도록 설계하는 커버리지는?

정답변경 조건/결정 커버리지 (MC/DC)
커버리지 서열: 구문 < 분기 < 조건 < 조건/결정 < MC/DC < 다중 조건. "독립적으로 영향" 키워드 = MC/DC 즉답. 항공기 SW 인증에 쓰이는 강력한 기준.
2024-3회 · 9번테스트

커버리지 매칭: ① 모든 문장을 최소 1회 실행 ② 모든 분기의 참/거짓을 각 1회 ③ 개별 조건식의 참/거짓을 각 1회

정답① 문장(구문) 커버리지 ② 분기(결정) 커버리지 ③ 조건 커버리지
"모든 문장"=구문, "분기 전체 결과"=분기, "개별 조건식"=조건. 세 커버리지 구분은 3년간 5회 출제된 최다 빈출 테스트 주제!
2025-1회 · 15번테스트

다음 C 함수가 values = {-3}, count = 1로 호출될 때 실행되는 문장 번호를 순서대로 쓰시오.

int normalize(int values[], int count) { int index = 0; // ① while (index < count) { // ② if (values[index] < 0) { // ③ values[index] = -values[index]; // ④ } index++; // ⑤ } return 1; // ⑥ }
정답① → ② → ③ → ④ → ⑤ → ② → ⑥ (1234526)
구문(문장) 커버리지는 실행된 문장을 순서대로 적는 것이다. ① index = 0, ② 0 < 1 참, ③ −3 < 0 참, ④ 3 으로 바꿈, ⑤ index = 1, 다시 ② 1 < 1 거짓이라 빠져나와 ⑥. 반복 조건 ②를 거짓으로 한 번 더 지나는 것을 빼먹으면 틀린다. 복원 출처는 grandlife.co.kr 회차별 복원 페이지(2026-09-14 대조). 공식 원문이 아니라 문장·값이 실제와 다를 수 있고, 문항 번호도 복원본마다 다르다.
2025-2회 · 11번테스트

다음 제어 흐름 그래프가 분기 커버리지를 만족하도록 테스트 경로 두 개를 쓰시오.

제어 흐름도(그림을 표로 옮김)

노드내용다음
1POINTER = FALSE2
2X > K ?YES → 3, NO → 4
3POINTER = TRUE4
4X = X + 25
5CALL SUB(X, POINTER, RESULT)6
6RESULT > 1 ?YES → 1, NO → 7
7PRINT RESULT
정답1234561, 124567 (또는 1234567, 124561)
결정 노드는 2(X > K)와 6(RESULT > 1) 둘이고, 분기 커버리지는 각 결정의 참 · 거짓을 한 번씩 지나면 된다. 1234561 은 2 의 YES(→3)와 6 의 YES(→1)를, 124567 은 2 의 NO(→4)와 6 의 NO(→7)를 지나 네 분기가 다 덮인다. 6 에서 방향을 서로 바꾼 1234567 · 124561 도 같은 기준을 만족한다. 경로는 노드 번호를 이어 적고, 6 에서 1 로 돌아간 경로는 1 로 끝난다. 2023-1회 19번과 같은 흐름도다. 복원 출처는 grandlife.co.kr 회차별 복원 페이지(2026-09-14 대조). 공식 원문이 아니라 문장·값이 실제와 다를 수 있고, 문항 번호도 복원본마다 다르다.
2025-3회 · 4번테스트

결정 포인트 내 개별 조건식이 참/거짓을 한 번씩 갖도록 하는 화이트박스 커버리지는?

정답조건 커버리지
2023년 2회와 동일 문제 재출제. "개별 조건식" = 조건 커버리지, "분기 전체" = 분기 커버리지.
2025-3회 · 19번테스트

테스트 케이스의 3대 구성 요소: ① 테스트 실행 전 만족해야 할 조건 ② 입력하는 값 ③ 기대하는 출력

정답① 테스트 조건 ② 테스트 데이터 ③ 예상 결과
"어떤 상황에서(조건), 무엇을 넣으면(데이터), 무엇이 나와야 한다(예상 결과)" — 테스트 케이스는 이 3문장짜리 시나리오입니다.
2026-1회 · 15번테스트

통합 테스트: ① 하향식에서 미완성 하위 모듈을 대신하는 것 ② 상향식에서 상위 모듈을 대신해 호출하는 것

정답① 스텁(Stub) ② 드라이버(Driver)
2023년 2회와 완전 동일 문제 재출제! "하스상드" — 3년 새 두 번 나온 공짜 5점.
2026-2회 · 1번테스트

다음 [평가표]의 등급 기준을 바탕으로, 테스트 케이스의 입력값이 [테스트 내역]의 예상 결과값처럼 출력되는지 비교하는 명세 기반 테스트 기법을 쓰시오.

[평가표]

점수성적
90~100A
80~89B
70~79C
0~69D

[테스트 내역]

입력값-1030758595110
예상 결과에러DCBA에러
실제 결과에러DCBA에러
정답동치 분할 테스트
입력을 같은 결과가 나오는 구간(D·C·B·A·범위 밖 2개)으로 나누고 구간마다 대표값 하나(30·75·85·95·-10·110)만 골랐다. 경계값 분석이라면 0·69·70·79·80·89·90·100 처럼 구간의 끝 값을 골랐을 것이다. 「동등 분할」「동치 클래스 분해」도 같은 뜻으로 통용된다. 복원 출처는 grandlife.co.kr 2026-2회 복원 풀이(2026-09-14 대조). 공식 원문이 아니라 문장·변수명·수치가 실제와 다를 수 있다.
예상 1회 · 19번테스트빈출 원리: 블랙박스 기법

입력 유효 범위가 0~100인 프로그램을 테스트하기 위해 -1, 0, 100, 101을 테스트 데이터로 선정했다. 오류가 경계 부근에 집중된다는 점을 이용한 이 블랙박스 테스트 기법은?

정답경계값 분석 (Boundary Value Analysis)
"절벽 끝(경계)에서 사고가 난다" — 범위의 양 끝과 그 바로 바깥 값을 검사. 동등 분할(대표값)은 2023 3회 기출이므로 짝꿍인 경계값 분석이 유력한 다음 타자.
예상 2회 · 19번테스트빈출 원리: V모델 테스트 순서

V모델의 테스트 수준 4단계를 실행 순서대로 나열하시오: (시스템 테스트 / 단위 테스트 / 인수 테스트 / 통합 테스트)

정답단위 테스트 → 통합 테스트 → 시스템 테스트 → 인수 테스트
자동차 공장 순서: 부품 검사(단위) → 조립 확인(통합) → 완성차 주행(시스템) → 고객 시승(인수). 인수 단계의 알파(개발자 환경)/베타(사용자 환경) 구분까지가 한 세트 — 스텁/드라이버(통합)는 2026 1회 기출.

05틀리는 자리

왜 이걸 하나 — 이 장은 비슷한 이름과 경로 표기에서 깎인다.

자리새는 꼴적는 법기출
분기 · 조건「개별 조건식」인데 분기라 적는다개별 조건식이면 조건, 결정 전체면 분기(결정)2023-2회 6번 · 2025-3회 4번
동등 · 경계대표값을 고른 문제에 경계값이라 적는다구간 가운데면 동등 분할, 구간 끝과 앞뒤면 경계값2026-2회 1번 · 예상 1회 19번
경로 표기노드 사이에 화살표 · 쉼표를 섞거나 끝 노드를 뺀다문제의 표기를 따른다. 1234561 처럼 붙여 쓰거나 1-2-3 처럼. 돌아가는 경로는 1 로 끝난다2023-1회 19번 · 2025-2회 11번
반복 조건구문 경로에서 거짓으로 빠져나가는 마지막 검사를 뺀다while 은 마지막에 한 번 더 검사한다2025-1회 15번
스텁 · 드라이버둘을 바꾼다하향식 = 스텁(아래 대신), 상향식 = 드라이버(위 대신)2023-2회 7번 · 2026-1회 15번
MC/DC 표기「변경 조건 결정」만 적거나 「MCDC」변경 조건/결정 커버리지(MC/DC) — 슬래시까지2024-1회 14번
테스트 케이스 3요소「입력 · 출력」만 적고 조건을 뺀다테스트 조건 · 테스트 데이터 · 예상 결과2025-3회 19번

세 칸 매칭(커버리지 3칸 · 케이스 3요소)은 사다리 순서대로 답이 배치돼 있는 경우가 많다. 구문 → 분기 → 조건 순서를 알면 칸이 뒤섞여도 자리를 찾는다.

06훈련

왜 이걸 하나 — 기출에 아직 안 나온 이름이다. 블랙박스 나머지 셋, 커버리지 순서, 형상 관리 절차, 검증 도구 · EAI, 알파 · 베타 · 회귀.

5문항 전부 정의로 대조한 용어다. 흐름도 경로는 기출 3문항으로 충분해 훈련에서는 이름 쪽을 채웠다.

훈련 SW공학 · 1번테스트

블랙박스 테스트 기법 중 다음 설명에 해당하는 것을 각각 쓰시오.

① 입력 조건과 결과의 관계를 그래프로 그려 효용성 높은 케이스를 고른다
② 과거 경험이나 직관으로 오류가 날 만한 입력을 골라 검사한다
③ 같은 명세로 만든 여러 버전에 같은 입력을 넣어 결과를 비교한다

정답① 원인-효과 그래프 검사 ② 오류 예측 검사 ③ 비교 검사
블랙박스 5종은 동등 분할 · 경계값 분석 · 원인-효과 그래프 · 오류 예측 · 비교 검사. 2023년 3회 7번 · 2026년 2회 1번(동등 분할)과 예상 1회 19번(경계값)이 앞의 둘이고 이 문제가 나머지 셋이다. 「그래프」「경험」「여러 버전 비교」가 표지다.
훈련 SW공학 · 2번테스트

화이트박스 커버리지를 약한 것부터 강한 것 순서로 나열하시오.

분기(결정) 커버리지, 다중 조건 커버리지, 구문(문장) 커버리지, MC/DC, 조건 커버리지, 조건/결정 커버리지

정답구문 → 분기(결정) → 조건 → 조건/결정 → MC/DC → 다중 조건
구문은 문장을 한 번씩, 분기는 결정의 참 · 거짓을, 조건은 개별 조건식의 참 · 거짓을, 조건/결정은 둘 다, MC/DC 는 개별 조건이 결정에 독립적으로 영향을 주는 것까지, 다중 조건은 모든 조합을. 2024년 3회 9번이 앞의 셋을, 2024년 1회 14번이 MC/DC 를 물었다. 강할수록 케이스가 많이 든다.
훈련 SW공학 · 3번테스트

소프트웨어 형상 관리의 절차 4단계를 순서대로 쓰고, 다음 설명에 해당하는 단계를 고르시오.

변경 요청을 검토 · 승인하고 변경을 통제하는 단계

정답형상 식별 → 형상 통제 → 형상 감사 → 형상 기록(상태 보고) · 설명은 형상 통제
식별(무엇을 관리할지 정함) → 통제(변경 요청을 심사 · 승인, 기준선 관리) → 감사(변경이 제대로 됐는지 검증) → 기록(이력 보고). 「변경 승인」이 보이면 통제다. 도구는 Git · SVN · CVS, 개념은 기준선(baseline) · 체크인 · 체크아웃 · 커밋.
훈련 SW공학 · 4번테스트

다음 설명에 해당하는 인터페이스 구현 검증 도구 · 통합 방식을 각각 쓰시오.

① 자바 · C 등 언어별 단위 테스트 프레임워크의 총칭(JUnit · CUnit)
② 웹 브라우저를 자동으로 조작해 UI 를 테스트하는 도구
③ 각 시스템을 1:1 로 직접 연결하는 EAI 통합 방식
④ 중앙의 허브가 모든 연결을 중개하는 EAI 통합 방식

정답① xUnit ② Selenium ③ Point-to-Point ④ Hub & Spoke
검증 도구는 xUnit · STAF · FitNesse · NTAF · Selenium · watir. EAI 방식은 Point-to-Point(1:1) · Hub & Spoke(중앙 허브) · Message Bus(ESB, 버스) · Hybrid(허브 + 버스). 「1:1」「허브」「버스」가 표지다.
훈련 SW공학 · 5번테스트

다음 설명에 해당하는 테스트 이름을 각각 쓰시오.

① 개발자 환경에서 사용자가 참여해 수행하는 인수 테스트
② 실제 사용자 환경에서 사용자가 수행하는 인수 테스트
③ 수정한 뒤 다른 곳이 망가지지 않았는지 다시 확인하는 테스트

정답① 알파 테스트 ② 베타 테스트 ③ 회귀 테스트
알파는 개발자 쪽에서 통제된 환경, 베타는 사용자 쪽 실제 환경. 회귀(regression)는 「고친 뒤 다시」다. 테스트 수준 순서(단위 → 통합 → 시스템 → 인수)와 함께 외운다.

07백지 재현

왜 이걸 하나 — 아래를 안 보고 적을 수 있어야 이 장이 끝난다.