구현 단계 권장 사항
구현 단계에서는 요구 사항 및 디자인 단계에서 만든 테스트 사례 등의 결과물을 가져와 적절한 기술을 통해 이를 구현합니다. 유효성 검사 테스트의 경우에는 이 단계에서 유효성 테스트를 준비하기 위해 테스트 사례가 완료되고 자동화됩니다. 일반적으로 초기 시스템 버전의 경우 이 단계에서 시스템의 유효성을 검사할 뿐만 아니라 테스트 사례 자체에 문제가 없는지를 확인하기 위해 많은 테스트가 수행되기도 합니다.
성능 테스트 사례 구현
요구 사항 및 디자인 단계에서 시스템 성능이 성능 릴리스 조건에 맞는지, 아니면 이 조건보다 우수한지를 증명하기 위해 대표적인 테스트 사례를 정의하고 디자인하며 구현 단계에서는 이러한 테스트 사례를 구현 및 자동화한 다음 처음으로 실행하여 시스템의 여러 부분에서 코드가 완료됨에 따라 성능 확인 테스트가 준비되었는지 확인합니다.
구현 단계에서 가능하면 많은 테스트의 설정, 실행 및 결과 분석을 자동화하는 것이 중요합니다. 성능 테스트의 수가 증가할 수 있으며 개별 테스트를 실행하는 데 시간이 오래 걸릴 수 있으므로 테스트를 자동화하면 필요한 인적 자원 수를 줄여 보다 효율적으로 테스트를 실행할 수 있습니다. 또한 성능 병목 상태가 식별되고 수정이 제공됨에 따라 테스트 통과 과정에서 확인 테스트가 여러 번 실행될 수 있습니다. 테스트를 자동화하면 빌드 간 성능 확인 검사를 보다 쉽고 빠르며 일관성 있게 다시 실행할 수 있습니다.
성능 테스트 베드 빌드
모든 성능 테스트를 일관되고 재현 가능한 방식으로 수행하는 것은 매우 중요합니다. 이러한 테스트의 결과가 호환 가능하도록 만들기 위해서는 기준을 설정하고 테스트를 실행할 하드웨어를 정확히 동일하게 갖추는 것이 중요합니다. 솔루션 아키텍처에 따라 결과에 상당한 영향을 미칠 수 있는 하드웨어 변수가 매우 많습니다.
예를 들어 서버 구성에서 두 서버의 캐시 수준이 서로 다름을 즉시 명확하게 확인할 수 없더라도, 사용 가능한 메모리 캐시(서버가 동일한 경우도 해당됨)는 테스트 결과에 상당한 영향을 줄 수 있습니다. 여러 테스트를 실행하는 동안에도 변경되지 않는 테스트 베드에서 테스트를 실행한다면 어떤 호환성 문제도 발생하지 않습니다. 새 시스템 예상 크기에 맞게 환경을 조정하는 경우와 같이 하드웨어 구성을 변경해야 하는 경우에는 비교할 수 있도록 기준을 다시 설정해야 합니다.
성능 유효성 검사 테스트 시작
성능 테스트는 거의 항상 테스트 구현과 함께 시작됩니다. 릴리스 조건 유효성 검사를 빨리 시작할수록 문제 발견 시 보다 신속하게 조치를 취할 수 있습니다.
정식 테스트를 시작할 때는 테스트할 시스템 또는 시스템의 일부가 준비되었는지를 가장 중요하게 고려해야 합니다. 시스템 준비 여부를 가장 중요하게 확인해야 하지만 다음 요소도 고려해야 합니다.
테스트할 시스템 경로의 코드가 완료되었는지 여부. 경로에 추가해야 할 코드가 아직 많이 남아 있는 경우에는 "충분한 양의 코드"가 준비될 때까지 다른 요소에 초점을 맞추는 것이 좋습니다.
시스템에서 기능 테스트가 성공적으로 실행되었는지 여부. 성능 테스트를 차단하는 기능상의 오류가 있는지 확인하기 위해서만 시스템이나 하위 시스템에서 성능 테스트를 설정하고 시작하는 것은 시간을 소비하고 비효율적인 작업일 수 있습니다. 성능 테스트를 시작하기 전에 경로의 기능이 충분히 테스트되었는지 확인합니다.
테스트할 시스템이나 하위 시스템의 위험 수준. 검사할 첫 번째 시스템 경로는 성능 릴리스 조건 충족에 관해서 높은 위험 수준을 수반하는 것이어야 합니다. 과정을 변경할 시간이 있도록 프로젝트 수명 주기에서 미리 시스템 병목 현상을 충분히 식별하는 것은 매우 중요합니다.
참고 항목
단계별 프로젝트 계획 권장 사항
요구 사항 단계 권장 사항
디자인 단계 권장 사항
확인 단계 권장 사항
출시 단계 권장 사항