CS/시험 공부

Error / Defect / Failure

ReinaMoon 2025. 6. 16. 04:04

예제 문제를 하나 풀어보는데, 관련해서 틀려서 정리한다.

ISTQB에서는 Error, Defect, Failure를 각각 다르게 정의한다. 

  Error Defect Failure
  흔히 Mistake로 알려진 것 흔히 Bug, Fault로 알려진 것  
ISTQB 정의 A human action that produces an incorrect result. An imperfection or deficiency in a work product where it does not meet its requirements or specifications. An event in which a component or system does not perform a required function within specified limits.
  error 로 인해 defect 발생 가능 defect으로 인해 failure 발생가능 고객 불만족 등으로 이어짐
  모든 error가 defect이 되는것이 아님. 모든 defect들이 failure가 되는 것이 아님 역시나, 모든 failure들이 고객 불만족으로 이어지는 것은 아님

 

"김밥 만들기" 비유로 완벽 이해하기

  1. 에러 (Error / Mistake): "사람의 실수"
    • 상황: 요리사가 김밥 레시피를 보다가 실수로 소금 대신 설탕을 집어 들었습니다.
    • 핵심: 이것은 '행위(Action)'입니다. "잘못된 행동을 한 그 순간"이 바로 에러입니다.
  2. 결함 (Defect / Bug / Fault): "잘못된 결과물"
    • 상황: 요리사가 설탕을 넣고 밥을 다 비볐습니다. 이제 그 밥은 "설탕이 들어간 밥(결점 있는 밥)"이 되었습니다.
    • 핵심: 이것은 '상태(State)' 또는 '사물(Thing)'입니다. "실수의 결과로 인해 잘못 만들어진 그 자체"가 바로 결함입니다. 아직 아무도 먹지 않아서 문제가 겉으로 드러나지는 않았습니다. 코드에 잘못 쓰여 있는 바로 그 부분이 결함입니다.
  3. 실패 (Failure): "문제가 드러나는 현상"
    • 상황: 손님이 그 김밥을 한입 먹고 "으악! 왜 이렇게 달아!" 하고 뱉었습니다.
    • 핵심: 이것은 '사건(Event)' 또는 '현상(Phenomenon)'입니다. "결함이 있는 결과물이 사용(실행)되었을 때, 기대와 다른 결과가 나타나는 그 순간"이 바로 실패입니다.

요약:

  • 에러: 설탕을 집은 행동
  • 결함: 설탕이 들어간 
  • 실패: 김밥을 먹고 "달다!"고 뱉는 사건

문제 풀이 공식: 문장의 '시점'과 '주어'를 찾아라!

문제를 봤을 때, 이 세 가지만 확인하면 99% 풀 수 있습니다.

  1. 문장이 "사람의 행동"을 묘사하는가? → 에러 (Error)
    • "A developer misinterpreted the requirement." (개발자가 요구사항을 오해했다.)
    • "A business analyst wrote an ambiguous sentence." (기획자가 모호한 문장을 썼다.)
    • 주어가 '사람'이고, 동사가 '실수 행위'일 때입니다.
  2. 문장이 "코드나 문서의 잘못된 상태"를 묘사하는가? → 결함 (Defect)
    • "The code contains an incorrect logical operator." (그 코드는 잘못된 논리 연산자를 포함하고 있다.)
    • "There is a flaw in the design document." (설계 문서에 결점이 있다.)
    • 주어가 '코드'나 '문서' 같은 '사물'이고, 그것의 '잘못된 상태'를 설명할 때입니다. 아직 실행되기 전입니다.
  3. 문장이 "소프트웨어 실행 중 발생한 현상"을 묘사하는가? → 실패 (Failure)
    • "The system crashes when a user clicks the button." (사용자가 버튼을 누르면 시스템이 다운된다.)
    • "The calculation produces an incorrect result." (계산이 잘못된 결과를 만들어낸다.)
    • "The screen freezes." (화면이 멈춘다.)
    • 주어가 '시스템'이나 '기능'이고, 이것이 '실행될 때' 발생하는 '이상 현상'을 설명할 때입니다.

 

반응형