프로그램 버그(Bug) 뜻와 유래에 대해서 알아보아요~
- SW교육/지식창고
- 2020. 8. 26.
안녕하세요. 버그(Bug)라는 말을 많이 사용하시나요?
버그라는 말을 자주 사용한다면 무엇인가 문제가 자주 발생한다는 건데...ㅜ.ㅜ
사전적인 의미로는 우리말 '벌레', '곤충' 이런 뜻일 텐데요.
소프트웨어나 전자제품을 사용할 때도 이런 말을 많이 사용을 합니다.
많이 사용하는 말이기 때문에 이미 알고 계신 분들이 꽤 있을 것으로 생각됩니다만
오늘은 버그의 뜻과 유래에 대해서 살펴보도록 하겠습니다.
버그(Bug)란?
- 보통 버그는 소프트웨어나 하드웨어의 결함을 말합니다.
그런데 여기서 결함은 아주 치명적인 결함을 말하는 것은 아니고요. 예기치 못한 오류나 오동작을 말하는 것이지요.
예를 들면, 보통 어떤 프로그램이 기본적으로 수행되어야 할 기능은 되는데 경우에 따라 잘못된 동작을 수행하는 경우에 "버그가 있다. 버그를 발견했다."라고 말합니다.
실례로 이렇게 말하죠.
"어라? 이거 버그가 있잖아. 이봐! 도대체 테스트를 한 거야 안 한 거야?"
모든 프로그램은 출시 전에 요구사항을 만족하시키는 것은 기본이고 최대한 버그를 모두 잡으려고 하죠.
(흔히 말하는 베타 테스트라고 하는 것도 버그를 잡기 위한 과정입니다.)
밤에 잠을 자려고 하는데 방에 모기가 있으면 방 안에 남아있는 모기를 모두 잡아야겠다는 생각이 드는 것과 마찬가지로요. 그런데 다 잡았다고 생각을 해도 어디서 모기가 숨어있다가 나타나서 앵앵거립니다. ㅜ.ㅜ
마찬가지로 사실 모든 버그를 다 찾아서 고치는 것은 불가능에 가깝습니다.
완벽한 것이 아니라 완벽에 가까운 것을 추구하는 것입니다. 따라서 최대한의 경우의 테스트를 빠른 시간에 할 수 있도록 테스트 기법을 사용하곤 합니다.
테스트 기법에 대한 이야기는 나중에 다시 하겠습니다.
버그(Bug)의 유래
- 그럼 도대체 왜? 버그라는 말을 붙였을까요?
2020/08/20 - [SW교육/지식창고] - 세계 최초의 컴퓨터는 무엇일까요?
위 글에서 적었듯이 최초의 컴퓨터 에니악은 18,000개의 진공관을 사용하였습니다.
위에서 보듯 진공관은 마치 전구처럼 생겼죠?
그렇습니다. 진공관은 에디슨이 발명한 백열전구에서 발전하여 생겼다고 합니다.
예전 에니악 컴퓨터의 진공관은 꽤 컸을 것이라고 추정되는데요. (뇌피셜)하루는 에니악 컴퓨터가 고장이 났는데 원인을 찾아보니 18,000여 개의 진공관 기판 중 하나에 나방이 달라붙어 있는 것을 발견했다고 하네요.
초창기 컴퓨터 개발자 중 한명인 그레이스 하퍼(Grace Murray Hopper, 1906~1992)가 운용 중이던 ‘하버드 마크 II(Harvard Mark II)’ 컴퓨터의 고장 원인을 조사하던 중, 회로 사이에 나방 한 마리가 끼어있는 것을 발견했다.
- 출처 : 네이버 지식백과
아마도 전구에 달려드는 나방처럼 진공관을 향해 돌진한 듯합니다.
그래서 나방을 제거하여 그 결함을 제거했다고 하는데요.
그때부터 버그(Bug)라는 말과 버그를 제거한다는 디버그(Debug)라는 말을 사용하게 되었다고 합니다.
디버깅(Debugging)이란?
- 진공관 기판에 달라붙은 나방을 떼내 듯 버그를 찾아내서 고치는 것을 말합니다.
프로그램의 결함 오동작이 있을 수 있는 사항을 찾아서 수정하는 것을 디버깅이라고 하는데 프로그램 문법에 안 맞으면 버그처럼 단순한 결함도 물론이거니와 기본적인 동작이 안 되는 치명적인 결함이 있을 수 있겠죠?
디버깅이란 보통 단순한 버그를 찾는 것뿐만 아니라 프로그램 코딩에서 논리적으로 문법적으로 잘못된 것을 찾는 또한 디버깅이라고 합니다. 즉, 프로그램을 개발하는 과정에서 잘못된 것을 찾는 행위를 통틀어서 말하죠.
이러한 디버깅도 조금 더 효과적으로 수행하기 위한 여러 가기 방법을 사용하여 프로그래머가 직접 수행하거나 기법을 탑재한 자동화된 솔루션 툴(Tool)을 이용하기도 합니다. - 이상 끝 -
'SW교육 > 지식창고' 카테고리의 다른 글
Agile 개발방법론 - Agile Project Cycle (0) | 2023.03.23 |
---|---|
초등학교 SW교육 Or 코딩교육 어떻게 준비할 것인가. (7) | 2020.09.13 |
RGB색상에 대해서 알아보자-빛의 삼원색, 16진수변환 - (0) | 2020.09.01 |
파일 확장자(Filename extension)란 무엇인가요? (2) | 2020.08.29 |
세계 최초의 컴퓨터는 무엇일까요? (6) | 2020.08.20 |