본문 바로가기

전체 글

(35)
JMeter 플러그인 설치 및 활용 JMeter에서 기본적으로 제공하는 기능 외에 사용하고 싶은 기능이 있다면 아래의 사이트에서 JMeter Plugins :: JMeter-Plugins.org jmeter-plugins.org 플러그인을 검색해서 활용할 기능이 있다면 플러그인 매니저를 통해서 설치하면 됩니다 우선 플러그인 매니저 설치하는 방법입니다 위 플러그인 홈페이지의 Install 탭에서 jar파일을 다운로드합니다 다운로드한 파일을 jmeter폴더의 lib/ext폴더에 추가합니다 그리고 JMeter를 재시작합니다 우측 상단에 플러그인 매니저를 통해 원하는 플러그인을 설치할 수 있습니다 원하는 플러그인을 체크한 뒤 Apply Changes and Restart JMeter버튼을 누릅니다 매니저가 플러그인을 마치면 재시동되고 설치한 플러..
JMeter HTTP(S) Test Script Recorder HTTP(S) Test Script Recorder를 사용하면 일반 브라우저로 웹 애플리케이션을 탐색하는 동안 JMeter가 사용자의 작업을 기록할 수 있습니다 JMeter는 테스트 샘플 객체를 만들어 Test Plan에 직접 저장합니다 간단하게 사용법을 알아보겠습니다 실습 사이트는 Apache JMeter - Apache JMeter™ Apache JMeter™ The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing We..
JMeter Assertions Test Plan을 실행할 때, 성공했는지 실패했는지 HTTP 응답 코드로 알 수 있습니다 성공을 나타내는 응답 코드는 20X나 30X, 오류를 나타내는 응답코드는 40X나 50X를 나타냅니다 그러나 성공인 응답코드일 때 무조건 올바른 페이지가 출력되는 것은 아닐 것입니다 예를 들어서 응답코드 200을 받았을 경우, 본문에는 처리에 실패했다는 메시지가 출력되는 경우도 있습니다 이런 경우에 Assertions 기능을 이용하여 응답코드 외에 성공과 오류를 판단하여 정상적인 테스트를 실행하도록 합니다 실습은 Apache JMeter 이 책은 Apache JMeter를 이용해서 웹 서비스의 성능을 테스트하려는 시스템 운영자와 웹 개발자를 위한 책으로, 자바와 웹 서비스 인프라, 웹 프로토콜에 대한 기초적인 지식..
JMeter Timer 컴퓨터는 반복 작업을 빠르게 수행하지만 실제 사용자들은 중간에 서버에 내용을 보내지 않고 대기하는 시간이 발생합니다 이 시간을 Thinking Time이라 합니다 Test Plan을 세울 때 Thinking Time까지 고려해 주면 더 정교한 Test Plan을 완성할 수 있습니다 실습은 Apache JMeter 이 책은 Apache JMeter를 이용해서 웹 서비스의 성능을 테스트하려는 시스템 운영자와 웹 개발자를 위한 책으로, 자바와 웹 서비스 인프라, 웹 프로토콜에 대한 기초적인 지식을 가지고 있다면 쉽게 book.naver.com 위 책을 활용하였습니다 Constant Timer 설정된 일정 시간을 지연해주는 기능을 합니다 Constant Timer를 활용하는 간단한 예시입니다 Thread Gro..
JMeter Random, Random Order, Interleave Controller Random Controller 나중에 이야기할 Interleave Controller와 유사하게 작동하지만 하위 컨트롤러와 샘플러를 순서대로 처리하는 대신 각 패스에서 무작위로 하나를 선택한다는 점이 다릅니다 또, 여러 컨트롤러 간의 상호 작용은 복잡한 동작이 생길 경우가 있는데 이러한 상호 작용이 어떤 결과를 가져올지 가정하기 전에 Random Controller을 활용할 수 있습니다 실습은 Apache JMeter 이 책은 Apache JMeter를 이용해서 웹 서비스의 성능을 테스트하려는 시스템 운영자와 웹 개발자를 위한 책으로, 자바와 웹 서비스 인프라, 웹 프로토콜에 대한 기초적인 지식을 가지고 있다면 쉽게 book.naver.com 위 책을 활용하였습니다 Random Controller의 사..
구조적 커버리지의 종류 커버리지 기준을 정의하는 목표 커버리지 기준을 달성함으로써 주어진 프로그램 소스 코드를 다양하고 체계적으로 프로그램의 모든 부분을 최대한 넓게 실행할 수 있게 되는 것이 목표입니다 함수 커버리지 단순히 프로그램 내에 존재하는 모든 함수가 한 번이라도 호출되었는지를 측정 결정 커버리지 여기서 결정이 의미하는 바는 프로그램 흐름에 변화가 있을 때 해당 변화에 가능한 모든 조건을 다 테스트 조건 커버리지 모든 Boolean Subexpression이 각각 참과 거짓으로 한 번씩 설정되었는지를 체크하는 커버리지 기준 Modified Condition/Decision 커버리지 줄여서 보통 MC/DC 커버리지라고 합니다 이 경우에는 Condition/Decision 커버리지를 만족하고 추가로 조건에 사용되는 모든 ..
테스트 적합도 테스팅을 어느 정도 해야 충분한가? - 실행이 불가능한 답은 주어진 프로그램에서 실행할 수 있는 모든 입력을 다 실행했을 때 하지만, 가능한 입력은 사실상 무한대에 가깝기 때문에 완벽한 테스팅은 불가합니다 이 경우 테스팅은 영영 끝나지 않습니다 - 모든 결함을 다 잡았을 때 하지만, 결함이 존재하는지 존재하지 않는지, 몇 개가 존재하는지를 미리 알 수 없기 때문에 실질적으로 쓸모없습니다 언제 멈춰야 하는지 정확히 알 수 없으므로 적어도 지금 테스트 입력을 한 개 더 실행하면 얼마만큼의 이득을 얻을 수 있는가 라고 질문할 수 있습니다 이 경우에는 테스트 입력을 한 개 더 실행하기 위해서 필요한 비용 대비 하나 더 수행했을 때 얻는 이익을 비용을 비교하여 비용이 더 크면 테스트를 멈추면 됩니다 이 질문의 답..
JMeter Logic Controller 특정한 작업을 반복하거나 분기 역할을 하기 위해서는 Logic Controller를 사용하면 됩니다 JMeter에는 If, Loop, Random, Random Order, Interleave Controller를 가장 많이 사용합니다 If Controller If Controller는 조건에 따라 로직을 분기하는 역할을 합니다 이번 실습은 앞 게시물의 실습을 활용하여 했습니다 정규표현을 통해 URL을 수집하는데, If Controller를 활용하여 정규표현에 부합하지 않는 문자열을 찾으면 더이상 URL을 가져오지 못하도록 하여 오류가 발생하지 않도록 수정합니다 우선, /jmeter/search/search와 next - ${next_url} Sampler를 선택합니다 Insert Parent 메뉴를 이..