확장성 테스트: 성공을 향한 7단계
개발 중에 매우 잘 작동하는 시스템은 약간 규모로 배포되며 배포가 실질 사용에 따라 확장되면 성능 목표를 충족시키는 것을 무시할 수 있습니다.
이에 대한 애플리케이션 모범 사례는 최근에 미래 사고 첨단 기술 플랫폼의 개발을 아웃소싱 한 중요한 블루칩 회사에서 비롯됩니다. 개발이 일정 뒤에 있었지만 이것은 허용되는 것으로 간주됩니다. 이 기계는 점차 개별 승인 테스트의 기능적 구성 요소를 통과했으며 마치 배포 날짜가 설정 될 수있는 것처럼 보였습니다. 그러나 공급 업체는 부하 테스트 및 확장 성 테스트를 시작했습니다. 확장되고 비용이 많이 드는 건축 변화와 기계 요구 사항의 변경이 이어졌습니다. 공급 업체는 마침내 프로젝트가 모스 볼이 될 때까지 만족스러운 시스템을 공급하기 위해 영웅적으로 싸웠습니다.
이것은 고립 된 경우가 아닙니다. 그것은 비슷한 이야기로 민속이 풍부합니다. 구급차 파견 시스템에서 세금 진술서의 전자 제출을 위해 웹 사이트에 이르기까지 시스템은 최고 수요를 확장하고 경험하기 때문에 실패합니다. 이 모든 프로젝트는 그들이 직면 한 주요 위험을 식별하고 명령하지 않은 것처럼 보입니다. 이는 위험 기반 테스트의 기본 단계 일 수 있으며 기능 테스트 또는 비즈니스 연속성 테스트에 따라 확장 성 테스트 또는로드 테스트에 동일하게 적용됩니다. 위험 평가 없이는 스케일링이 가장 큰 위험 사이에 있음을 인식하지 못했습니다. 모든 기능을 전달하기 위해
SOA (Service Oriented Architecture)에 대한 최근 동향은 확장 성 문제를 해결하려고 시도하지만 새로운 문제를 추가로 소개합니다. 외부로 제공된 서비스를 현재 솔루션에 통합한다는 것은 현재 스케일링 기능이 하중 하에서 작동하는 이러한 외부 시스템에 의존한다는 것을 의미합니다. 이것이 까다로운 작업이 될 수 있으며 슬프게도 균주 테스트 및 스트레스 테스트는 종종 간과됩니다.
더 나은 실습은 성능을 명확하게 사용하여 대규모 소프트웨어 시스템의 개발, 특히 확장 성 테스트, 볼륨 테스트 및로드 테스트를 시작하는 것입니다. 이 성능 테스트 초점을 생성하려면 :