버그와 결함의 차이점은 무엇입니까?

소프트웨어 개발 테스트에서 버그와 결함의 차이점이 무엇인지 궁금합니다.

댓글

  • @ user246에 있습니다. 문제도 있습니다. 다시 똑같습니다.
  • 이전에 질문을했기 때문에이 질문을 공유하고 싶었습니다. programmers.stackexchange.com/questions/37029/ … 링크 된 질문도 있습니다 (오른쪽에 질문)도 비슷합니다. 이것은 SQA SE에 있지 않기 때문에 ' 중복으로 표시 할 수 없습니다.
  • 이 사소한 질문에 대한 충분한 답변이 있다고 생각하므로 ' 지금 보호 할 것입니다.
  • @ user246 Lol 무례한 댓글입니다.

답변
  • @ user246 h2>

    똑같습니다. 의심 할 여지없이 이러한 용어를 다른 의미로 사용하는 회사가 있지만 그 사용법은 보편적이지 않습니다. 누군가 인터뷰에서 그 질문을하면 “내가 일하는 곳에서는 용어를 바꿀 수 있습니다. 여기에서 다른 의미가 있습니까?”라고 말할 수 있어야합니다.

    코멘트

    • 제품의 예상치 못한 동작 인 버그 / 결함의 정의에 모두가 동의합니다. 나에게 개발 단계에서 발견 된 것을 " BUG "라고해야하지만이 버그가 라이브 제품에서 발견되면 " DEFECT "라고합니다. 곧 버그가있는 기능, 결함있는 제품입니다.

    답변

    버그, 결함, 문제, 결함, 인시던트, 티켓은 모두 동일하며 조직에서 상호 교환 적으로 사용됩니다. 사람들은 토론하고 동의하거나 동의하지 않는다고 말하고 인용문을 인용 할 수 있지만 실제 현실은 그것이 추적되고 필요에 따라 참조되며 궁극적으로 수정되는 한 당신이 부르는 것이 중요하지 않다는 것입니다.

    내 경험에 따르면 아래 : Bugzila에서는 “Bug Id”필드가 표시되고 QC / HP ALM에서는 회사 내부 모니터링 / 지원 도구에서 “결함 ID”필드가 주로 “인시던트 번호 :”로 표시됩니다.

    코멘트

    • 버그와 결함이 동일합니다. 문제, 사고 및 티켓은 반드시 버그 또는 결함으로 인한 문제없이 제기 된 우려를 의미하는 경향이 있습니다. 예를 들어 사용자 오류로 인해 문제가 발생할 수 있습니다. 또는 기능 요청 일 수 있습니다. 일부 " 버그 추적 " 소프트웨어 (Bugzilla)가 모든 종류를 추적한다는 것은 ' 사실입니다. 버그 외에 모든 문제를 구어체로 " 버그 "라고 지칭 할 수도 있지만 '는 표준 사용이 아니며 소프트웨어가 원래 의도했던 것 이상으로 확장했기 때문일 수 있습니다.
    • @LarsH 기술적으로는 정확하지만 실제 사건에서는 일반적으로 " 버그 ", " 결함 " 또는 " 사건 ", 회사 문화에 따라 달라집니다. " 설계 상 " 이유로 종료 된 버그 / 결함 / 사건은 기술적으로 버그 / 결함이 아니며 여전히 모든 사람이 버그라고 부릅니다. 결함 / 사건을 호출하는 올바른 이름입니다.
    • @Peter : 일반적으로 동의하지만 ' " 모든 사람 " 또는 " 올바른 이름으로 호출합니다. " ' 4 개의 서로 다른 회사 / 조직 (및 해당 조직 내에서 서로 다른 문화를 가진 서로 다른 그룹)에서 소프트웨어 개발을 수행했으며 많은 사람들이 이겼습니다. ' 지정된대로 작동하지 않는 소프트웨어 / 하드웨어로 인해 발생하는 ' 문제가 아닌 이상 버그라고 부르지 않습니다. 특히 문제가 소프트웨어에서 " 버그 "라고 주장 될 때 명성이 위태로운 개발자. 예, 일반적으로 귀하의 의미를 알고 있으며 ' 소란스럽게하지 않지만 ' 정확하지 않습니다.
    • @LarsH 제가 일했던 회사에서 사건은 버그 나 결함과는 확연히 달랐습니다. " 서버에 하드 드라이브 공간이 부족함 " 또는 " 파이버 라인이 끊어졌습니다. " 물론 보안 사고도 있습니다. 저는 ' 인시던트가 버그와 동등하다고 보편적으로 말하는 것이 공정하지 않습니다. 버그와 결함이 있습니다.하지만 IMO는 사고가 늘어나고 있습니다.

    Answer

    “버그”와 “결함”이 존재합니다. 서로 동의하지 않습니다. 정반대 (버그는 A, 결함은 B 대 버그는 B, 결함은 A)를 포함합니다. 내가 아는 한, 이러한 정의 중 하나도 널리 사용되지는 않습니다. 용어를 구분하는 것은 회사에 따라 다르며 그룹, 부서, 회사에 해당 될 수도 있습니다.

    이 항목 :

    • 코딩 오류로 인한 버그
    • 결함은 요구 사항에서 벗어난 것입니다.

    또는 :

    • 테스트시 버그에 문제가 발생합니다. 결함은 고객의 문제입니다. 제작 시간에.

    또는 다른 항목 :

    결함은 일반적으로 사람의 실수로 인해 올바른 코드를 작성할 때 발생하는 영향입니다. […] 버그는 코딩의 실수가 아닙니다. 버그는 시스템 자체가 잘못되지 않은 작업을 수행하는 것입니다. 그러나 의도적으로 설계되지 않았고 사용자는이를 보지 못했습니다.

    또는이 답변에 대한 의견에서 :

    “Bug”는 문제가 발견되면 수정하기가 사소한 것임을 암시합니다. . “결함”( “설계 상 결함”에서와 같이)은 그렇지 않음을 의미하며 불완전한 사양 또는 설계의 결과이기도합니다.

    또는 이 스레드의 다른 답변에서 :

    […] 사양에 소프트웨어가 어떤 작업을 수행해야한다고 명시되어 있고 소프트웨어가이를 수행하는 경우 하지만 이로 인해 소프트웨어가 의도 한 용도에 적합하지 않은 경우 “결함”입니다.

    이 스레드의 다른 답변에서 더 많은 정의를 찾을 수 있습니다. .

    이러한 정의는 서로 완전히 상충됩니다. 그들은 또한 내가 실제로 사용되는 용어를 보는 방식과 상충됩니다. 소프트웨어 산업의 중요한 부분에서 사용되는 용어간에 일관된 차이가 없습니다.

    유일하게 널리 사용되는 정의는 “버그와 결함을 구분하지 않는 정의입니다. 작업 환경에 대한 추가 컨텍스트와 용어의 전문적인 사용이 없으면”결함 “과”버그 “는 모두 다음을 의미합니다. 소프트웨어를 사용할 때 누군가가 직면했거나 발생할 수있는 문제 “. 그러나이 스레드의 다양한 다른 답변에서 볼 수 있듯이”정의 “라고 할만큼 널리 퍼지지는 않습니다.

    Comments

    • ' 약간 더 나아가 일상적인 사용에 차이가 있다고 제안합니다. " 버그 "는 문제가 발견되면 해결하기가 사소한 것임을 나타냅니다. " 결함 " (" 설계 상 결함 ")은 그렇지 않다는 것을 시사하며 불완전한 사양이나 설계의 결과이기도합니다. " snags " (버그)가 추가 비용없이 수정되도록 수석 계약자에게보고 된 새 건물의 인도를 비교합니다 ( 계약 및 계획에 명시된 내용의 원치 않지만 올바른 전달로 표시되는 경우). 모든 엄격한 분류는 로컬 범위에 속한다는 데 동의합니다.
    • @ nigel222 의도 된 위반은 아니지만 ' 정의 4에 따라 예약합니다. 3 개의 다른 예와는 다릅니다.

    답변

    버그라는 단어는 최초의 컴퓨터 버그 :

    여기에 이미지 설명 입력

    진짜 버그는 더 이상 컴퓨터를 망가 뜨리지 않으며 초과 근무 시간이 지나면이 비유가 점점 더 의미가 없어집니다. 따라서 저는 버그라는 용어를 없애고 관련 소프트웨어에 항상 결함을 사용하는 것이 목표입니다. 문제가되고 당신도 그래야 해요 🙂

    품질은 사람의 관점이고 모든 사람은 다른 의견을 가지고 있습니다. 뭔가 결함인지 아닌지에 대해서도 마찬가지라고 생각합니다. 고장 났다고 생각하면 고장난 것입니다. Seth Godin 에 따르면.

    결함 분류에 관심이 있다면 무결점 정책 에 사용 된 분류 프로세스를 살펴보세요.

    댓글

    • 이것은 분명히 ' " 버그 "라는 단어가 나오는 곳이 아닐 수 있습니다. 에서.단어 " 버그 "가 아직 문제 나 결함을 언급하지 않은 경우 ', 왜 " 실제 버그가 발견 된 첫 번째 사례입니다. "?
    • 버그가 시스템이 망가질까요? 이것은 제가 학교에서도 배운 이야기입니다. Wikipedia에도 언급되어 있으므로 사실이어야합니다. 😉 en.wikipedia.org/wiki/Software_bug
    • Wikipedia 페이지 포인트 " 버그 "라는 단어의 수많은 이전 사용에.
    • 예,하지만 이전 사용은 그렇지 않습니다. 컴퓨터 / 소프트웨어 버그. 그들은 더 많은 하드웨어 / 전기 엔지니어 참조입니다. 예를 들어, Wikipedia 페이지에 언급 된 Thomas Edison 예제가 있습니다. 이 기사는 Niels van Reijmersdal이 쓴 이야기도 참조합니다 !!!

    Answer

    서로 다른 문제 추적 도구, “결함”, “버그”, “문제”등의 모든 용어가 단순히 동일한 것으로 간주되는 것이 일반적이며 기본적으로 모두 단순히 둘 중 하나를 정의한다는 것을 알게 될 것입니다.

    이를 기반으로 대부분의 사람들이 그들도 똑같이 생각할 것이라고 제안합니다.

    답변

    개발 테스트에서 시스템을 사양과 비교하는 데 집착한다면 실제 차이는 없을 것입니다. 그러나 많은 것들이 실제로 개발자의 의도와 다르지 않은 결함으로 인식되고 기록됩니다.

    버그라는 용어는 오랫동안 사용되어 왔으며 실제로 구축 한 것에 대해 알아 차린 모든 것을 의미합니다. 아직 “맞지”않습니다. Edison은 1878 년 편지에서 용어를 정의한 것으로 유명합니다.

    참고 : Grace Hopper에서 그 참조에 대한 발굴은 저를 짜증나게합니다. 그녀의 로그 항목은 그녀가 기존 용어에 익숙하다는 것을 분명히 보여주었습니다.

    답변

    버그와 결함의 차이는 당신이 할 수 있습니다. 그것을 만드십시오. 두 용어를 어떻게 정의 하느냐에 따라 다릅니다. 용어의 정의와 이해는 조직마다, 팀마다 다릅니다. 어디를 가든 사람들이 한 용어에 대해 서로 다른 이해를하고 이해에 따라 정의한다는 것을 알게 될 것입니다.

    버그와 결함은 다른 사람이 정의 할 수있는 동안 한 사람에게 똑같은 의미를 가질 수 있습니다.

    어떤 사람들은 버그와 결함을 아래와 같이 정의합니다.

    BUG :

    • 버그는 코딩 오류의 결과입니다.
    • 잘못된 결과를 생성하는 사람의 행동
    • 예상 결과와의 차이 .
    • 소프트웨어 버그는 컴퓨터 프로그램의 오류, 결함, 실수, 실패 또는 결함으로 의도 한대로 작동하지 않거나 잘못된 결과를 생성합니다.

    결함 :

    • 결함은 요구 사항에서 벗어난 것입니다.
    • 실패로 이어지는 알고리즘의 문제
    • 결함은 정상적으로 작동하지만 사양을 벗어난 무언가에 대한 것입니다.
    • 결함이 도입 됨 오류의 결과로 소프트웨어에. 소프트웨어의 이상으로 인해 사양에 맞지 않고 잘못 작동 할 수 있습니다.

    답변

    버그 결함

    ?

    • 테스트시 버그에 문제가 발생합니다. 결함은 프로덕션 환경에서 고객이받은 문제입니다.

    • 버그는 갑작스런 동작을 일으키는 프로그램의 결함입니다. 버그는 일반적으로 테스터의 모듈 테스트 개발자가 수행하는 단위 테스트 중에 발견됩니다.

    • 응용 프로그램이 요구 사항 사양을 준수하지 않는 경우 결함이 발견됩니다. 클라이언트 또는 사용자가 테스트 중일 때도 결함을 찾을 수 있습니다.

    답변

    ISTQB 기준

    결함 및 버그 “는 프로그래머가 작성하는 오해 또는 잘못된 논리로 인해 요구 사항에 대해 code를 작성할 때 모두 동일합니다. 코드 오류로 인해 해당 요구 사항에 대한 잘못된 코드는 결함 또는 버그로 이어집니다.

    p>

    “: 주어진 금액에 대한이자를 계산하는 모듈을 개발 중이지만 개발자는 코드 오류로 인해이자 금액을 계산하는 잘못된 코드를 작성합니다. 이자 금액이 잘못되었거나 더 많을 수 있습니다. 여기서 요구 사항에 대한 예상 결과를 얻지 못하므로 버그 또는 결함입니다.

    답변

    버그와 결함이 동일하다고 제안하는 답변에 동의하지 않습니다.

    소프트웨어 테스트에서 버그는 코드 결함으로 인한 잘못된 동작입니다. 코드 결함은 해당 사양을 올바르게 충족하지 못하도록하는 코드의 결함입니다.

    비교적으로 결함 (자격없이 사용됨)은 사양 또는 요구 사항에서 벗어난 것입니다. 잘못 명시된 사양은 결함이며 명시된 사양을 올바르게 충족하는 코드도 버그가없는 것으로 간주됩니다. 어떤 코드로도 충족되지 않는 요구 사항도 결함으로 간주됩니다 (요구 사항을 올바르게 충족하는 코드가 작성 될 때까지). 존재하지 않는 코드는 버그를 나타낼 수 없습니다.

    물론 버그가 연관 될 수 있습니다. 버그가 있으면 코드가 요구 사항에서 벗어날 수 있기 때문입니다. 하지만 그렇다고 똑같은 것은 아닙니다.

    답변

    차이가 없다고 말하는 사람에게는 “그들에게 다음과 같은 질문을합니다.”특정 코드가 제품을 오작동하게 만든다고 말하십시오. “해당 코드에는 확실히 버그가 있습니다. 코드는 필수가 아니므로 그냥 주석 처리했습니다. 응용 프로그램의 버그가 발견되고 수정 되었습니까? 응용 프로그램에 여전히 결함이 있습니까? “

    대부분의 사람들은”아니요 “라고 대답 할 것입니다. “및”예 “. 우리는 여전히 그 코드에서 문제를 발견하지 못했거나 수정하지 못했습니다. 그러나 우리는 그것이 결함을 일으키는 것을 막았습니다.

    종종 차이가 없습니다. 대부분의 결함은 버그로 인해 발생합니다. 대부분의 버그는 감지를 유발합니다.

    버그는 코드의 오류입니다. 예를 들어, 해당 코드를 사용하는 제품에서 발생하지 않는 경우에만 트리거 될 수 있습니다.

    결함은 예기치 않은 동작을 유발하거나 적합하지 않게 만드는 잘못된 것입니다. 실제 사용.

    결함은 종종 버그로 인해 발생하지만 항상 그런 것은 아닙니다. 예를 들어 사양에 소프트웨어가 어떤 작업을 수행해야한다고 명시되어 있고 소프트웨어가이를 수행하는 경우 버그가 아닙니다.하지만 이로 인해 소프트웨어가 의도 한 용도에 적합하지 않게되면 “결함”입니다.

    버그 결함이 발생할 수 있지만 항상 그런 것은 아닙니다. 예를 들어 사양에서 특정 오류 사례를 특정 방식으로 처리해야한다고 말하고 코드가 그렇게하지 않으면 해당 코드의 버그입니다. 그러나 해당 코드가 포함 된 프로젝트가 해당 사례를 생성 할 수없는 것으로 표시 될 수 있다면 해당 프로젝트의 결함이 아닙니다.

    특히 코드 개발에 대해 이야기 할 때 다양한 프로젝트에서 사용되며 차이가 없습니다. 모든 버그는 결함으로 간주되어야합니다.

    답변

    유일한 차이점은 해결하려는 대상입니다. 테스터 및 개발자

    결함 : 결함은 프로그램을 오작동 시키거나 잘못된 / 예상치 못한 결과를 생성하는 코딩 또는 로직의 오류입니다.

    버그 : 프로그래머가 허용 한 결함이 버그라고합니다.

  • 답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다