정보처리기능사 기출을 풀다보면 애플리케이션 테스트 파트 문제에서 에러, 휴먼 에러, 결함에 대한 문제를 보게 될 것이다 이 셋은 얼핏 보면 서로 비슷해서 구분하기 쉽지 않은데 오늘은 이러한 에러, 휴먼 에러, 결함의 차이점에 대해 알아보겠다
에러 (Error)
정의
에러는 시스템이 기대한 결과와 실제 결과가 불일치하는 상태를 의미하며 소프트웨어나 하드웨어의 오작동으로 인해 발생하게 된다
특징
에러는 코드나 시스템의 문제로 인해 발생하며 컴파일 에러, 런타임 에러, 논리적 에러 등 다양한 형태로 나타날 수 있다 이러한 에러는 시스템의 정상적인 동작을 방해하고 사용자가 예상하지 못한 결과를 초래할 수 있는데 아래에서 예시를 살펴보자
예시
- 프로그램이 컴파일되지 않는 구문 오류
- 배열의 인덱스를 벗어나는 런타임 에러
- 잘못된 알고리즘으로 인한 논리적 에러
휴먼 에러 (Human Error)
정의
휴먼 에러는 사람이 작업을 수행하는 과정에서 발생하는 실수를 의미하는 것으로 이는 개발자, 테스트 엔지니어, 사용자 등 소프트웨어와 상호작용하는 모든 사람에게서 발생할 수 있다
특징
휴먼 에러는 주로 실수나 부주의로 인해 발생하며 에러나 결함을 유발한다
예시
- 개발자가 코드 작성 시 오타를 내는 경우
- 테스트 엔지니어가 테스트 케이스를 잘못 작성하는 경우
- 사용자가 시스템을 잘못 조작하는 경우
결함 (Defect)
정의
결함은 소프트웨어 제품이 요구 사항을 충족하지 못하거나 예상한 동작과 실제 동작 사이의 불일치를 초래하는 문제이다
특징
- 설계, 구현, 테스트 단계에서의 에러나 휴먼 에러로 인해 발생한다
- 소프트웨어의 품질을 저하시키고 사용자 경험에 부정적인 영향을 미칠 수 있다
예시
- 특정 기능이 제대로 작동하지 않는 경우
- 사용자 인터페이스(UI)가 요구사항을 충족하지 않는 경우
- 성능 문제로 인해 시스템이 느리게 동작하는 경우
차이점
마지막으로 차이점을 설명하고 마치겠다
- 에러: 주로 코드나 시스템 자체의 문제로 인해 발생함
- 휴먼 에러: 사람이 작업을 수행하는 과정에서 발생하는 실수로 인해 발생함
- 결함: 소프트웨어의 설계, 구현, 테스트 단계에서의 에러나 휴먼 에러로 인해 발생함
종합하면
- 소프트웨어 제품이 요구 사항을 충족하지 못하거나 예상한 동작과 실제 동작 사이의 불일치 -> 결함
- 사람이 작업을 수행하는 과정에서 발생하는 실수 -> 휴먼 에러
- 시스템이 기대한 결과와 실제 결과가 불일치하는 상태 -> 에러
이렇게 나타낼 수 있다