디버깅과 테스트의 차이점은 무엇입니까? 작동하지 않음을 보여주는 것입니다. 레벨 3 테스트의 목적은

소프트웨어 테스팅 소개 (Ammann & Offutt)는 p.32에서 5 단계 테스팅 성숙도 모델을 언급합니다.

레벨 0 테스트와 디버깅에는 차이가 없습니다.

레벨 1 테스트의 목적은 소프트웨어가 작동 함을 보여주는 것입니다.

레벨 2 테스트의 목적은 소프트웨어가 작동하지 않음을 보여주는 것입니다.

레벨 3 테스트의 목적은 특정 사항을 입증하는 것이 아니라 소프트웨어 사용의 위험을 줄이는 것입니다.

레벨 4 테스트는 모든 IT 전문가가 고품질 소프트웨어를 개발할 수 있도록 도와주는 정신 훈련입니다.

더 자세히 설명하지는 않지만. 디버깅과 테스트의 차이점은 무엇입니까?



답변

테스트는 프로그램이해야 할 일을하는 적절한 수준 (100 % 일 수 없음)으로 증명하기 위해 코드의 결함이나 다른 각도에서 결함을 찾기위한 것입니다. 수동 또는 자동화 될 수 있으며 단위, 통합, 시스템 / 수락, 스트레스, 하중, 담금질 등과 같은 다양한 종류가 있습니다.

디버깅은 프로그램에서 특정 버그를 찾아서 제거하는 프로세스입니다. 모든 버그가 다르기 때문에 항상 수동, 일회성 프로세스입니다.

필자는 저자가 레벨 0에서 테스트 계획이나 테스터가 테스트중인 기능을 실제로 철저히 테스트하고 테스트를 수행 할 수있는 방법이없는 임의의 방식으로 수동 테스트 만 수행한다는 것을 의미합니다. 확실하게 반복.


답변

디버깅은 수동적이고 단계별 프로세스이며, 비정형적이고 신뢰할 수 없습니다. 디버깅을 통한 테스트를 통해 반복 불가능한 회귀 테스트에 사용할 수없는 시나리오를 만들 수 있습니다. 이 정확한 이유 때문에 0 이외의 모든 레벨 (예에서)은 내 견해에서 디버깅을 제외합니다.


답변

디버깅은 체계적으로 코드를 통해 알려 지거나 알려지지 않은 문제를 해결하려는 시도입니다. 디버깅 할 때 일반적으로 코드 전체에 초점을 맞추지 않고 실제 코드에서 거의 항상 백엔드에서 작업합니다.

테스트는 디버깅 할 수있는 코드를 사용하는 다양한 방법을 통해 문제를 생성하려는 시도입니다. 그것은 거의 항상 사용자 공간에서 이루어지며, 최종 사용자가 코드를 실행하고 실행하려고 할 때 코드를 실행합니다.


답변

간단히 말해서, “버그”는 프로그램이 실행될 때 정상적으로 동작하지 않을 때 발생했다고합니다. 즉, 예상 출력 또는 결과를 생성하지 않습니다. 이 버그의 원인을 찾고, 동작을 수정하는 방법을 찾고, 코드 또는 구성을 변경하여 문제를 해결하는 방법을 디버깅이라고합니다.

테스트는 다양한 조건에서 프로그램이나 코드가 올 바르고 강력하게 작동하는지 확인하는 곳입니다. 입력, 표준 올바른 입력, 의도적으로 잘못된 입력, 경계 값, 환경 변경 (OS, 구성 파일)을 제공하여 코드를 “테스트” . 기본적으로 테스트 프로세스에서 버그를 발견하고 결국 “디버그”하려고한다고 말할 수 있습니다. 희망이 도움이됩니다.


답변

없습니다. 올바르게하면 :

적중률 낮음, 적중률 낮음 :

회귀 테스트 및 사프 스퀴즈

켄트 벡, 쓰리 리버스 인스티튜트

개요 : 결함을 효과적으로 격리하려면 시스템 수준 테스트로 시작하여 결함을 보여주는 가장 작은 테스트가 될 때까지 점진적으로 인라인하고 정리하십시오.


답변

테스트는 고객에게 공개하기 전에 누리는 특권입니다.

버그는 고객에게 공개 한 후에 견딜 수있는 악몽입니다.


답변

다른 사람들은 테스트와 디버깅의 차이점 이 무엇인지 언급했습니다 .

나는 공통점 을 강조하고 싶습니다 . 테스터가 결함을 발견하면 격리해야합니다. 디버깅은 문제를 격리하고 런타임시 응용 프로그램 상태와 해당 코드를 분석하여 근본 원인을 찾는 기술 중 하나입니다 . 실제로 디버깅은 Oxford Dictionaries 에서 ” 컴퓨터 하드웨어 또는 소프트웨어에서 오류를 식별 하고 제거 하는 프로세스”로 정의됩니다 .

테스터이든 개발자 든 결함을 누가 격리 (또는 특히 디버깅) 할 것인지는 부차적 인 질문입니다.