문제

AJAX를 지원하는 스트레스/하중 테스트 도구가 많이있는 것 같습니다.
이 도구가 얼마나 잘 구현되었는지 궁금합니다.

그들은 HTTP 요청 만 기록하고 재생합니까?
AJAX 앱을 테스트하는 것이 올바른 방법입니까?
Google은 AJAX 앱을 어떻게 테스트합니까?

도움이 되었습니까?

해결책

기능 만 걱정하는 경우 Watin, Watir, 셀렌 또는 해당 문제에 대한 기능 도구가 작동합니다. Ajax 콜백을 허용하기 위해 기능 테스트에 충분한 타이밍을 넣는 한 트릭을 수행해야합니다.

내 응답에 추가하기 위해

JavaScript를 테스트하는 것에 대해 이야기하는 경우 동료 Lostechian이 설명한대로 Qunit과 같은 것을 사용할 수 있습니다. 이 게시물에서. 이것은 JS 단위 테스트를 통합하기위한 Nunit Addin 및 Qunit의 매우 독창적 인 사용입니다.

순수한 우연의 일치에 의해, Qunit Testing 블로그 게시물을 게시 한 사람은 어제 게시 한 사람입니다. 이 주제

다른 팁

대부분의로드 테스트 도구는 동일한 방식으로 AJAX로드 테스트를 수행합니다. "녹화"단계에서 볼 수있는 원시 HTTP 트래픽을 실행합니다 (페이지 요청, 이미지 요청 또는 AJAX 요청). 그들 사이의 주요 차이점은 레코더/IDE 도구가 얼마나 좋은지와 동적/실시간 결과를 기반으로 실제 트래픽을 반영 할 수 있도록 HTTP 요청을 매개 변수화하는 데 얼마나 쉽게 도움이되는지입니다.

경고, 뻔뻔스러운 플러그: 이것에 대한 유일한 예외는 내 회사입니다. 브라우스저브. 관찰 된 트래픽을 시뮬레이션하는 대신 실제로 실제 웹 브라우저를 사용하여 백로드를 유도합니다. 따라서 Ajax 재료는 브라우저에서 처리됩니다.

유용한 링크: 위의 뻔뻔한 플러그와 분리되어 있습니다 (비록 당신이 그것을 확인하기를 바랍니다 - 우리는 가격을 책정하고 무료 평가판을 제공합니다), 나는 최근에 Ajaxian에 대한 기사를 썼습니다. Ajax 부하 테스트. 실제 브라우저 사용자 (RBU)와 VUS (Virtual Users) 사용의 기술적 의미에 대해 자세히 설명합니다.

Loadbooster를 살펴보십시오 (https://www.loadbooster.com). 헤드리스 스크립트 형 브라우저 Phantomjs/CasperJS를 사용하여 웹 사이트를 테스트합니다. Phantomjs는 모든 페이지를 구문 분석하고 렌더링하고 클라이언트 측 스크립트를 실행합니다. 헤드리스 브라우저 접근 방식은 복잡한 Ajax Heavy Web 2.0 앱, 브라우저 탐색, 마우스 클릭 및 키 스트로크를 브라우저로 지원하거나 DOM에 요소가 존재할 때까지 대기하기 위해 테스트 시나리오를 작성하기가 더 쉽습니다. Loadbooster는 Selenium HTML 스크립트도 지원합니다.

면책 조항 : 저는 Loadbooster를 위해 일합니다.

Google Apps는 GWT로 작성되었으며 Junit에 대한 자체 확장 기능이 제공됩니다. GWT를 사용한 단위 테스트 AJAX 응용 프로그램에 관한 기사.

자체로드 테스트 서버를 설정하지 않으려면 인터넷을 통해 직접로드 테스트를 실행할 수있는 몇 가지 무료 온라인로드 테스트 서비스가 있습니다. 예를 들어 http://loadimpact.com 또는 http://loadstorm.com

HP의 LoadRunner 소프트웨어의 일부인 가상 사용자 생성기를 사용하여 AJAX 응용 프로그램을 테스트했습니다. 이 소프트웨어에는 웹 애플리케이션 (예 : AJAX 및 클릭 및 스크립트를 녹화하는 데 사용할 수있는 여러 응용 프로그램 프로토콜이 있습니다.

대부분의 웹 애플리케이션로드 테스트의 경우 HTTP 요청을 기록하고 재생하기에 충분합니다. 이렇게하면 서버가 부하를 처리하는 방법의 결과가 나옵니다. 웹 애플리케이션이 많은 비동기로드를 수행하고 클라이언트 측에서 렌더링하는 경우, 예를 들어 XML 또는 JSON의 대규모 데이터 세트 또는 많은 DOM 수정을 구문 분석하는 경우 최종 사용자 경험을 측정하기 위해 브라우저 계층을 포함하는 것과 관련이있을 수 있습니다.

모든로드 테스터는 Ajax를 지원합니다. 추가 HTTP 연결만으로도됩니다.

거기에는 몇 가지 무료가 있습니다. JMeter, Badboy, 분쇄기 그것은 모두 잘합니다.

그들 모두는 녹음/재생을위한 일종의 지원을 가지고 있지만, 그것이 항상 당신이 찾고있는 것은 아닙니다.

내가 한 가장 쉬운 방법은 샘플 세션을 녹음하고 몇 가지 매개 변수를 변수로 바꾸고 CSV 또는 Excel 파일에서 반복하는 것입니다.

좋은 출발점 : 동영상 오픈 소스 테스트에 대한 Google 프레젠테이션.

편집 : 업데이트 된 비디오 링크.

나는 사용했다 실크 퍼포머 이전 직업에서. 링크에 따르면 Ajax 향상이 있습니다. 불행히도 실크는 무료와는 거리가 멀다.

체크 아웃 순간. 엔드 투 엔드 측정 제품군이며, 이후에는 복잡합니다. 그러나 통계는 매우 인상적입니다.

포위? HTTP 테스트를 수행하고 원하는 것을 전달할 수 있습니다.

당신은 또한 볼 수 있습니다 fwptt 오픈 소스입니다. .NET 개발자 인 경우 매개 변수 자동 처리 및 테스트를 수행하기 위해 자신의 .NET 객체를 사용할 수있는 가능성을 사용할 수 있습니다.

JMeter를 성공적으로 사용하여 AJAX (JSF/Richfaces) 응용 프로그램을로드했습니다. JMeter의 녹음 도구를 신경 쓰지 않았습니다. 오히려 Firefox 용 HTTPFOX 플러그인을 사용하여 브라우저가 서버에 게시 한 내용을 모니터링하고 JMeter 에서이 작업을 재현했습니다.

약간 복잡해졌지만 하중 테스트는 이제 상당히 강력합니다. JMeter는 웹 페이지에서 ID를 추출하고 조건부 로직을 수행하고 카운터를 증가시키는 모든 종류의 유용한 '요소'를 가지고 있습니다.

로드 테스트 AJAX 응용 프로그램에 대한 고립 된 테스트 방법 또는 API를 더 잘 쓰십시오. 몇 가지 이유가 있습니다.

  • 예를 들어 GWT와 같은 AJAX 응용 프로그램에 기능 테스트를 작성하는 것은 쉽지 않습니다.
  • 당신이 사용할 수있는 JMeter WebDriver 플러그인, 그러나 각 실행에 대해 대부분의 RAM 및 CPU를 사용할 브라우저를 시작합니다.
  • 백엔드를 정면으로로드하므로 Ajax를 피할 수 있습니다.

Ajax 응용 프로그램의 경우 셀레늄 또는 phantomjs/casperjs를 사용하십시오. 로드 테스트의 경우 JMeter를 사용하여 AJAX를 통한 API를 통한 Gatling.

내 선택은 FireBug (Browser Addon)입니다. 매우 가볍고 다루기 쉽습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top