테스팅은 정해진 범위, 시간, 품질, 예산 내에서 합의된 목표를 달성하는 데 도움을 준다. 테스팅은 테스트팀만의 활동이 아니며, 모든 이해관계자는 자신이 가진 테스트 기술을 사용해 프로젝트 성공에 기여할 수 있다. 컴포넌트, 시스템, 관련 문서를 대상으로 한 테스팅은 소프트웨어 결함을 식별하는 데 도움이 된다.
품질 보증(QA, Quality Assurance)
품질 보증은 프로세스의 구현과 개선에 초점을 맞춘 프로세스 중심의 예방 접근법이다. 개발 및 테스팅 프로세스 모두에 적용되며, 프로젝트에 참여하는 모두의 책임이다. 좋은 프로세스를 올바르게 준수하면 좋은 제품이 만들어진다는 가정에 기반한다.
품질 제어(QC, Quality Control)
품질 제어는 적합한 수준의 품질 달성을 지원하는 활동에 초점을 맞춘 제품 중심의 교정 접근법이다. 테스팅은 품질 제어의 주요 활동이며, 정형 기법(모델 확인 및 정확성의 증명), 시뮬레이션, 프로토타이핑도 품질 제어에 속한다.
테스트 결과는 품질 보증(QA)과 품질 제어(QC) 모두에 사용된다. 품질 제어는 결함을 수정하는 데 사용하며, 품질 보증은 개발 및 테스트 프로세스가 잘 동작하고 있는지 확인하기 위한 피드백으로 사용한다.
오류
결함
장애
근본 원인
문제 1: 테스팅이 소프트웨어 개발 프로젝트에서 필요한 이유로 가장 적절한 것은 무엇인가?
A. 테스팅은 소프트웨어의 모든 결함을 찾아내기 위해 필요하다.
B. 테스팅은 소프트웨어 결함을 식별하여 제거하고, 품질 향상에 기여하기 위해 필요하다.
C. 테스팅은 사용자의 요구사항을 충족시키기 위해 필요하다.
D. 테스팅은 개발자가 작성한 코드를 검증하기 위해 필요하다.
정답(드래그)
B
해설(드래그)
테스팅의 주요 목적 중 하나는 소프트웨어 결함을 식별하고 제거하여 품질을 향상시키는 것입니다. 테스팅은 결함을 발견하고 이를 수정함으로써, 소프트웨어의 전반적인 품질을 높이고, 프로젝트 성공에 기여합니다
문제 2: 테스팅 활동이 프로젝트의 성공에 기여하는 방법으로 옳지 않은 것은 무엇인가?
A. 테스팅은 릴리스 여부를 결정하는 데 도움을 준다.
B. 테스팅은 사용자의 요구를 반영하여 소프트웨어를 개선한다.
C. 테스팅은 소프트웨어의 품질을 직접 평가한다.
D. 테스팅은 소프트웨어의 모든 결함을 완벽히 제거한다.
정답(드래그)
D
해설(드래그)
테스팅은 소프트웨어의 결함을 식별하고 품질을 평가하는 데 중요한 역할을 하지만, 모든 결함을 완벽히 제거할 수는 없습니다. 테스팅의 목적은 가능한 한 많은 결함을 식별하고 수정하여 품질을 높이는 것이지, 모든 결함을 완벽히 제거하는 것은 아닙니다
문제 3: 다음 중 테스팅과 품질 보증(QA)의 관계에 대해 옳은 설명은 무엇입니까?
A. 테스팅은 품질 보증의 일환으로 수행되며, 주로 프로세스를 개선하는 데 중점을 둔다.
B. 테스팅은 품질 제어(QC) 활동에 속하며, 제품의 품질을 직접적으로 평가하는 역할을 한다.
C. 품질 보증은 소프트웨어의 결함을 식별하고 제거하는 활동이다.
D. 품질 보증과 테스팅은 동일한 활동으로 간주된다.
정답(드래그)
B
해설(드래그)
테스팅은 품질 제어(QC) 활동에 속하며, 제품의 품질을 직접적으로 평가하는 역할을 합니다. 반면 품질 보증(QA)은 프로세스의 구현과 개선에 초점을 맞춘 활동입니다.
문제 4: 테스팅이 소프트웨어 개발 수명주기(SDLC)의 여러 단계에서 필요하게 되는 이유는 무엇입니까?
A. 테스팅은 초기 단계에서만 필요하다.
B. 테스팅은 오직 개발 단계에서만 필요하다.
C. 테스팅은 SDLC의 여러 단계에서 소프트웨어 품질을 평가하고 릴리스 여부를 결정하는 데 필요하다.
D. 테스팅은 SDLC의 마지막 단계에서만 필요하다.
정답(드래그)
C
해설(드래그)
테스팅은 소프트웨어 개발 수명주기(SDLC)의 여러 단계에서 소프트웨어 품질을 평가하고, 릴리스 여부를 결정하는 데 필요한 정보를 제공합니다. 이를 통해 SDLC의 다음 단계로 이동 여부를 결정할 수 있습니다.
문제 5: 테스팅이 소프트웨어 개발 프로젝트에서 사용자를 간접적으로 대변하는 방법은 무엇입니까?
A. 테스팅은 사용자의 요구사항을 고려하여 결함을 수정한다.
B. 테스팅은 사용자 대신 소프트웨어를 사용하고 평가한다.
C. 테스팅은 사용자 요구사항을 반영하여 개발된 소프트웨어를 평가한다.
D. 테스팅은 사용자에게 소프트웨어를 제공하기 전 결함을 모두 수정한다.
정답(드래그)
C
해설(드래그)
테스팅은 개발 수명주기 전반에 걸쳐 사용자의 요구사항을 고려하여 소프트웨어를 평가합니다. 이는 테스터가 사용자의 요구를 반영하여 소프트웨어가 적절히 개발되고 있는지를 확인하는 과정입니다