Cài Firebug c a firefox: Máy có cài trình duy t Firefox @BULLET

19
Hướng dẫn cài đặt và sử dụng JMeter Tool. (Người lập: Trần Thị Quế - Jun-2014) I. Download và cài đặt: 1. Download và cài đặt Framework Java: o Chọn link http://java.com/en/download/help/index.xml o Search theo từ khóa: jdk java o Chọn phần mềm: jdk-8u5-windows-i586.exe -> download lưu về máy (Cho máy 32 Bit) o Chọn DoubleClick file trên để cài đặt Lưu ý: đối với máy 64 Bit thì Download bộ: jre-7u51-windows-x64.exe 2. Cài Firebug của firefox: o Mục đích để lấy parameter của chương trình test phục vụ cho việc tạo Test Plan được nhanh chóng và chính xác. o Máy có cài trình duyệt Firefox o Search từ trình duyệt Firefox từ khóa: firebug o Chọn Install trực tiếp từ link: Firebug 1.12.8 như hình phía trên. 3. Jmeter tool (Free) o Download Jmeter tool (Free) trên mạng theo đường dẫn như hình bên dưới (Download tool lưu về máy mà không cần cài đặt) o Ví dụ download và lưu phần mềm về thư mục như sau: D:\JMeter_Tool Page 1

Transcript of Cài Firebug c a firefox: Máy có cài trình duy t Firefox @BULLET

Hướng dẫn cài đặt và sử dụng JMeter Tool.(Người lập: Trần Thị Quế - Jun-2014)

I. Download và cài đặt:1. Download và cài đặt Framework Java:

o Chọn link http://java.com/en/download/help/index.xmlo Search theo từ khóa: jdk javao Chọn phần mềm: jdk-8u5-windows-i586.exe -> download lưu về máy (Cho máy 32

Bit)o Chọn DoubleClick file trên để cài đặt

Lưu ý: đối với máy 64 Bit thì Download bộ: jre-7u51-windows-x64.exe

2. Cài Firebug của firefox: o Mục đích để lấy parameter của chương trình test phục vụ cho việc

tạo Test Plan được nhanh chóng và chính xác.o Máy có cài trình duyệt Firefoxo Search từ trình duyệt Firefox từ khóa: firebug

o Chọn Install trực tiếp từ link: Firebug 1.12.8 như hình phía trên.

3. Jmeter tool (Free)o Download Jmeter tool (Free) trên mạng theo đường dẫn như hình bên dưới

(Download tool lưu về máy mà không cần cài đặt)o Ví dụ download và lưu phần mềm về thư mục như sau: D:\JMeter_Tool

Page 1

Lưu ý:o Đối với máy tính chạy trên môi trường win 7 cần thực hiện cấu hình như

sau: D:\JMeter_Tool \apache-jmeter-2.11\bin -> nhấn chuột phải chọn Edit

tại file jmeter.bat -> chọn nút Run -> hiển thị màn hình Notepad_Rem câu lệnh: set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m -X:+CMSClassUnloadingEnabled

-> rem set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m -XX:+CMSClassUnloadingEnabled

II. Performance and Stress Test bằng JMeter:1. Chạy JMeter:

o Vào thư mục bin của thư mục chứa Source JMeter đã được Download về máy.

Page 2

o Chọn Double Click chuột vào file: jmeter.bat ->

o Chọn Run:

o Phần mềm kích hoạt và hiển thị màn hình chương trình JMeter sau:

Page 3

2. Tạo TestPlan:o Tại màn hình Tool JMeter -> Click vào mục “TestPlan” -> Nhập tên

TestPlan cho ứng dụng cần Test.

3. Tạo Thread Group:o Bấm chuột phải vào Test Plan chọn Add => Threads (Users) => Thread

Group:

Page 4

o Nhập tên theo tên ứng dụng:

o Nhập số users vào text “Number of Threads (Users)”: 100 Giả lập 100 là số User cần test truy cập vào ứng dụng đồng thời, có

thể thay đổi số User cho từng lần chạy để đo hiệu năng và độ ổn định của ứng dụng.

o Nhập thời gian khởi tạo users vào Text “ Ramp-up Period (in seconds)”:1 Thời gian = 1s (giây) = 1.000ms (mili giây) /100 user được tạo đồng

thời Với ví dụ số liệu trên thì khoảng cách số mili giây giữa 2 user

được gởi truy cập vào hệ thống là 10ms.o Nhập số lần test vào text “Loop Count”: 1

Số lần lặp cần test: Nếu muốn test nhiều lần để lấy giá trị trung bình thì nhập tăng số lần lặp này (thay 1 bằng n thì số các thread sẽ lặp n lần)

Page 5

4. Tạo HTTP Request Defaultso Bấm chuột phải vào TestPlan hoặc Thread Group --> chọn Add --> Config

Element --> HTTP Request Defaults Lưu ý: có thể tạo nhiều Thread (kịch bản test), nếu add “HTTP Request Defaults” thuộc

cấp TestPlan thì có nghĩa các kịch bản có chung Request HTTP gởi lên server.

o Nhập tên miền hoặc địa chỉ IP vào ô Server Name or IP tại phần Web Server -> điền địa chỉ trang web cần truy cập. Ví dụ: farmqlvb.vinhphuc.gov.vn

Lưu ý: Dựng server và môi trường test riêng, không nên test trực tiếp trên server chạy thực vì có thể làm treo hệ thống nếu đăng nhập cùng lúc qua nhiều User.

o Nhập Port (cổng) của ứng dụng vào ô Port Number Đối với giao thức HTTP thường mặc định chạy trên port 8080 (hoặc

có thể bỏ trống tool sẽ hiểu mặc định là port 8080), đôi khi nhập port 8080 vào chạy sẽ bị lỗi thì xóa trống ô Port đi.

Lưu ý: Nhập port đúng với port của hệ thống cần Test

Page 6

5. Tạo quản lý cookieo Chuột phải vào TestPlan hoặc Thread Group –> Add –> Config Element –>

Http Cookie Manager

o Cookie manager: sẽ lưu và gửi cookie như trình duyệt. Nếu có 1 http request và response chứa cookie, Cookie manager sẽ tự động lưu cookie đó và sẽ gửi cookie đó cho tất cả các request sau đó đối vớitrang web.

o Cookies là 1 đoạn dữ liệu được truyền đến browser từ server, đoạn dữliệu này sẽ được browser lưu trữ (trong memory hoặc trên đĩa) và sẽ gởi ngược lên lại server mỗi khi browser tải 1 trang web từ server. Những thông tin được lưu trữ trong cookies hoàn toàn phụ thuộc vào website trên server. Mỗi website có thể lưu trữ những thông tin khácnhau trong cookies, ví dụ thời điểm lần cuối truy cập website, đánh dấu đã login hay chưa, v.v... Cookies được tạo ra bởi website và gởi tới browser, do vậy 2 website

Page 7

khác nhau (cho dù cùng host trên 1 server) sẽ có 2 cookies khác nhaugởi tới browser. Ngoài ra, mỗi browser quản lý và lưu trữ cookies theo cách riêng của mình, cho nên 2 browser cùng truy cập vào 1 website sẽ nhận được 2 cookie khác nhau.

6. Tạo kịch bản test cho tính năng: Sign in.o Với giả lập test User truy cập vào trang web

https://farmqlvb.vinhphuc.gov.vn -> sau đó login vào hệ thống với User: vuba(Role văn thư) và password: 123456 -> chọn tới chức năng “Tìm kiếm văn bản đến” -> chọn nút “Tìm kiếm”

Mục đích để đo hiệu năng của hệ thống cho việc load dữ liệu tại thao tác tìm kiếm, đồng thời đo tính ổn định của hệ thống khi cùng lúc có nhiều User truy cập.

a. Tạo kịch bản test Login vào hệ thống. Đối với chức năng chỉ thực hiện 1 lần, ví dụ như Login -> Bấm

chuột phải vào Thread Group -> chọn Add --> Logic Controller--> Once Only Controller

Nhập thông tin cho Text “Name”: Login

Page 8

b. Tạo request đến server: HomePage Từ thẻ kịch bản “Login” vừa được tạo ở trên -> bấm chuột phải

chọn Add -> Sampler -> HTTP Request.

Nhập thông tin cho text “Name”: HomePage Chọn “Method” mặc định: GET Lưu ý: Vì đây là trang home nên chỉ load trang mà không gởi data lên server nên

chọn Method là GET, đối với các chức năng hoặc tính năng cần gởi tham số lên server thì chọn Method là POST.

Path: Mylogin.aspx -> Nhập tham số của Page cần gọi.

Thủ thuật lấy Path của chức năng chạy trên trang web

Mục đích: lấy được Path của chức năng cần test truyền vào kịchbản Test của Tool

Thao tác trên trình duyệt Web (IE hoặc Firefox) chức năng cần test và lấy Path.

Page 9

Trên đường Link của trình duyệt thì toàn bộ phần phía sau của link trang web là tham số đường dẫn (path) của chức năng đang thao tác

Ví dụ hình bên dưới phần khoanh đỏ là path của chức năng HomePage.

Hình bên dưới đây là Path của chức năng “Tìm kiếm văn bản đến:

c. Tạo request đến server: Sign in Tương tự như Request “HomePage” vừa tạ ở trên: Từ thẻ kịch bản

“Login” vừa được tạo ở trên -> bấm chuột phải chọn Add -> Sampler -> HTTP Request.

Nhập thông tin cho text “Name”: Sign in

Page 10

Chọn “Method” mặc định: POST Path: Mylogin.aspx -> Nhập đường dẫn của Page cần gọi. Tại lưới phần “Parameter” -> chọn nút Add để tại các tham số

của màn hình và đưa các giá trị thực cần test vào. Ví dụ: màn hình đăng nhập vào hệ thống có 2 trường thông

tin là UserName và Pass Word -> ta truyền giá trị cho trường UserName là account: vuba, Password: 123456

Thủ thuật lấy Parameter và data input (Value)

Mục đích: lấy được Parameter và Value từ web nhanh và chính xác, phục vụ cho việc tạo kịch bản test trên JMeter.

Mở trình duyệt FireFox chạy link trang web cần test, thao tác thật trên trang web.

Thao tác tới màn hình cần test -> nhập dữ liệu thông tin trên màn hình.

Nhấn F12 -> chọn Tab: NET -> chọn Tab Post -> chuột phải chọn Coppy POST parameter

Page 11

Mở Excel -> Paste dữ liệu copy tại cột A Tại cột B và C dùng 2 công thức sau để tách Parameter và dữ

liệu Input (Value): Tách Parameter: =LEFT(A1, FIND("=", A1)-1) Tách Value: =RIGHT(A1, LEN(A1) - FIND("=", A1))

Sau khi dùng công thức tách 2 cột cần lưu ý sửa Value (cột C) cho 2 tham số:

__EVENTVALIDATION: ${EVENTVALIDATION} __VIEWSTATE: ${VIEWSTATE} Vì đây là 2 tham số động do HTTP bảo mật nên cần thiết

lập value như trên. Quét khối dữ liệu của 2 cột B và C trên excel. Tại HTTP Request (Sign in ) chọn nút: Add From Clipboard để

chép parameter và value.

Page 12

Lưu ý: check chọn cột “Encode?” cho 2 tham số “__EVENTVALIDATION” và “__VIEWSTATE”

d. Tạo kịch bản test chức năng: Tìm kiếm văn bản đến. Bấm chuột phải vào Thread Group -> chọn Add --> Logic

Controller --> Once Only Controller Nhập thông tin cho Text “Name”: TimKiem_VanBanDen

e. Tạo request đến server: LoadPage_TimKiemVanBanDen Từ thẻ kịch bản “TimKiem_VanBanDen” vừa được tạo -> bấm chuột

phải chọn Add -> Sampler -> HTTP Request. Nhập thông tin cho text “Name”: LoadPage_TimKiemVanBanDen Chọn “Method” mặc định: GET

Page 13

Path: Mylogin.aspx -> Nhập tham số của Page cần gọi.

f. Tạo request đến server thao tác nút tìm kiếm tại chức năng “Tìm kiếm văn bản đến”: TimKiem Từ thẻ kịch bản “TimKiem_VanBanDen” vừa được tạo ở trên -> bấm

chuột phải chọn Add -> Sampler -> HTTP Request. Nhập thông tin cho text “Name”: TimKiem Chọn “Method” mặc định: POST Path: Nhập đường dẫn của Page cần gọi. Tại lưới phần “Parameter” -> thực hiện việc lấy Parameter và

Value như cách hướng dẫn tại phần thủ thuât -> chọn nút Add from Clipboad để tại các tham số của màn hình và đưa các giá trị thực cần test vào.

Page 14

Check chọn cột “Encode?” cho 2 tham số “__ ” và “__VIEWSTATE”

7. Xem kết quả của kịch bản testa. Xem kết quả tổng hợp của tất cả các thread

o Chuột phải vào Thread Group –> Add -> Listener –> Summary Report

o Bảng thống kê kết quả có dạng:

Page 15

Label : tên request # Sample : số request Average : thời gian trung bình xử lý các request min : thời gian nhỏ nhất xử lý request max : thời gian nhỏ nhất xử lý request std Dev: độ lệch chuẩn của thời gian xủ lý các request Error : phần trăm bị lỗi của các request(lỗi kết nối hoặc lỗi

cho đầu ra không mong muốn) thoughput : số request/s của server avg.bytes : số bytes trung bình của response kb/s = (avg.bytes*thoughput)/1024

b. Xem kết quả của từng Request trong kịch bảno Chuột phải Thread Group –> Add –> Listener –> View Results Tree

Page 16

o Sau khi chạy chương trình, trong phần view results tree hiển thị thông tin các request và kết quả của chúng.

o Các request xanh là request không lỗi, các request đỏ bị lỗi. Click vào mỗi request tương ứng bên cạnh sẽ có 3 phần thông tin về requestđó: sample result, request, response data.

c. Xem kết quả dạng bảngo Chuột phải Thread Group –> Add –> Listener –> View Results in Table

o Các request có cột Status màu xanh là request không lỗi, các requestđỏ bị lỗi.

Start time: Thời gian bắt đầu Tool gởi Request. Sample Time (ms): Thời gian thực hiện hoàn thành 1 request Bytes: số byte được gởi lên server Latency: độ trễ giữa các Request

8. Tạo các tham số động của HTTPo VIEWSTATE:

Chọn chuột phải tại TestPlan -> Add -> Post Processors ->Regular Expression Extractor

Page 17

Nhập các thông tin cho màn hình: Name: VIEWSTATE Reference Name: VIEWSTATE Regular Expression: name="__VIEWSTATE"

id="__VIEWSTATE" value="(.+?)" Template: $1$ Match No. (0 for Random): 1 Default Value: ERROR

o EVENTVALIDATION; REQUESTDIGEST: thiết lập và cập nhật thông tin tương tự như tham số động VIEWSTATE.

9. Thực hiện Testo Chọn Menu Run -> Start (Hoặc hình tam giác màu xanh) để chạy

kịch bản test.

Page 18

o Xem kết quả test trong View Results in Table hoặc Sumary Report

o Có thể click vào biểu tượng để clear kết quả của từng lần chạy.

o Xem và phân tích kết quả Test.

Page 19