2011-03-08 4 views
2

이 주제에 대해 비슷한 질문이 있습니다. 참여했지만 지금은 필요한 답변이 없습니다. 여러 사용자에 대해 웹 사이트를 테스트하는 방법 (확장)

How to rigorously test a site?

나는 내 서버 로그에 java.util.ConcurrentModificationException을 발견, 그래서 한 것을 고정하지만,이 또는 다른 동시성이 이제까지 그것을 테스트하지 않고 발생하면 나는 아직도 모른다.

나는 단지 GET을하고 100 명의 사용자를 시뮬레이트하는 jmeter에서 테스트를 만들려고했습니다.

문제 : 페이지가로드가 완료 될 때

나는 서버에서 일부 정보를 검색, 그래서 나는 (이 예외 이전 때문에 그 부분 원인) 그 부분에 관심이 있어요.

그러나 jmeter는로드 될 때 페이지 만 가져오고, 로그에 표시되지 않은 모든 Ajax 보류중인 요청을받습니다. 실제로 jmeter는 문서가 준비되면이 아약스 호출에 도달하지 않기 때문에 로그에서 아무것도 볼 수 없습니다.

자연스럽게 브라우저에서 페이지를 새로 고치면 로그를 볼 수 있습니다. 정확히 서버 측에서 어떤 일이 벌어지고 있는지 알 수 있습니다. 어떤 종류의 도구가 있습니다. 대기중인 요청을 모두 기다리거나 웹 사이트에 n 시간 동안 머무를 수 있습니다. 더 많은 동시성 예외를 피하기 위해이를 테스트하는 더 똑똑한 방법이 있습니다.

답변

1

AJAX 요청은 간단한 GET 요청이기도하므로 JMeter를 구성하여 서비스를 제공하는 서블릿을 직접 호출하면됩니다.

+0

솔직히이 점을 생각하지 못했지만 방법을 모르겠지만하지 않았습니다. tnx – ant

0

테스트에 JMeter 대신 Selenium을 사용하면 실제 응용 프로그램과 똑같은 AJAX 요청을 수행 할 실제 브라우저가 생성됩니다. 단순히 실행중인 실제 응용 프로그램이기 때문입니다.

문제는 ... 셀레늄은 회귀 테스트와 브라우저와의 호환성을위한 것이지 원시 성능을위한 것입니다. 컴퓨터 당 몇 가지 브라우저 이상을 실행할 수 없습니다. 일부 회사는 귀하의 성능을 위해 빌릴 수있는 browserd 클러스터 (최대 5,000 및 최대 500,000 가상 사용자)를 제공합니다.

사무실에서 데스크톱 컴퓨터를 사용할 수도 있습니다. 테스트를 수행하기 위해 밤을 말할 수 있습니다.

나는 이것이 약간 복잡 할 수도 있고 최선의 해결책이 아닐 수도 있음을 알고 있습니다.

+0

셀레늄에는 무료 버전이 있습니까? – ant

+0

@ c0mrade : Selenium은 무료이며 오픈 소스입니다. 당신이 좋아하는 것을 자유롭게 할 수 있습니다. –

관련 문제