소프트웨어 개발과 프로젝트 관리

지속적 통합(CI)의 설명으로 적절한 것은?

  1. A개발의 마지막에 각자가 오랜 기간에 걸쳐 만든 변경을 한꺼번에 통합하고, 한 번에 통합 테스트를 수행한다
  2. B개발자가 변경을 자주(하루에 여러 번) 공유 브랜치에 통합하고, 그때마다 빌드와 자동 테스트를 실행하여 문제를 일찍 발견한다
  3. C테스트에 합격한 변경을 사람의 판단을 거치지 않고 자동으로 운영 환경에 공개한다
정답과 해설 보기

정답: B. 개발자가 변경을 자주(하루에 여러 번) 공유 브랜치에 통합하고, 그때마다 빌드와 자동 테스트를 실행하여 문제를 일찍 발견한다

지속적 통합에서는 변경을 작게 자주 통합하고, 통합할 때마다 서버에서 빌드와 단위 테스트 등을 자동으로 실행합니다. 통합 간격이 짧으므로 변경끼리의 어긋남이나 결함을 원인을 알기 쉬운 동안에 발견하여 고칠 수 있습니다. 지금까지의 테스트를 모아 다시 실행하는 회귀 테스트를 변경할 때마다 자동으로 수행할 수 있는 것도 이점입니다. 테스트에 합격한 변경을 자동으로 운영 환경에 공개하는 것은 지속적 배포로, CI보다 앞선 단계입니다.

이 분야 연습하기 분야로 돌아가기

소프트웨어 개발과 프로젝트 관리의 다른 문제

  1. 지속적 전달과 지속적 배포의 차이에 대한 설명으로 적절한 것은?
  2. 어떤 업무 시스템의 요구사항 중 비기능 요구사항에 해당하는 것은?
  3. UML에서 전기밥솥의 제어 소프트웨어처럼 이벤트(버튼 누름, 타이머 만료, 온도 도달 등)에 의해 객체의 상태가 어떻게 바뀌는지를 나타내는 데 적합한 다이어그램은?
  4. UML에서 여러 객체 사이에서 주고받는 메시지(호출이나 응답)를 시간 순서대로 위에서 아래로 늘어놓아 나타내는 다이어그램은?
  5. 모듈의 독립성을 평가하는 모듈 강도(응집도) 중 가장 강도가 높고 바람직하다고 여겨지는 것은?