Nội dung bài học
I. Cài đặt trên Window
Điều kiện: Vì JMeter viết bằng Javav nên để chạy được JMeter thì chúng ta phải cài đặt JRE hoặc JDK. Nếu chưa cài đặt Java thì bạn có thể tham khảo trang sau đây: https://jmetervietnam.wordpress.com/2019/02/15/bai-2-huong-dan-cai-dat-java/
Bước 1: Đi đến trang web Apache của JMeter để download: https://jmeter.apache.org/download_jmeter.cgi
Click vào apache-jmeter-5.3.zip để download.
Bước 2: Giải nén file zip vừa tải về.
Bước 3: Vào folder bin và click đúp vào file jmeter.bat để chạy.
Giao diện JMeter sẽ hiển thị như sau:
II. Cài đặt trên Ubuntu
- Bước 1. Download Java for jmeter: sudo apt-get install openjdk-7-jre-headless
- Bước 2. Check java version: java -version
- Bước 3. Download jmeter as command: wget-c http://ftp.ps.pl/pub/apache//jmeter/binaries/apache-jmeter-3.0.tgz
- Bước 4. Update version for jmeter(if any): sudo apt-get update
- Bước 5. Go to Download directory: cd Downloads/
- Bước 6. Unpack jmeter: tar -xf apache-jmeter-4.0.tgz
- Bước 7. Go to Jmeter directory: cd apache-jmeter-4.0/
- Bước 8. Run: ./bin/jmeter
III. Cài đặt trên Mac
Bước 1: Đi đến trang web Apache của JMeter để download: https://jmeter.apache.org/download_jmeter.cgi
Click vào apache-jmeter-5.3.tgz để download.
- Bước 2: Giải nén file zip vừa tải về.
- Bước 3: Mở terminal trên Mac Open your terminal on Mac.
- Bước 4: Gõ cd đến nơi lưu file JMeter đã download.
- Bước 5: Gõ cd đến folder bin.
- Bước 6: Gõ ./jmeter.sh và JMeter sẽ được mở.
IV. Tìm hiểu về Performance Testing
1. Performance testing là gì?
- Là loại kiểm thử phi chức năng, được sử dụng để đánh giá về khả năng đáp ứng cũng như hành vi của hệ thống với các khối lượng công việc khác nhau.
- Một ứng dụng được thử nghiệm cho phép end user thực hiện một thao tác nhất định mà không bị trì hoãn quá lâu.
- Ứng dụng có hiệu năng tốt là ứng dụng thời gian phản hồi tốt.
- Một trang web chậm dẫn đến trải nghiệm người dùng không tốt, và có tác dụng tiêu cực đến tài chính.
2. Sự quan trọng của kiểm thử hiệu năng:
- Tìm ra các điểm nghẽn của hệ thống.
- Biết được hệ thống hay ứng dụng có thể đáp ứng được bao nhiêu người dùng song song.
- Giúp tìm ra những tác động về hiệu năng sau mỗi bản vá, sửa đổi.
3. Các loại Performance testing
- Load Test: Tìm ra giới hạn của hệ thống, xác định ngưỡng có thể chịu tải được của hệ thống. Mục tiêu là để xác định mức độ tắc nghẽn hiệu suất trước khi ứng dụng phần mềm được phát hành trong môi trường thực tế. Ví dụ về ngưỡng của hệ thống: Hệ thống chịu được 5k (5000) request và không xảy ra lỗi. Quá 5k sẽ bắt đầu có lỗi, response time bị chậm và sẽ có issue xảy ra. Vậy thì 5k là sức chứa của server hoạt động ổn định.
- Stress Test: Đánh giá hệ thống tại và bên trên ngưỡng limit, tìm ra breaking point (ngưỡng mà hệ thống sẽ chết) của hệ thống (làm cho hệ thống die mà không response được nữa). Ví dụ về breaking point: 5k thì hoạt động ổn, 7k là bắt đầu có issue, 10k là chết hẳn. Vậy 10k là breaking point.
- Spike Test: Mục tiêu để kiểm tra phản ứng của phần mềm đối với các thay đổi lớn đột ngột trong tải do người dùng tạo. Ví dụ số lượng tăng cao đột biến ở trang web thương mại điện tử trong ngày black friday
- Volume Test: Mục tiêu là để kiểm tra hiệu suất của ứng dụng phần mềm theo khối lượng cơ sở dữ liệu khác nhau. Ví dụ: Khách hàng mong muốn ứng dụng có thể chịu tải 10k user, nếu hệ thống không đáp ứng thì cần mở rộng DB, ram.
- Scalability Test: Mục tiêu của thử nghiệm nhằm đến khả năng mở rộng của ứng dụng, để xác định hiệu quả của ứng dụng phần mềm khi "mở rộng" để hỗ trợ tăng tải người dùng, hỗ trợ cho việc lập kế hoạch bổ sung dung lượng cho hệ thống. Ví dụ: Trang web có thể xử lý đặt tối đa 100 người dùng tại 1 thời điểm nhưng có thể thực hiện kiểm tra mở rộng trong mùa mua sắm cao điểm.
Tài liệu tham khảo:
- https://www.blazemeter.com/blog/how-get-started-jmeter-part-1-installation-test-plans
- https://linuxhint.com/install_apache_jmeter_ubuntu
- https://www.youtube.com/watch?v=-3wWEIvULdg
- https://www.guru99.com/performance-testing.html
=> Cách sử dụng JMeter cho Performance Testing và Load Testing
Anh Tester
facebook.com/anhtester
Đường dẫu khó chân vẫn cần bước đi
Đời dẫu khổ tâm vẫn cần nghĩ thấu