자격증 정복/임베디드기사(기능사)

임베디드기사 실기 13 — 개발도구·테스팅 (블랙박스·화이트박스·스텁·CASE·gdb)

올드 IT직장인 2026. 11. 4. 05:22

임베디드기사 실기 13 — 개발도구·테스팅 (블랙박스·화이트박스·스텁·CASE·gdb)

출제기준 4-3: 개발도구 및 테스팅 기법 활용하기
블랙박스 vs 화이트박스는 거의 매 회차 나오는 단골이에요.
용어 구분만 정확하면 확실한 점수입니다.


📎 필기 시리즈의 소프트웨어 테스트 편과 함께 보면 좋아요.

2026.08.17 - [자격증 정복/임베디드기사(기능사)] - 임베디드기사 필기 14 — 임베디드 소프트웨어 ③ 개발방법론(UML·테스트·럼바우·나선형·CMMI)

 

임베디드기사 필기 14 — 임베디드 소프트웨어 ③ 개발방법론(UML·테스트·럼바우·나선형·CMMI)

임베디드기사 필기 14 — 임베디드 소프트웨어 ③ 개발방법론(UML·테스트·럼바우·나선형·CMMI) 4과목 [4-3] 개발방법론 파트입니다.나선형 모형 제안자, 화이트박스 vs 블랙박스, CMMI 5단계는 매 회

tech.seanney.pe.kr

 


실기 출제 포인트 ⭐⭐⭐

키워드 핵심 내용 빈도 기출
블랙박스 테스트 내부 구조 모르고 입출력만 검사
(동등 분할, 경계값)
⭐⭐⭐ 2015 Q8, 2017 Q8, 2018 Q5,
2020 Q11 = 2025 Q18
화이트박스 테스트 내부 구조·로직 검사
(기초 경로, 루프, 데이터 흐름)
⭐⭐⭐ 2016 Q14, 2020 Q11 = 2025 Q18
스텁 (Stub) 다른 모듈을 대신하는 간이 코드 ⭐⭐ 2022 Q18 = 2023 Q20
CASE 도구 개발 과정을 자동화하는 도구 ⭐ 2015 Q3
gcc 옵션 -c 컴파일만 / -o 출력 파일 ⭐ 2025 Q17
디버거(gdb), 단위 테스트 케이스 작성 출제기준에 있으나 기출 없음 — 📌 개념 보강

 

 

키워드 박스 — 답안에 반드시 들어가야 할 단어

블랙박스 : 내부 구조를 모르는 상태 / 입력-출력 중심 / 동등 분할 · 경계값 분석
화이트박스: 내부 구조·동작을 상세 검사 / 기초 경로 · 조건 · 루프 · 데이터 흐름
스텁     : 테스트 대상이 의존하는 다른 모듈을 대체하는 간이 코드 (정해진 값 반환)
CASE     : Computer-Aided Software Engineering, 개발 단계 자동화 도구
-c / -o  : 목적파일(.o)만 생성 / 출력 파일명 지정(링크까지)

블랙박스 테스트 ⭐⭐⭐

기출 (2015 Q8 / 2017 Q8 / 2018 Q5) 내부 구조를 보지 않고 입력과 출력 중심으로, 동등 분할과 경계값 분석 등을 수행하는 테스트 기법은?
→ 블랙박스 테스트 (Black-box Testing)

기법 설명
동등 분할 (동치 분할) 입력 조건을 유효/무효 그룹으로 나누고 대표값으로 테스트
경계값 분석 오류가 많이 생기는 경계 부근(최솟값, 최댓값, 직전/직후)을 테스트
원인-결과 그래프 입력 조건(원인)과 출력(결과)의 논리 관계로 케이스 도출
오류 예측 테스터의 경험으로 오류를 예측해 테스트
의사결정 테이블 / 상태 전이 조건 조합 / 상태 변화 기반 테스트

 

⚠️ 함정: 문제에 "동등 분할"과 "경계값 분석" 이 나오면 무조건 블랙박스예요. 화이트박스로 쓰는 실수가 가장 흔합니다.


화이트박스 테스트 ⭐⭐⭐

기출 (2020 Q11 = 2025 Q18) 소프트웨어 내부 구조·동작을 상세히 검사하는 방식을 ( A ) 테스트, 내부 구조나 작동 원리를 모르는 상태에서 동작을 검사하는 방식을 ( B ) 테스트라 한다. 빈칸은?
→ ( A ) 화이트박스 테스트, ( B ) 블랙박스 테스트

 

기출 (2016 Q14) 화이트박스 테스트의 유형 3가지를 쓰시오.
→ 정리본 정답: 기초 경로 검사, 조건 검사, 루프 검사, 데이터 흐름 검사 (4개가 적혀 있어요. 3개만 쓰면 됩니다.)

유형 설명
문장 커버리지 모든 문장을 1번 이상 실행 (가장 약한 수준)
분기(결정) 커버리지 모든 조건문의 참/거짓 분기를 각각 1번 이상 실행
조건 커버리지 복합 조건의 각 항목을 참/거짓으로 테스트
기초(기본) 경로 검사 순환 복잡도만큼의 독립 경로를 모두 테스트 (McCabe)
루프 검사 반복문의 0회, 1회, 2회, 최대 횟수, 초과 시도 등을 테스트
데이터 흐름 검사 변수의 정의 지점부터 사용 지점까지의 흐름을 추적

 

블랙박스 vs 화이트박스 한눈에

구분 블랙박스 화이트박스
내부 구조 모름 앎
기준 요구사항 명세서 소스 코드
대표 기법 동등 분할, 경계값 분석, 오류 예측 기초 경로, 루프, 데이터 흐름, 커버리지
장점 사용자 관점, 설계 간단 숨은 오류를 세밀하게 발견
단점 내부 로직의 세부 오류를 놓칠 수 있음 개발자 수준의 기술 필요, 설계 복잡

위 표의 장·단점은 정리본 해설을 요약했어요.


테스트 대역: 스텁 (Stub) ⭐⭐

기출 (2022 Q18) 프로그램 단위 테스트 중 다른 프로그램의 속성값을 가져오는 간이 코드는?
→ 스텁 (Stub)

 

기출 (2023 Q20) 테스트 중인 모듈이 의존하는 소프트웨어 구성 요소의 동작을 시뮬레이션(가짜 객체·임시 모듈로 대체)하는 기법은?
→ 스텁 (Stub) / 테스트 대역(Test Double)

테스트 대상 모듈 ──(호출)──▶ Stub (간이 코드) ──▶ 미리 정한 값 반환
종류 역할 호출 검증
Stub 의존 모듈을 대체해 정해진 값을 반환 안 함
Driver 테스트 대상을 호출해 실행시킴 —
Mock 호출 여부·횟수 등 상호작용 검증 함
Fake 실제와 비슷하게 단순 구현 —
Spy 호출 정보를 기록 함

암기: Stub = 아래쪽(호출당하는 쪽)을 대신, Driver = 위쪽(호출하는 쪽)을 대신 한다고 기억하면 헷갈리지 않아요.

 

⚠️ 함정: 문제에서 "속성값을 가져오는 간이 코드", "의존하는 구성 요소의 동작을 시뮬레이션" 이 나오면 Stub입니다.

Driver는 "테스트 대상을 호출해주는" 쪽이에요.


개발 도구 ⭐

CASE 도구

기출 (2015 Q3) 소프트웨어 개발 과정의 요구 분석, 설계, 구현, 검사, 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구로 자동화하는 것은?
→ CASE (Computer-Aided Software Engineering) 도구

CASE 도구의 장점
- 개발 비용·기간 단축
- 자동화된 검사로 품질 향상
- 생명주기 전 단계를 연결·자동화, 유지보수 용이, 모듈 재사용성 향상

 

크로스 컴파일 옵션

기출 (2025 Q17) 크로스 컴파일 시 오브젝트 파일을 생성하는 옵션과 링크된 실행 파일까지 생성하는 옵션은?
→ -c / -o

arm-linux-gnueabi-gcc -c main.c          → main.o  (컴파일까지만, 링크 안 함)
arm-linux-gnueabi-gcc -o app main.o      → app     (링크해서 실행 파일 생성, 이름 지정)

교차개발환경과 컴파일 4단계는 6편에서 정리했어요.


📌 개념 보강 (출제기준에 있으나 기출 없음)

출제기준 4-3에는 "디버깅 도구 이용"과 "단위 테스트 케이스 작성"이 있지만 11회차 기출에는 한 번도 나오지 않았어요.

정의와 예시만 알아두세요. (아래 예시는 제가 직접 만든 연습용이에요.)

gdb 기본 명령

명령 기능
break 지점 중단점 설정
run 프로그램 실행
next / step 한 줄 실행 (step은 함수 내부로 진입)
print 변수 변수 값 확인
continue 중단점 이후 계속 실행

단위 테스트 케이스 작성 (연습 예시)

int max(int a, int b) 함수의 테스트 케이스를 입력값 - 기대 결과 - 구분으로 표로 만들어요.

입력 (a, b) 기대 결과 구분
(5, 3) 5 일반
(3, 3) 3 경계 (같은 값)
(-1, -5) -1 음수
(0, 0) 0 0값

이 표는 블랙박스 기법 중 동등 분할 + 경계값 분석 으로 케이스를 뽑은 거예요.


기출 문제 모음

Q. 내부 구조를 모르는 상태에서 동등 분할·경계값 분석으로 입출력을 검사하는 기법은? (2015·2017·2018)
A. 블랙박스 테스트

 

Q. 내부 구조·동작을 상세히 검사하는 방식(A)과 모르는 상태에서 검사하는 방식(B)은? (2020·2025)
A. (A) 화이트박스, (B) 블랙박스

 

Q. 화이트박스 테스트 유형 3가지는? (2016 Q14)
A. 기초 경로 검사, 루프 검사, 데이터 흐름 검사 (조건 검사도 가능)

 

Q. 단위 테스트에서 다른 프로그램의 속성값을 가져오는 간이 코드는? (2022·2023)
A. 스텁 (Stub)

 

Q. 요구 분석부터 디버깅까지 개발 과정을 자동화하는 도구는? (2015 Q3)
A. CASE 도구

 

Q. 크로스 컴파일에서 목적파일만 만드는 옵션과 실행 파일을 만드는 옵션은? (2025 Q17)
A. -c / -o


💡 실무에서는?

  • 블랙박스 vs 화이트박스 — 보안 점검에서도 같은 구분을 써요.
    소스 없이 외부에서 두드리는 모의해킹이 블랙박스, 소스 코드를 보면서 취약점을 찾는 정적 분석이 화이트박스에 가깝습니다.
  • 스텁 — 외부 장비·API가 아직 준비되지 않았을 때 임시 응답 서버를 띄워 연동 테스트를 먼저 하는 방식이 실무의 스텁이에요.
  • 경계값 분석 — 입력 길이 제한, 포트 번호 범위(0~65535), 인증 실패 횟수 임계값처럼 인프라·보안 설정에서도 경계 근처가 가장 자주 문제를 일으켜요.
  • gdb — 임베디드에서는 타겟 보드에서 gdbserver를 실행하고 호스트에서 접속하는 원격 디버깅이 기본이에요. (6편 참고)

핵심 정리

✅ 블랙박스 = 내부 모름, 입출력 중심, 동등 분할·경계값 분석
✅ 화이트박스 = 내부 앎, 기초 경로·조건·루프·데이터 흐름 검사
✅ 스텁(Stub) = 의존 모듈을 대신하는 간이 코드 / 드라이버(Driver) = 테스트 대상을 호출
✅ CASE 도구 = 개발 단계 자동화 도구 (2015 Q3)
✅ gcc -c = 목적파일만 / -o = 출력 파일명 지정
✅ 기출 없음: gdb(break/run/next/print), 단위 테스트 케이스 → 정의만

 

다음 편에서는 장애 대응(출제기준 5)으로 이어갑니다!

 

궁금한 점은 댓글로 남겨주세요!

 

2026.10.16 - [자격증 정복/임베디드기사(기능사)] - 임베디드기사 실기 01 — 시리즈 소개와 실기 출제 맵 (출제기준·기출 분석·답안 작성 전략)

 

임베디드기사 실기 01 — 시리즈 소개와 실기 출제 맵 (출제기준·기출 분석·답안 작성 전략)

임베디드기사 실기 01 — 시리즈 소개와 실기 출제 맵 (출제기준·기출 분석·답안 작성 전략)출제기준: 임베디드기사 실기 (적용기간 2024.01.01 ~ 2027.12.31)기출 11회차(2015~2025) 약 200문항을 분석해서

tech.seanney.pe.kr

2026.11.02 - [자격증 정복/임베디드기사(기능사)] - 임베디드기사 실기 12 — 프로그램 작성 (C 프로그래밍: 포인터·메모리·출력 결과 계산)

 

임베디드기사 실기 12 — 프로그램 작성 (C 프로그래밍: 포인터·메모리·출력 결과 계산)

임베디드기사 실기 12 — 프로그램 작성 (C 프로그래밍: 포인터·메모리·출력 결과 계산)출제기준 4-2: 임베디드 프로그램 작성하기코드를 읽고 출력 결과를 손으로 계산하는 문제가 해마다 나와

tech.seanney.pe.kr

 

반응형