버그 및 오작동 문제에 대한 푸념

eloiz의 이미지

첫 입사한 회사에서 임베디드 개발을 시작한지 4년쯤 되었습니다.
작은 회사다보니 선임도 없고 해서 열심히 밤세워가며 공부해가면서 완성품도 만들어내고 했습니다만
자체 테스트할때는 안나오다가 꼭 필드에 나가면 유독 오작동이 발생합니다. ㅠㅜ

좀 더 잘만들고 싶고 문제가 안나왔으면 좋겠다는 생각에 체크리스트도 작성해서
테스트도 해보고 합니다만 나오는건 매한가지군요. 고쳤다고 생각한 문제에서도 또 나오기도 하고 하...
익숙치 않은 RTOS를 올렸던게 문제일까 싶은 생각도 듭니다.
게다가 문제를 분석해봐도 원인을 찾기도 너무 어렵구요.
혼자서 개발하다보니 참 도움 받을때도 마땅찮네요.
계속해서 문제가 나오다보니 자괴감도 들고 밤에 잠도 안오기도 하고...
설계단계에서 잘못되서 나오는 문제면 어떻하지 하는 걱정도 들고 ㅜㅠ

다른분들은 개발할때 어떻게 버그 같은걸 줄이시나요?
이런걸 잘하게 되는건 결국 경력과 경험밖에 없는걸까요?

라스코니의 이미지

가능한 다양한 에러 상황을 예측해서 그것을 막도록 코딩하고 실제 테스트도 해봐야 겠죠.
예를 들어 실제 소비자 이용 현장에서는 아래처럼 절대 회사 내 실험실 벤치에서는 발생하지 않을 일들이 매우 많이 일어납니다.
- compact disk 소켓이 느슨하여 가끔 슬그머니 빠지기, 랜선도 마찬가지
- 먼지가 엄청껴서 (아주) 가끔 쇼트나 통신 에러가 발생, parity/CRC 등으로 데이터 integrity 확인 필요
(특히 매우 덥거나 매우 춥거나, 습도가 매우 높은 환경, 예를 들어 목욕탕 내부 등에서는 알수 없는 오류 발생확률이 높겠죠)
- 입력 버튼을 자주 누르기(개발자는 버튼을 딱 알맞은 횟수만큼 알맞은 간격으로 누르지만 사용자는 마구 마구 누르죠)
- 동작 중 케이블 뽑고 다시 끼기

이런 것들을 모두 가정해서 대처해 주어야 합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.