2024. 3. 10. 02:35ㆍDevelopment
안녕하세요, 오늘은 소프트웨어 역량 검정(TOPCIT) 체험기를 들려드리려고 왔어요.
군대 전역 후, 그리고 복학 전에 "내 실력은 어느 정도 위치에 있는가?" 항상 고민했습니다.
이어서 "내 실력을 최대한 객관적으로 판단하려면 어떻게 해야 하지?" 에 대해 고민하게 되었어요.
그 때 떠오른 게 소프트웨어 역량 검정 (TOPCIT)입니다. 군대 가기 전 소프트웨어 마에스트로에서 강제로 봤던 시험인데, 시험 중 전산 오류가 터지면서 포기하고 나왔던 기억이 있어요.
마침 저희 학교 졸업 요건에도 있어서 좋은 기회라고 생각하고 시험을 응시하기로 마음 먹었어요.
소프트웨어 마에스트로 연수생이면 반드시 이 시험을 봐야 하고, 개인적으로도 준비하는 분이 계실 수 있기 때문에 이 글을 보면서 시험에 대비할 수 있길 바라며 작성합니다.
1. TOPCIT이란?
2. TOPCIT의 유형
3. TOPCIT의 평가 영역
4. 예시 문제
5. 시험 후기
6. 시험 결과
1. TOPCIT이란?

TOPCIT은 ICT산업 종사자 및 SW개발자가 비즈니스를 이해하고, 요구사항에 따른 과제를 해결하여 업무를 성공적으로 수행하는데 요구되는 기본적인 핵심 지식·스킬의 종합적인 능력을 진단하고 평가합니다.
(출처 : TOPCIT 공식 홈페이지)
즉, 소프트웨어 전 분야를 이해하고 있고 업무를 진행할 능력이 있는지 평가하는 시험이에요.
2. TOPCIT의 유형
TOPCIT은 객관형(오지선다형), 단답형, 서술형, 수행형 네 개의 문제 유형으로 이루어져 있어요.
그리고 이 시험의 특이한 점으로는 객관식은 20% 밖에 없고 배점도 매우 낮아요. (한 문제 당 5점)
수행형이라는 유형이 50%나 존재하는데 가장 큰 배점을 가지고 있어요. (한 문제 당 최소 30점)
수행형은 직접 코드를 작성하는 문제도 있고, 다이어그램을 그리거나, 문제 해결 과정을 제시하는 창의력 문제도 있어서 단순 암기로는 고득점을 맞기 힘들어요.
3. TOPCIT의 평가 영역
TOPCIT은 아래 일곱 가지 영역으로 평가해요.
1. 소프트웨어 개발 (260점)
2. 데이터 이해와 활용 (145점)
3. 시스템 아키텍쳐 (75점)
4. 정보보안 (85점)
5. IT 비즈니스와 윤리 (95점)
6. 테크니컬 커뮤니케이션 및 프로젝트 관리 (80점)
7. 통합 영역 (260점)
통합 영역은 위 여섯 가지 영역이 통합되어 나오는 문제이기 때문에 배점도 크고 아주 중요한 부분을 차지해요.
총 점수는 1,000점으로 점수에 따라 수준이 1에서 5까지 나뉘어요.
수준 1 - 입문형 : 기술 및 비즈니스 영역에 대한 지식 및 스킬에 대한 이해가 미흡하여 학습이 필요한 수준
수준 2 - 도전형 : 기술 및 비즈니스 영역에 대한 지식과 스킬을 이해하는 수준
수준 3 - 능숙형 : 기술 및 비즈니스 영역에 대한 지식과 스킬을 적용하여 과제를 해결할 수 있는 수준
수준 4 - 문제해결형 : 기술 및 비즈니스 영역에 대한 지식 및 스킬을 응용하여 보다 복잡한 수준의 과제를 해결할 수 있는 수준
수준 5 - 창의융합형 : 기술 및 비즈니스 영역에 대한 지식과 스킬을 응용하여 창의성을 바탕으로 새로운 대안을 도출하고 주도적으로 과제를 해결할 수 있는 수준
그리고 점수 별 구간은 아래와 같아요.
수준 1 : 0 - 149점
수준 2 : 150 - 399점
수준 3 : 400 - 649점
수준 4 : 650 - 849점
수준 5 : 850 - 1,000점
저희 학교는 수준 3 이상, 400점 이상이면 졸업 요건 중 하나를 채울 수 있어서 좋은 기회라고 생각하고 응시를 했어요.
4. 예시 문제
저는 개인적으로 객관식과 단답형이 가장 어려웠어요.
TOPCIT 에센스라는 참고서가 있는 걸로 아는데, 거기 내용이 많은 건지, 아니면 지엽적인 내용이 많은 건지는 모르겠는데 처음 들어보는 용어도 진짜 많았어요.
그리고 부분 점수도 없는 것 같아서 틀리면 점수가 훅훅 나가더라고요.
문제 유형마다 간단한 예시 문제를 보여드릴테니 한 번 직접 풀어보세요!
(실제 TOPCIT 문제와는 전혀 관련 없으며 비슷한 형식으로 제가 간단하게 만든 문제임을 밝힙니다.)
[객관형 - 소프트웨어 개발]
A사는 티켓팅 서비스를 제작하고 있다. 많은 요청을 안정적이고 요청 순서를 보장하기 위한 방법을 찾고 있다. A사가 도입 고려 할 수 있는 자료구조로 가장 적절한 것은?
1. 배열(Array)
2. 스택(Stack)
3. 큐(Queue)
4. 집합(Set)
5. 트리(Tree)
[단답형 - 테크니컬 커뮤니케이션 및 프로젝트 관리]
아래 보기에 해당하는 개념은?
소프트웨어 개발 프로세스에서 코드의 변경사항을 추적하고 관리하는 시스템을 사용하여, 개발자들이 이전 버전으로 롤백할 수 있게 하고, 다양한 버전의 코드를 동시에 유지할 수 있게 해주는 작업 방식이다.
이는 개발 과정에서 발생할 수 있는 다양한 문제들을 해결하고, 팀원들 간의 협업을 용이하게 하며, 프로젝트의 안정성과 효율성을 높이는 데 기여한다.
[서술형 - 정보보안]
아래 findUserByUsername 함수는 사용자의 이름을 받아 사용자 객체를 반환하는 Java로 작성된 함수이다.
public User findUserByUsername(String username){
String sql = "select * from user where username = '" + username + "'";
Optional<User> user = send_query(sql);
return user;
}
(1) 위 코드에서 우려되는 보안적 취약점은?
(2) 보안적 취약점을 없애기 위해 코드를 어떤 방식으로 수정해야 하는가?
[수행형 - 시스템 아키텍처]
아이디와 비밀번호로 이루어진 로그인 요청이 일어날 때, 사용자(User), 웹 애플리케이션 서버(Server), 데이터베이스(Database) 간의 관계와 로그인 과정의 흐름을 시퀀스 다이아그램(Sequence Diagram)으로 작성하시오.
5. 시험 후기
- 여러 언어를 정확히 이해하고 작성할 수 있어야 해요.
- 제 기억으로 시험에서 본 언어는 C++, Java, Python, SQL이에요. 코드 해석부터 작성까지 다양하게 출제되니 꼼꼼히 알아야 할 것 같아요.
- 프로그래밍 언어 뿐만 아니라 이론, 프로젝트 관리 등 다양한 분야의 용어나 활용 방법을 알아야 해요. 코드를 쓰는 문제보다 문제 해결 능력을 보는 문제가 더 많아요.
- 다이어그램 그리기 문제, 코드를 보고 여러 개념과 연관지어 해결책 찾기 문제는 머리와 시간을 꽤나 써야 하므로 직접 문제를 해결해보는 경험이 반드시 필요해요.
- 서술형과 수행형은 부분 점수를 후하게 주는 것 같으니 몰라도 그럴듯하게 작성해서 제출해보아요.
6. 시험 결과
아래는 제 시험 결과입니다. 645점이라는 점수를 받았어요.
평균이 298점, 상위 10%가 596점인 걸로 보아 상위 5% 정도 하지 않았나 싶습니다. 객관식 한 문제 차이로 수준 4를 달성하지 못 한 게 아쉽네요.
그래도 처음 본 시험 치고는 결과가 좋아 안심했습니다.
TOPCIT 에센스로 공부하면 확실히 점수가 더 오르지 않을까 싶습니다.



영역 별로 점수를 나누어 확인할 수 있어 제가 어느 쪽이 부족한지 쉽게 알 수 있었어요.
졸업 전에는 TOPCIT 에센스로 대비해서 제대로 볼 예정이에요.
유형 별 출제 경향, 문제 유형 같은 더 자세하게 궁금한 내용이 있으시면 댓글로 문의 주세요!
제 글이 많은 도움이 되었길 바라며,
긴 글 봐주셔서 감사합니다!
멋진 개발자가 되기 위해 더 열심히 달리겠습니다!
- 달맹 -
'Development' 카테고리의 다른 글
| Prompt Engineering: ChatGPT와 대화하기 3편 (0) | 2024.03.10 |
|---|---|
| Prompt Engineering: ChatGPT와 대화하기 2편 (0) | 2024.03.10 |
| Prompt Engineering: ChatGPT와 대화하기 1편 (0) | 2024.03.09 |
| 비동기 프로그래밍 4편 [끝] (0) | 2024.03.05 |
| 비동기 프로그래밍 3편 - ChatGPT 활용 예제 (2) | 2024.03.05 |