1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web

59 23 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểm Thử Tải Trang Web
Tác giả Châu Kim Phụng, Nguyễn Thị Lệ Huyền
Người hướng dẫn ThS. Phạm Trọng Huynh
Trường học Trường Đại Học Lao Động – Xã Hội (Cơ Sở II)
Chuyên ngành Kiểm Thử Phần Mềm
Thể loại Tiểu luận
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 59
Dung lượng 1,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kiểm thử tải, vì thế, là một biện pháp cần thiết giúp xác định trước giới hạn và khả năng chịu tải của hệ thống, qua đó hỗ trợ việc tối ưu hóa và nâng cao hiệu suất nhằm đáp ứng các tình

Trang 1

TRƯỜNG ĐẠI HỌC LAO ĐỘNG – XÃ HỘI (CƠ SỞ II)

KHOA GIÁO DỤC ĐẠI CƯƠNG

TIỂU LUẬN MÔN: KIỂM THỬ PHẦN MỀM

ĐỀ TÀI:

KIỂM THỬ TẢI TRANG WEB

GVHD: ThS Phạm Trọng Huynh Sinh viên/ Nhóm thực hiện:

SV Châu Kim Phụng – Lớp Đ21HT1

SV Nguyễn Thị Lệ Huyền – Lớp Đ21HT1

TP Hồ Chí Minh, tháng 12 năm 2024

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN

Cán bộ chấm thi 1 Cán bộ chấm thi 2

Trang 3

MỤC LỤC

DANH MỤC BẢNG BIỂU 1

DANH MỤC HÌNH ẢNH 3

MỞ ĐẦU 5

Lý do chọn đề tài 5

Mục tiêu nghiên cứu 6

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 8

1.1 Khái niệm kiểm thử phần mềm 8

1.2 Các loại kiểm thử phần mềm 8

1.3 Vai trò của kiểm thử phần mềm 10

1.4 Khái niệm kiểm thử tải 10

1.5 Vai trò của kiểm thử tải 10

1.6 Phân loại các loại tải trong kiểm thử 11

1.6.1 Tải tĩnh (Static Load) 11

1.6.2 Tải động (Dynamic Load) 11

1.6.3 Tải tăng đột ngột (Spike Load) 11

1.7 Phương pháp thực hiện kiểm thử tải 12

1.7.1 Phương pháp tăng dần tải (Incremental Load Testing) 12

1.7.2 Kiểm thử căng thẳng (Stress Testing) 12

1.7.3 Kiểm thử tải duy trì (Endurance Testing) 12

1.7.4 Kiểm thử khả năng chịu tải (Capacity Testing) 12

1.7.5 Phương pháp tải được áp dụng 13

1.8 Các công cụ kiểm thử tải phổ biến 13

1.8.1 Giới thiệu các công cụ kiểm thử tải 13

1.8.2 Apache JMeter 13

1.8.3 Locust 14

1.8.4 Gatling 15

1.8.5 Apache Bench 15

1.8.7 Tiêu chí lựa chọn công cụ kiểm thử tải 16

1.9 Ý nghĩa của kiểm thử tải trong phát triển phần mềm 17

CHƯƠNG 2: QUY TRÌNH THỰC HIỆN KIỂM THỬ TẢI 18

2.1 Phân tích yêu cầu kiểm thử tải 18

Trang 4

2.2 Lập kế hoạch kiểm thử 19

2.2.1 Phạm vi kiểm thử 19

2.2.2 Hướng tiếp cận 21

2.3 Phát triển kịch bản kiểm thử 22

2.4 Thiết lập môi trường kiểm thử 25

2.5 Thực hiện kiểm thử tải 25

2.5.1 Thêm Thread Group 25

2.5.2 Thêm HTTP Request 27

2.5.2.1 Cấu hình yêu cầu để kiểm thử tải trang chủ Shopee 27

2.5.2.2 Cấu hình yêu cầu kiểm thử tải trường Lao động - Xã hội (II) 28

2.5.2.3 Cấu hình yêu cầu để kiểm thử tải trang học tiếng anh Study4 28

2.5.3 Thêm Listener 29

2.6 Kết thúc chu kỳ kiểm thử 30

2.6.1 Đối với trang chủ Shopee 30

2.6.2 Đối với trang Trường Lao động - Xã hội (II) 31

2.6.3 Đối với trang học tiếng anh Study4 32

CHƯƠNG 3: ĐÁNH GIÁ VÀ PHÂN TÍCH KẾT QUẢ 33

3.1 Đối với trang chủ Shopee 33

3.1.1 Tính toán kết quả mong đợi 33

3.1.2 Đánh giá kết quả thực tế khi kiểm thử tải trang chủ Shopee 36

3.1.3 Phân tích kết quả kiểm thử tải cho trang chủ Shopee 39

3.2 Đối với trang trường Đại học Lao động - Xã hội (II) 40

3.2.1 Tính toán kết quả mong đợi 40

3.2.2 Đánh giá kết quả khi kiểm thử tải trang Đại học Lao động - Xã hội (II) 43

3.2.3 Phân tích kết quả kiểm thử tải trang trường Lao động - Xã hội (II) 46

3.3 Kết quả kiểm thử tải trang học tiếng anh Study4 47

3.3.1 Tính toán kết quả mong đợi 47

3.3.2 Đánh giá kết quả thực tế khi kiểm thử tải trang Study4 50

3.3.3 Phân tích kết quả kiểm thử tải cho trang trường Lao động - Xã hội (II) 53

KẾT LUẬN 54

DANH MỤC TÀI LIỆU THAM KHẢO 55

Trang 5

DANH MỤC BẢNG BIỂU

Bảng 1 Mô tả Test Case kiểm thử trang chủ Shopee 22 Bảng 2 Mô tả Test Case kiểm thử trang trường Lao động – Xã hội (II) 23 Bảng 3 Mô tả Test Case kiểm thử trang chủ Study4 24 Bảng 4 Tổng hợp kết quả kiểm thử tải của trang chủ Shopee 33 Bảng 5 Kết quả trung bình (kết quả mong đợi) khi kiểm thử trang chủ

trường Lao động - Xã hội (II)

41

Bảng 12 Mô tả Test Case kiểm thử tải trang trường Lao động - Xã hội

(II) khi có kết quả mong đợi

Trang 6

Bảng 15 Đánh giá kết quả khi kiểm thử 2000 người với trang trường Lao

động - Xã hội (II)

45

Bảng 16 Tổng hợp kết quả kiểm thử của trang Study4 47

Bảng 17 Kết quả trung bình (kết quả mong đợi) khi kiểm thử trang

Trang 7

DANH MỤC HÌNH ẢNH

Hình 2 Giao diện trang trường Lao động - Xã hội (II) 20

Hình 9 Cấu hình yêu cầu để kiểm thử tải trang chủ Shopee 27

Hình 10 Cấu hình yêu cầu để kiểm thử tải trang trường Lao động - Xã

hội (II)

28

Hình 11 Cấu hình yêu cầu để kiểm thử tải trang học tiếng anh Study4 28

Trang 8

Hình 19 Summary Report của 500 người dùng ảo 32

Trang 9

MỞ ĐẦU

Lý do chọn đề tài

Đề tài kiểm thử tải là một lựa chọn mang tính thực tiễn cao và đóng vai trò thiết yếu trong sự phát triển của các hệ thống và ứng dụng phần mềm hiện đại Trong bối cảnh ngày càng có nhiều ứng dụng và dịch vụ trực tuyến phục vụ hàng triệu người dùng trên khắp thế giới, yêu cầu về khả năng chịu tải và duy trì hiệu suất ổn định trở nên vô cùng quan trọng

Đối với bất kỳ một hệ thống hay dịch vụ nào, từ các ứng dụng di động đến các website thương mại điện tử và các hệ thống ngân hàng trực tuyến, khi số lượng người dùng tăng lên đột ngột, nếu hệ thống không đủ sức chịu tải thì sẽ dẫn đến hiện tượng chậm trễ, thậm chí ngưng hoạt động, gây tổn thất cả về tài chính lẫn uy tín cho các doanh nghiệp Kiểm thử tải, vì thế, là một biện pháp cần thiết giúp xác định trước giới hạn và khả năng chịu tải của hệ thống, qua đó hỗ trợ việc tối ưu hóa và nâng cao hiệu suất nhằm đáp ứng các tình huống trong thực tế

Kiểm thử tải đóng góp không nhỏ vào việc cải thiện trải nghiệm người dùng Khách hàng luôn kỳ vọng rằng các ứng dụng hoặc dịch vụ trực tuyến mà họ sử dụng phải hoạt động nhanh chóng và mượt mà bất kể số lượng người truy cập là bao nhiêu Khi một hệ thống không được tối ưu hóa để chịu tải, điều này không chỉ khiến người dùng cảm thấy khó chịu mà còn làm giảm khả năng quay lại sử dụng dịch vụ Do đó, thông qua việc kiểm thử tải, các doanh nghiệp có thể đảm bảo rằng hệ thống vẫn duy trì được tốc độ xử

lý và tính ổn định ngay cả trong điều kiện tải nặng, góp phần tạo nên sự hài lòng và giữ chân người dùng Đồng thời, kiểm thử tải còn là cách để phát hiện sớm các vấn đề tiềm

ẩn, giúp các doanh nghiệp phòng ngừa những sự cố nghiêm trọng trước khi chúng xảy

ra trong môi trường thực tế Điều này không chỉ giúp tiết kiệm chi phí khắc phục mà còn giúp tránh được các tổn thất do sự gián đoạn dịch vụ gây ra

Ngoài ra, kiểm thử tải còn là một lĩnh vực đòi hỏi nhiều về kiến thức chuyên môn

và kỹ thuật cao So với các loại kiểm thử phần mềm khác, kiểm thử tải phức tạp hơn bởi

nó yêu cầu người thực hiện có khả năng vận hành các công cụ kiểm thử, đồng thời phải hiểu rõ về hạ tầng hệ thống cũng như các yếu tố ảnh hưởng đến hiệu suất Một hệ thống phần mềm không chỉ là tập hợp của các dòng mã lệnh mà còn bao gồm các thành phần như máy chủ, cơ sở dữ liệu, mạng, và nhiều yếu tố liên quan khác

Trang 10

Để đảm bảo kiểm thử tải hiệu quả, người thực hiện cần phải phối hợp nhịp nhàng giữa các thành phần này, đồng thời theo dõi và đánh giá các chỉ số hiệu suất cụ thể như thời gian phản hồi, băng thông, tốc độ xử lý, và sử dụng tài nguyên Do vậy, nghiên cứu

và thực hiện kiểm thử tải không chỉ giúp người thực hiện nâng cao kiến thức và kỹ năng

kỹ thuật mà còn đem đến nhiều thách thức thú vị, phù hợp cho những ai muốn mở rộng tầm hiểu biết về kiểm thử và hiệu suất hệ thống

Lựa chọn đề tài kiểm thử tải còn xuất phát từ tính ứng dụng rộng rãi của nó trong thực tiễn Ngày nay, không chỉ có các công ty công nghệ mới cần kiểm thử tải, mà hầu hết các ngành nghề đều có nhu cầu này, từ thương mại điện tử, tài chính, ngân hàng, đến viễn thông và truyền thông Trong lĩnh vực tài chính và ngân hàng, các ứng dụng phải đảm bảo khả năng chịu tải khi có lượng lớn người dùng truy cập vào các thời điểm quan trọng, như cuối tháng hoặc trong các đợt chuyển khoản lớn Kiểm thử tải giúp các ngành nghề này đảm bảo hệ thống luôn trong trạng thái sẵn sàng, phục vụ tối đa nhu cầu của người dùng

Tóm lại, đề tài kiểm thử tải được lựa chọn không chỉ bởi tính ứng dụng thiết thực trong việc đảm bảo hiệu suất và sự ổn định của các hệ thống phần mềm mà còn do những thách thức kỹ thuật và kiến thức chuyên môn mà nó mang lại Và cũng xin cảm ơn Thầy Phạm Trọng Huynh đã hướng dẫn tận tình, nếu có thiếu sót nào mong thầy góp ý để nhóm em có thể hoàn thành đề tài nghiên cứu của mình một cách tốt nhất

Mục tiêu nghiên cứu

Mục tiêu nghiên cứu của đề tài về kiểm thử tải là nhằm cung cấp cái nhìn tổng quan và sâu sắc về lý thuyết cũng như các phương pháp kiểm thử tải, từ đó nhấn mạnh vai trò của nó trong việc đảm bảo hiệu suất và độ ổn định của hệ thống phần mềm Để đạt được điều này, nghiên cứu sẽ tiến hành phân tích và so sánh các công cụ kiểm thử tải phổ biến như Apache JMeter, LoadRunner, hoặc Gatling…, cụ thể là đề tài này sẽ nghiên cứu về công cụ Apache JMeter nhằm đánh giá ưu và nhược điểm của công cụ trong các trường hợp sử dụng khác nhau Đồng thời, đề tài sẽ xây dựng một quy trình kiểm thử tải tiêu chuẩn bao gồm các bước từ chuẩn bị, mô phỏng kịch bản tải, thu thập

và phân tích dữ liệu đến đưa ra kết luận và giải pháp tối ưu Nghiên cứu cũng sẽ thực hiện thử nghiệm thực tế trên hệ thống cụ thể để đánh giá khả năng chịu tải trong nhiều điều kiện khác nhau, qua đó phát hiện các điểm yếu và đưa ra các đề xuất cải thiện Cuối

Trang 11

cùng, mục tiêu quan trọng của nghiên cứu là đề xuất các giải pháp tối ưu hóa hệ thống dựa trên kết quả kiểm thử, giúp doanh nghiệp nâng cao khả năng chịu tải và tối ưu hiệu suất vận hành hệ thống trong thực tế

Trang 12

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Khái niệm kiểm thử phần mềm

Kiểm thử phần mềm là quá trình đánh giá và xác nhận rằng một ứng dụng hoặc hệ thống đáp ứng đúng các yêu cầu và kỳ vọng đề ra Mục đích của kiểm thử phần mềm là phát hiện và sửa chữa các lỗi, đồng thời xác nhận rằng hệ thống có thể hoạt động ổn định, bảo mật và đáp ứng yêu cầu người dùng trong nhiều điều kiện khác nhau Quá trình này giúp đảm bảo chất lượng phần mềm, tăng độ tin cậy và sẵn sàng của hệ thống trước khi được triển khai

Kiểm thử hồi quy (Regression Testing): Mục đích của kiểm thử hồi quy là xác định xem các thay đổi, bản vá hoặc cập nhật mới có ảnh hưởng tiêu cực đến các chức năng hiện có của phần mềm hay không Kiểm thử này rất quan trọng sau mỗi lần thay đổi mã

để đảm bảo rằng hệ thống vẫn hoạt động bình thường

Kiểm thử hiệu năng (Performance Testing): Kiểm thử này nhằm đánh giá hiệu suất của hệ thống dưới các điều kiện tải khác nhau, bao gồm thời gian phản hồi, tốc độ xử lý

và khả năng chịu tải Nó giúp xác định khả năng mở rộng và tối ưu hóa hiệu suất của phần mềm

Kiểm thử bảo mật (Security Testing): Đây là quá trình đánh giá tính bảo mật của phần mềm để phát hiện các lỗ hổng, điểm yếu và các mối đe dọa tiềm ẩn Kiểm thử bảo mật đảm bảo rằng dữ liệu và thông tin của người dùng được bảo vệ an toàn trước các cuộc tấn công từ bên ngoài

Trang 13

Kiểm thử giao diện người dùng (UI Testing): Kiểm thử này đánh giá tính khả dụng

và trải nghiệm của người dùng trong giao diện của phần mềm Nó kiểm tra xem giao diện có trực quan, dễ sử dụng và hoạt động tốt trên các thiết bị và trình duyệt khác nhau hay không

Kiểm thử chấp nhận (Acceptance Testing): Là loại kiểm thử cuối cùng, được thực hiện để xác minh rằng phần mềm đáp ứng đầy đủ các yêu cầu của người dùng và sẵn sàng cho việc triển khai Kiểm thử chấp nhận thường được thực hiện bởi người dùng cuối hoặc nhóm QA để đảm bảo rằng sản phẩm cuối cùng đạt chất lượng cao

Kiểm thử tin cậy (Reliability Testing): Đánh giá khả năng hoạt động ổn định và đáng tin cậy của phần mềm trong một khoảng thời gian dài và trong các điều kiện khác nhau Kiểm tra phần mềm hoạt động liên tục mà không xảy ra lỗi, xác định khả năng chịu tải và tần suất các lỗi xảy ra nếu có Giúp đảm bảo phần mềm ít lỗi nhất có thể và giảm thiểu nguy cơ ngừng hoạt động trong thời gian sử dụng lâu dài, đặc biệt là trong các hệ thống quan trọng

Kiểm thử thành phần (Component Testing): Kiểm thử các thành phần hoặc module độc lập trong phần mềm, kiểm tra tính đúng đắn của từng phần trước khi tích hợp Kiểm thử trực tiếp từng thành phần dựa trên các yêu cầu cụ thể cho thành phần đó, đảm bảo chúng hoạt động như mong đợi trước khi tích hợp vào toàn hệ thống Phát hiện sớm lỗi trong các thành phần riêng lẻ, tránh lỗi phức tạp khi tích hợp toàn bộ hệ thống

Kiểm thử phần mềm (Software Testing): Là quy trình tổng thể để đánh giá chất lượng phần mềm, nhằm phát hiện và khắc phục lỗi để đảm bảo phần mềm đáp ứng đúng các yêu cầu và mong đợi của người dùng Bao gồm nhiều loại kiểm thử như kiểm thử chức năng, kiểm thử phi chức năng, kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống, kiểm thử chấp nhận và các loại kiểm thử khác Giúp phát hiện các lỗi trong phần mềm, đảm bảo chất lượng, tính ổn định và đáng tin cậy của sản phẩm trước khi phát hành

Kiểm thử đồng thời (Concurrency Testing): Đánh giá khả năng hoạt động của phần mềm khi nhiều người dùng hoặc nhiều tác vụ được thực hiện đồng thời, đặc biệt quan trọng trong các hệ thống đa nhiệm Mô phỏng các tình huống trong đó nhiều người dùng hoặc nhiều yêu cầu xảy ra cùng một lúc để xem hệ thống có thể xử lý chúng một cách hiệu quả và đúng cách không Đảm bảo phần mềm có thể xử lý các tác vụ đồng thời mà không xảy ra lỗi, tăng tính ổn định cho các hệ thống có lượng truy cập cao

Trang 14

Kiểm thử mô hình (Model-based Testing): Sử dụng các mô hình đại diện cho các hành vi hoặc yêu cầu của phần mềm để thiết kế và thực hiện các trường hợp kiểm thử Dựa trên các mô hình như mô hình trạng thái, luồng dữ liệu, hoặc sơ đồ trường hợp sử dụng để xác định và kiểm tra tất cả các trường hợp có thể xảy ra trong hệ thống Giúp bao quát đầy đủ các tình huống có thể xảy ra, cải thiện khả năng phát hiện lỗi và tối ưu hóa quy trình thiết kế trường hợp kiểm thử

1.3 Vai trò của kiểm thử phần mềm

Kiểm thử phần mềm đóng vai trò quan trọng trong việc đảm bảo chất lượng và độ tin cậy của ứng dụng hoặc hệ thống Nó giúp phát hiện sớm các lỗi và các vấn đề tiềm

ẩn, đảm bảo hệ thống vận hành ổn định, bảo mật và đáp ứng được nhu cầu của người dùng Kiểm thử phần mềm còn giúp cải thiện trải nghiệm người dùng, giảm thiểu rủi ro

về tài chính và uy tín cho doanh nghiệp khi triển khai sản phẩm ra thị trường Hơn nữa, quy trình kiểm thử hiệu quả còn giúp tiết kiệm chi phí và thời gian cho doanh nghiệp khi giảm thiểu việc phải sửa lỗi sau khi triển khai

1.4 Khái niệm kiểm thử tải

Kiểm thử tải là một loại kiểm thử hiệu suất nhằm xác định khả năng chịu tải của

hệ thống khi đối mặt với lượng người dùng tăng cao hoặc các yêu cầu xử lý nặng Mục đích của kiểm thử tải là đánh giá hiệu suất hệ thống trong các tình huống tải nặng để xác định giới hạn, điểm yếu và khả năng cải tiến của hệ thống Thông qua kiểm thử tải, các nhà phát triển có thể tối ưu hóa hiệu suất và đảm bảo hệ thống duy trì tính ổn định và tốc độ đáp ứng tốt ngay cả khi gặp tải trọng lớn

1.5 Vai trò của kiểm thử tải

Kiểm thử tải đóng vai trò quan trọng trong việc đảm bảo hệ thống có khả năng hoạt động ổn định dưới các điều kiện tải nặng, từ đó nâng cao trải nghiệm người dùng và tránh các sự cố gây mất uy tín cho doanh nghiệp Kiểm thử tải giúp phát hiện các vấn

đề tiềm ẩn về hiệu suất, chẳng hạn như thời gian phản hồi chậm hoặc sự cố ngừng hoạt động khi hệ thống gặp lượng truy cập tăng đột biến Nó cũng giúp tối ưu hóa hệ thống bằng cách chỉ ra các thành phần cần cải tiến, từ đó nâng cao hiệu suất tổng thể, giảm thiểu chi phí vận hành và tăng cường tính sẵn sàng của hệ thống trong môi trường thực

tế

Trang 15

1.6 Phân loại các loại tải trong kiểm thử

Kiểm thử tải bao gồm nhiều loại tải khác nhau, mỗi loại đều đại diện cho một tình huống tải cụ thể mà hệ thống có thể gặp phải Việc phân loại này giúp nhà phát triển và kiểm thử viên có kế hoạch phù hợp để đánh giá và tối ưu hóa hệ thống

1.6.1 Tải tĩnh (Static Load)

Tải tĩnh là loại tải cố định, không thay đổi trong quá trình kiểm thử Hệ thống được kiểm tra với một lượng tải không đổi trong một khoảng thời gian nhất định

Mục đích của kiểm tra hiệu suất và khả năng xử lý của hệ thống dưới một mức tải

ổn định để xác định các vấn đề tiềm ẩn trong hiệu suất

Ứng dụng của tải tĩnh thường được dùng để kiểm tra xem hệ thống có thể hoạt động ổn định trong điều kiện tải ổn định, chẳng hạn như số lượng người dùng cố định hoặc luồng dữ liệu không đổi

1.6.2 Tải động (Dynamic Load)

Tải động là loại tải thay đổi theo thời gian trong quá trình kiểm thử, bao gồm việc tăng hoặc giảm dần mức tải

Mục đích nhằm mô phỏng các tình huống thực tế khi số lượng người dùng hoặc các yêu cầu từ hệ thống tăng hoặc giảm một cách liên tục, để đánh giá khả năng của hệ thống đáp ứng khi tải biến đổi

Ứng dụng của tải động thường được sử dụng để mô phỏng các kịch bản sử dụng thực tế, chẳng hạn như số lượng người dùng tăng dần vào giờ cao điểm hoặc giảm xuống vào giờ thấp điểm

1.6.3 Tải tăng đột ngột (Spike Load)

Tải tăng đột ngột là khi mức tải tăng mạnh trong một thời gian rất ngắn rồi giảm nhanh trở lại Đây là một kịch bản tăng đột ngột về số lượng yêu cầu hoặc người dùng Đánh giá khả năng của hệ thống trong việc xử lý các tình huống bất thường, khi

có sự gia tăng đột ngột về tải (chẳng hạn như số lượng người dùng đồng thời) và phục hồi sau khi tải giảm

Ứng dụng của tải tăng đột ngột thường được sử dụng trong các trường hợp như kiểm tra khả năng hệ thống xử lý các đợt khuyến mãi lớn, giờ cao điểm của các sự kiện đặc biệt hoặc các tình huống tăng truy cập không dự đoán trước

Trang 16

1.7 Phương pháp thực hiện kiểm thử tải

Để đảm bảo hệ thống có thể hoạt động ổn định dưới các điều kiện tải khác nhau,

có nhiều phương pháp kiểm thử tải được áp dụng

1.7.1 Phương pháp tăng dần tải (Incremental Load Testing)

Đây là phương pháp kiểm thử mà mức tải được tăng dần theo từng bước, để kiểm tra khả năng chịu tải của hệ thống khi tải được nâng dần lên

Mục đích của phương pháp này xác định mức tải tối đa mà hệ thống có thể chịu đựng trước khi hiệu suất bị ảnh hưởng hoặc xuất hiện lỗi

Ứng dụng của phương pháp này thường áp dụng khi kiểm tra khả năng mở rộng

và các điểm yếu của hệ thống, nhằm phát hiện giới hạn chịu tải dần dần để đảm bảo hiệu suất ổn định

1.7.2 Kiểm thử căng thẳng (Stress Testing)

Kiểm thử căng thẳng là loại kiểm thử đẩy hệ thống vượt qua giới hạn tải thông thường để xác định khả năng chịu đựng tối đa và kiểm tra khả năng phục hồi sau khi đạt ngưỡng này

Mục đích nhằm để đánh giá độ bền của hệ thống khi gặp các điều kiện tải cực đại

và khả năng phục hồi sau khi bị quá tải

Ứng dụng của phương pháp này rất hữu ích để đánh giá các hệ thống quan trọng khi phải chịu đựng tải ngoài dự đoán, như ứng dụng thương mại điện tử trong dịp khuyến mãi lớn hoặc các dịch vụ truyền thông trực tiếp trong sự kiện

1.7.3 Kiểm thử tải duy trì (Endurance Testing)

Kiểm thử tải duy trì là loại kiểm thử mà hệ thống phải chịu tải trung bình hoặc tải cao trong một khoảng thời gian dài để đánh giá tính ổn định

Nhằm xác định các vấn đề có thể phát sinh do sử dụng lâu dài như rò rỉ bộ nhớ, phân mảnh tài nguyên, và hiệu suất giảm dần

Kiểm thử tải duy trì thường áp dụng cho các hệ thống cần đảm bảo khả năng vận hành liên tục như hệ thống quản lý sản xuất, phần mềm quản lý tài chính

1.7.4 Kiểm thử khả năng chịu tải (Capacity Testing)

Kiểm thử khả năng chịu tải là kiểm thử để xác định mức tải tối đa mà hệ thống

có thể xử lý trong khi vẫn duy trì được hiệu suất và đáp ứng yêu cầu của người dùng

Mục đích nhằm xác định giới hạn thực tế của hệ thống và đánh giá xem hệ thống

có thể đáp ứng yêu cầu trong các điều kiện tải tối đa dự kiến không

Trang 17

Phương pháp này giúp tối ưu hóa khả năng mở rộng và lên kế hoạch nâng cấp hệ thống nếu cần thiết, đảm bảo hệ thống có thể phục vụ một số lượng người dùng tối đa

trong thời gian dài

1.7.5 Phương pháp tải được áp dụng

Để đánh giá hiệu suất của hệ thống một cách toàn diện và có cơ sở, chúng tôi lựa chọn phương pháp kiểm thử tải tăng dần Với phương pháp này, chúng tôi sẽ tăng dần

số lượng người dùng truy cập hệ thống, lần lượt ở các mức tải 500, 1000 và 2000 người dùng

Cách tiếp cận này giúp đánh giá sự ổn định của hệ thống khi lưu lượng truy cập tăng lên từng bước và phân tích các chỉ số hiệu suất quan trọng như thời gian phản hồi, thông lượng, tỷ lệ lỗi, và khả năng xử lý dữ liệu Bằng cách tăng dần số lượng người dùng, chúng tôi có thể theo dõi sát sao các điểm mà hệ thống bắt đầu có dấu hiệu giảm hiệu suất, từ đó xác định ngưỡng tải lý tưởng và tối ưu hóa cấu hình nhằm đảm bảo hệ thống hoạt động mượt mà, ổn định dưới các mức tải khác nhau

Phương pháp kiểm thử tải tăng dần cũng giảm thiểu rủi ro so với kiểm thử khả năng chịu tải, giúp chúng tôi có cái nhìn chính xác về khả năng phục vụ của hệ thống

mà không đặt hệ thống vào tình trạng quá tải cực hạn

1.8 Các công cụ kiểm thử tải phổ biến

Việc sử dụng các công cụ kiểm thử tải phù hợp là rất quan trọng trong quá trình thực hiện kiểm thử tải Dưới đây là một số công cụ phổ biến:

1.8.1 Giới thiệu các công cụ kiểm thử tải

Các công cụ kiểm thử tải được thiết kế để mô phỏng tải và theo dõi hiệu suất của

hệ thống Chúng cho phép người dùng tạo ra các kịch bản tải, thực hiện kiểm thử và thu thập dữ liệu để phân tích

1.8.2 Apache JMeter

Apache JMeter là một công cụ mã nguồn mở phổ biến được sử dụng để kiểm thử hiệu năng và tải trên các ứng dụng web và dịch vụ khác Được phát triển bởi Apache Software Foundation, JMeter cung cấp giao diện thân thiện và các tính năng mạnh mẽ

để kiểm thử tải, đánh giá hiệu suất của các ứng dụng, máy chủ, mạng, và API

JMeter giúp mô phỏng một lượng lớn người dùng ảo để gửi yêu cầu đến máy chủ,

từ đó đo lường hiệu suất và đánh giá khả năng chịu tải của hệ thống Hỗ trợ nhiều giao thức như HTTP, HTTPS, FTP, SOAP, REST, và JDBC, cho phép kiểm thử nhiều loại

Trang 18

ứng dụng khác nhau Cung cấp các báo cáo chi tiết dưới dạng biểu đồ, giúp người kiểm thử phân tích hiệu suất dễ dàng hơn JMeter là công cụ mã nguồn mở, JMeter có thể được tùy chỉnh và mở rộng bằng cách thêm plugin để đáp ứng các yêu cầu kiểm thử phức tạp JMeter cung cấp giao diện kéo thả thân thiện, giúp người dùng thiết lập và chạy các kịch bản kiểm thử mà không cần viết mã phức tạp

Apache JMeter là công cụ phổ biến cho các loại kiểm thử hiệu năng, bao gồm kiểm thử tải (Load Testing), kiểm thử căng thẳng (Stress Testing), kiểm thử tải duy trì (Endurance Testing), và kiểm thử khả năng chịu tải (Capacity Testing) Công cụ này thường được sử dụng để đánh giá hiệu suất của các ứng dụng web, kiểm thử API và kiểm thử hiệu suất cơ sở dữ liệu

1.8.3 Locust

Locust là một công cụ kiểm thử hiệu năng mã nguồn mở, được thiết kế để thực hiện kiểm thử tải và kiểm thử hiệu suất cho các ứng dụng web và API Được phát triển bằng ngôn ngữ Python, Locust nổi bật với khả năng mô phỏng số lượng lớn người dùng đồng thời với một cách tiếp cận đơn giản và dễ sử dụng Một trong những điểm mạnh của Locust là khả năng mở rộng cao và giao diện người dùng trực quan, cho phép người kiểm thử dễ dàng theo dõi và phân tích các kết quả kiểm thử

Locust cung cấp một giao diện web trực quan cho phép người dùng dễ dàng cấu hình và theo dõi quá trình kiểm thử Người dùng có thể theo dõi thông tin thời gian thực như số lượng yêu cầu, tỷ lệ phản hồi, và độ trễ, giúp nhanh chóng phát hiện các vấn đề hiệu suất trong quá trình kiểm thử

Với việc sử dụng Python, Locust cho phép người dùng viết các kịch bản kiểm thử bằng mã lập trình, dễ dàng tùy chỉnh và mở rộng Điều này mang lại tính linh hoạt cao cho người kiểm thử, cho phép họ tạo ra các kịch bản phức tạp mà vẫn duy trì tính dễ đọc

và bảo trì

Locust cho phép mô phỏng hàng triệu người dùng đồng thời, giúp kiểm tra khả năng chịu tải của hệ thống dưới áp lực lớn Người kiểm thử có thể định nghĩa các đặc tính của người dùng ảo như tỷ lệ yêu cầu và thời gian chờ giữa các yêu cầu

Locust được thiết kế để chạy trên nhiều nút, cho phép phân tán tải kiểm thử trên nhiều máy tính Điều này có nghĩa là người dùng có thể dễ dàng tăng quy mô kiểm thử chỉ bằng cách thêm nhiều máy chủ, giúp đánh giá hiệu suất trong các điều kiện tải lớn hơn

Trang 19

Locust hỗ trợ kiểm thử nhiều giao thức khác nhau, bao gồm HTTP/HTTPS, WebSockets, và các giao thức khác, giúp người dùng kiểm thử nhiều loại ứng dụng và dịch vụ khác nhau

Ứng dụng của Locust trong kiểm thử hiệu năng là kiểm thử tải (Load Testing), kiểm thử căng thẳng (Stress Testing), kiểm thử độ bền (Endurance Testing), kiểm thử khả năng chịu tải (Capacity Testing), xây dựng và mô phỏng các kịch bản tải thực tế

1.8.4 Gatling

Gatling là một công cụ kiểm thử tải hiện đại, được viết bằng Scala Nó nổi bật với khả năng mô phỏng tải cao và cung cấp báo cáo chi tiết về hiệu suất Gatling hỗ trợ cả REST và WebSocket, phù hợp cho việc kiểm tra ứng dụng web

1.8.5 Apache Bench

Apache Bench (ab) là một công cụ kiểm thử hiệu năng nhẹ và mạnh mẽ, được phát triển bởi Apache Software Foundation, chủ yếu dùng để đánh giá hiệu suất của máy chủ web Công cụ này cho phép người dùng thực hiện các bài kiểm thử tải đơn giản và nhanh chóng, với mục đích đo lường thời gian phản hồi, khả năng xử lý yêu cầu và hiệu suất tổng thể của ứng dụng web

Apache Bench được thiết kế với giao diện dòng lệnh, cho phép người dùng thực hiện các kiểm thử một cách nhanh chóng mà không cần cài đặt phức tạp Chỉ cần nhập lệnh và các tham số, người dùng có thể nhanh chóng bắt đầu kiểm thử hiệu suất

Công cụ này cho phép mô phỏng nhiều yêu cầu gửi đến máy chủ trong một khoảng thời gian nhất định, giúp đánh giá khả năng chịu tải của máy chủ và kiểm tra xem nó có thể xử lý bao nhiêu yêu cầu trong một khoảng thời gian

Apache Bench cung cấp nhiều thông tin quan trọng về hiệu suất, bao gồm thời gian trung bình để xử lý yêu cầu, tốc độ phản hồi, số lượng yêu cầu được xử lý trong một giây, và tỷ lệ lỗi Những thông tin này giúp người kiểm thử dễ dàng phân tích và đánh giá hiệu suất của hệ thống

Apache Bench cho phép người dùng gửi nhiều loại yêu cầu HTTP, bao gồm GET

và POST, giúp kiểm tra các loại hình thức tương tác khác nhau với ứng dụng web Người dùng có thể dễ dàng tùy chỉnh các tham số như số lượng yêu cầu, số lượng kết nối đồng thời, và thời gian kiểm thử, giúp điều chỉnh bài kiểm thử cho phù hợp với mục tiêu cụ thể

Trang 20

Apache Bench thường được sử dụng trong các tình huống kiểm thử hiệu suất sau Kiểm thử tải (Load Testing), kiểm thử hiệu suất nhanh (Quick Performance Testing), phân tích điểm mạnh và điểm yếu của máy chủ, kiểm thử API, so sánh hiệu suất giữa các máy chủ

1.8.6 Phân tích ưu và nhược điểm của các công cụ

Các công cụ kiểm thử hiệu năng đóng vai trò quan trọng trong quá trình phát triển phần mềm, mỗi công cụ đều có những ưu điểm và nhược điểm riêng, phù hợp với các nhu cầu và mục tiêu khác nhau trong kiểm thử Apache JMeter, một công cụ mã nguồn

mở, nổi bật với khả năng hỗ trợ nhiều giao thức khác nhau như HTTP, FTP và JDBC, cùng với giao diện đồ họa thân thiện, giúp người dùng dễ dàng tạo và quản lý các kịch bản kiểm thử Tuy nhiên, JMeter có thể tiêu tốn nhiều tài nguyên hệ thống và đòi hỏi thời gian tìm hiểu để cấu hình các kịch bản phức tạp

Locust, một công cụ dựa trên Python, cho phép người dùng viết các kịch bản kiểm thử linh hoạt và cung cấp giao diện web trực quan để theo dõi kết quả trong thời gian thực Mặc dù Locust hỗ trợ mô phỏng hàng triệu người dùng đồng thời và có thể mở rộng tốt, nhưng nó chủ yếu tập trung vào giao thức HTTP và yêu cầu kiến thức lập trình

để viết kịch bản hiệu quả

Apache Bench là một công cụ dòng lệnh đơn giản và nhanh chóng, cho phép thực hiện các kiểm thử tải cơ bản với tốc độ cao, nhưng lại thiếu tính năng nâng cao và chỉ

hỗ trợ kiểm thử cho giao thức HTTP Việc lựa chọn công cụ kiểm thử hiệu năng phù hợp phụ thuộc vào yêu cầu cụ thể của dự án, kỹ năng của đội ngũ phát triển và môi trường làm việc, từ đó giúp đảm bảo rằng các ứng dụng có thể hoạt động hiệu quả và ổn định dưới tải cao

1.8.7 Tiêu chí lựa chọn công cụ kiểm thử tải

Khi lựa chọn công cụ kiểm thử tải, cần xem xét các tiêu chí như:

Khả năng tương thích với ứng dụng cần kiểm thử

Khả năng tương thích với ứng dụng cần kiểm thử

Tính linh hoạt và khả năng mở rộng của công cụ

Dễ sử dụng và khả năng tạo kịch bản kiểm thử

Khả năng phân tích và báo cáo kết quả

Cộng đồng hỗ trợ và tài liệu hướng dẫn

Trang 21

1.9 Ý nghĩa của kiểm thử tải trong phát triển phần mềm

Kiểm thử tải là một thành phần quan trọng trong quy trình phát triển phần mềm, nhằm đánh giá cách mà ứng dụng hoặc hệ thống hoạt động dưới áp lực tải cao Nó giúp xác định hiệu suất của hệ thống khi xử lý nhiều yêu cầu đồng thời, từ đó cho phép các nhà phát triển nắm bắt được khả năng xử lý của ứng dụng và tối ưu hóa mã nguồn hoặc cấu hình hệ thống khi cần thiết Bằng cách mô phỏng các tình huống sử dụng thực tế với nhiều người dùng đồng thời, kiểm thử tải giúp phát hiện các lỗi tiềm ẩn hoặc điểm yếu trong ứng dụng, như sự cố về hiệu suất, lỗi giao tiếp, hoặc sự cố tài nguyên, qua đó cho phép nhóm phát triển khắc phục những vấn đề này trước khi sản phẩm được triển khai cho người dùng thực tế

Ngoài ra, kiểm thử tải còn đảm bảo khả năng mở rộng của ứng dụng, tức là khả năng của hệ thống trong việc xử lý lưu lượng tăng đột ngột mà không ảnh hưởng đến hiệu suất, điều này rất quan trọng đối với các ứng dụng có thể gặp phải lưu lượng truy cập không đều, chẳng hạn như trong các sự kiện lớn hoặc giờ cao điểm Bằng cách đảm bảo rằng ứng dụng có thể xử lý tải cao mà không làm chậm thời gian phản hồi, kiểm thử tải góp phần cải thiện trải nghiệm người dùng, giúp cung cấp trải nghiệm mượt mà hơn Hơn nữa, kiểm thử tải cũng giúp xác định liệu cơ sở hạ tầng hiện tại có đủ mạnh

để hỗ trợ nhu cầu trong tương lai hay không, từ đó cho phép các tổ chức lập kế hoạch nâng cấp phần cứng hoặc thay đổi cấu trúc hệ thống để đảm bảo rằng nó có thể đáp ứng nhu cầu Nó còn có thể phân tích các yếu tố khác nhau của hệ thống như độ trễ mạng, thời gian phản hồi của máy chủ và khả năng xử lý của cơ sở dữ liệu, giúp các nhà phát triển có cái nhìn tổng thể về cách các thành phần khác nhau tương tác và ảnh hưởng đến hiệu suất tổng thể Cuối cùng, kiểm thử tải đóng vai trò trong việc giảm thiểu rủi ro và chi phí bằng cách phát hiện các vấn đề trước khi sản phẩm được triển khai cho người dùng thực tế, tiết kiệm chi phí sửa chữa sau khi sản phẩm đã được phát hành và tránh mất mát doanh thu do sự cố hệ thống Do đó, việc thực hiện kiểm thử tải thường xuyên trong quy trình phát triển phần mềm sẽ giúp các tổ chức phát triển các sản phẩm chất

lượng cao, đáng tin cậy và có khả năng mở rộng tốt

Trang 22

CHƯƠNG 2: QUY TRÌNH THỰC HIỆN KIỂM THỬ TẢI

2.1 Phân tích yêu cầu kiểm thử tải

Trước khi thực hiện kiểm thử tải, ta phải tiến hành xác định các thông số được sử dụng là gì và có ý nghĩa như thế nào để kiểm thử một cách chính xác nhất Đối với kiểm thử tải trang web, để xác định một trang web có chạy ổn định hay không, và đánh giá khả năng chịu tải của hệ thống, ta dựa vào các thông số như: thời gian phản hồi trung bình, thời gian phản hồi tối thiểu,thời gian phản hồi tối đa, độ lệch chuẩn, tỷ lệ lỗi, thông lượng, tốc độ nhận dữ liệu, tốc độ gửi dữ liệu, kích thước trung bình mỗi yêu cầu Thời gian phản hồi trung bình (Average) là thời gian trung bình mà hệ thống phản hồi sau khi nhận yêu cầu từ người dùng Thời gian phản hồi trung bình thấp chứng tỏ hệ thống phản ứng nhanh với các yêu cầu Đảm bảo thời gian này ở mức hợp lý giúp người dùng có trải nghiệm tốt, không phải chờ đợi lâu để nhận kết quả

Thời gian phản hồi tối thiểu (Min) là thời gian ngắn nhất mà hệ thống phản hồi trong một tập hợp các yêu cầu Thời gian này giúp xác định mức tối thiểu của thời gian phản hồi, từ đó có thể đánh giá hệ thống có thể phản hồi nhanh nhất ở mức nào Nếu quá cao, có thể xem lại hiệu suất xử lý của hệ thống

Thời gian phản hồi tối đa (Max) là thời gian dài nhất mà hệ thống cần để phản hồi lại một yêu cầu Thời gian phản hồi tối đa là yếu tố quan trọng giúp nhận diện các yêu cầu "chậm" hoặc "quá chậm" Nếu thời gian này quá lớn, nó có thể khiến người dùng thấy ứng dụng chậm chạp hoặc thậm chí bị treo

Độ lệch chuẩn (Std Dev) là chỉ số đo lường độ biến động của thời gian phản hồi

so với giá trị trung bình Độ lệch chuẩn thấp cho thấy sự ổn định, nghĩa là thời gian phản hồi không có biến động lớn giữa các yêu cầu Nếu độ lệch chuẩn cao, có thể xảy ra tình trạng không nhất quán trong phản hồi, ảnh hưởng xấu đến trải nghiệm người dùng

Tỷ lệ lỗi (Error %) là tỷ lệ phần trăm yêu cầu bị lỗi trên tổng số yêu cầu được gửi

đi Giúp xác định tính ổn định và độ tin cậy của hệ thống Tỷ lệ lỗi càng thấp, hệ thống càng ổn định và tin cậy Nếu tỷ lệ lỗi cao, người dùng sẽ gặp nhiều sự cố khi truy cập ứng dụng

Thông lượng là số lượng yêu cầu mà hệ thống xử lý mỗi giây Thông lượng phản ánh khả năng của hệ thống trong việc đáp ứng nhu cầu người dùng, đặc biệt khi tải tăng cao Thông lượng cao nghĩa là hệ thống có thể phục vụ số lượng lớn người dùng đồng thời mà không ảnh hưởng đến hiệu suất

Trang 23

Tốc độ nhận dữ liệu là lượng dữ liệu hệ thống nhận được từ người dùng mỗi giây, tính bằng KB Đánh giá tốc độ và khả năng của hệ thống trong việc nhận dữ liệu, đảm bảo ứng dụng có thể tiếp nhận các yêu cầu từ người dùng một cách hiệu quả

Tốc độ gửi dữ liệu là lượng dữ liệu hệ thống gửi lại cho người dùng mỗi giây, tính bằng KB Tốc độ gửi dữ liệu cao giúp đảm bảo hệ thống phản hồi nhanh chóng, đặc biệt khi số lượng yêu cầu đồng thời tăng cao

Kích thước trung bình mỗi yêu cầu là kích thước trung bình của dữ liệu mà mỗi yêu cầu gửi đi Chỉ số này cho thấy mức độ dữ liệu truyền tải mỗi lần yêu cầu, giúp đánh giá khả năng của hệ thống khi truyền dữ liệu Kích thước quá lớn có thể gây ra tải cao cho hệ thống

2.2 Lập kế hoạch kiểm thử

2.2.1 Phạm vi kiểm thử

Phạm vi kiểm thử tải bao gồm việc xác định rõ các thành phần của hệ thống cần được kiểm thử, từ máy chủ ứng dụng, cơ sở dữ liệu đến các dịch vụ API liên quan Các thành phần này phải đảm bảo khả năng chịu tải và duy trì hiệu suất ổn định khi gặp lượng truy cập lớn từ người dùng Phạm vi kiểm thử cũng bao gồm các chức năng quan trọng mà người dùng thường xuyên tương tác, như đăng nhập, tìm kiếm, thêm sản phẩm vào giỏ hàng, và thanh toán Đồng thời, cần xác định số lượng người dùng đồng thời tham gia vào quá trình kiểm thử, với mục tiêu mô phỏng các kịch bản tải thực tế và kiểm tra khả năng đáp ứng của hệ thống trong các tình huống khác nhau, từ tải tăng dần đến tải đột ngột hoặc tải duy trì trong thời gian dài Để đạt hiệu quả cao nhất, các giới hạn tải tối thiểu và tối đa mà hệ thống cần đáp ứng cũng cần được xác định, chẳng hạn như

số lượng yêu cầu tối đa mỗi giây, thời gian phản hồi tối đa cho mỗi yêu cầu, và tỷ lệ lỗi chấp nhận được

Phạm vi kiểm thử sẽ dựa trên môi trường kiểm thử mô phỏng chính xác hệ thống thực tế, bao gồm cả phần cứng, phần mềm và công cụ kiểm thử phù hợp, nhằm đảm bảo các kết quả kiểm thử phản ánh đúng hiệu suất của hệ thống trong môi trường sản xuất Phạm vi kiểm thử tải ở đây là kiểm tra tốc độ tải trang chủ khi có nhiều người dùng truy cập đồng thời; với số người truy cập là 500, 1000, 2000 trên 3 trang Shopee, trang trường Lao động - Xã hội (II), trang Study4

Trang 24

Trang chủ Shopee

Hình 1: Giao diện trang Shopee

Trang trường Lao động - Xã hội (II)

Hình 2: Giao diện trang trường Lao động - Xã hội (II)

Trang 25

Trang học tiếng anh Study4

Hình 3: Giao diện trang Study4

cụ như Apache JMeter sẽ được sử dụng để mô phỏng hàng ngàn người dùng ảo truy cập trang web đồng thời, hỗ trợ việc tạo tải lớn và thu thập các chỉ số như thời gian phản hồi, throughput, và tỷ lệ lỗi

Trong quá trình kiểm thử, các chỉ số hiệu suất sẽ được giám sát qua công cụ để phân tích kết quả một cách chi tiết Cuối cùng, dữ liệu thu thập sẽ được tổng hợp và đánh giá, từ đó xác định các vấn đề cần cải thiện và đề xuất các giải pháp tối ưu hóa cho

hệ thống

Trang 26

Loop count

Min Max

1000 120

Std Dev Error % Throughput

2000 180

Received Sent Avg Bytes

Bảng 1: Mô tả Test Case kiểm thử trang chủ Shopee

Trang 27

Loop count

Min Max

1000 120

Std Dev Error % Throughput

2000 180

Received Sent Avg Bytes

Bảng 2: Mô tả Test Case kiểm thử trang trường Lao động – Xã hội (II)

Trang 28

Loop count

Min Max

1000 120

Std Dev Error % Throughput

2000 180

Received Sent Avg Bytes

Bảng 3: Mô tả Test Case kiểm thử trang chủ Study4

Trang 29

2.4 Thiết lập môi trường kiểm thử

Thiết lập môi trường kiểm thử tải là một bước quan trọng để đảm bảo quá trình kiểm thử diễn ra hiệu quả và chính xác Đầu tiên, cần xác định các yêu cầu về phần cứng, bao gồm cấu hình máy chủ cho ứng dụng và cơ sở dữ liệu, đảm bảo đủ tài nguyên như CPU, RAM và ổ cứng để xử lý tải lớn

Bên cạnh đó, phần mềm cần thiết cũng cần được cài đặt, bao gồm hệ điều hành, máy chủ web (như Apache) Mạng cũng cần được cấu hình phù hợp để mô phỏng các điều kiện thực tế, bao gồm băng thông và độ trễ Tiếp theo, công cụ kiểm thử như Apache JMeter sẽ được cài đặt và cấu hình để tạo tải theo các kịch bản đã định

Sau khi xây dựng các kịch bản kiểm thử mô phỏng hành vi người dùng thực tế, cần theo dõi các chỉ số hiệu suất của hệ thống trong quá trình kiểm thử bằng các công

cụ giám sát như Summary Report Cuối cùng, kiểm tra lại môi trường để đảm bảo tất cả các thành phần hoạt động chính xác trước khi tiến hành chạy các bài kiểm thử tải và phân tích kết quả để đề xuất các giải pháp tối ưu hóa nếu cần thiết

2.5 Thực hiện kiểm thử tải

2.5.1 Thêm Thread Group

Nhấp chuột phải vào Test Plan > Add > Threads (Users) > Thread Group

Hình 4: Tạo Thread Group

Ngày đăng: 10/02/2025, 20:12

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1./ Ammann, P., & Offutt, J. (2016). Introduction to Software Testing (ấn bản thứ 2). Cambridge University Press Sách, tạp chí
Tiêu đề: Introduction to Software Testing
Tác giả: / Ammann, P., & Offutt, J
Năm: 2016
2./ Pressman, R. S., & Maxim, B. R. (2014). Software Engineering: A Practitioner's Approach (ấn bản thứ 8). New York: McGraw-Hill Education Sách, tạp chí
Tiêu đề: Software Engineering: A Practitioner's Approach
Tác giả: / Pressman, R. S., & Maxim, B. R
Năm: 2014
3./ Meier, J. D., Farre, C., Bansode, P., Barber, S., & Rea, D. (2007). Performance Testing Guidance for Web Applications. Microsoft Press Sách, tạp chí
Tiêu đề: Performance Testing Guidance for Web Applications
Tác giả: / Meier, J. D., Farre, C., Bansode, P., Barber, S., & Rea, D
Năm: 2007
4./ Sharma, S. (2015). Performance Testing: A Practical Guide. IT Revolution Press Sách, tạp chí
Tiêu đề: Performance Testing: A Practical Guide
Tác giả: / Sharma, S
Năm: 2015
5./ Apache JMeter. (n.d.). Apache JMeter Documentation. Truy cập từ https://jmeter.apache.org/ Sách, tạp chí
Tiêu đề: Apache JMeter Documentation
5./ Blazemeter. (n.d.). JMeter Load Testing: Step-by-Step Tutorials. Truy cập từ https://www.blazemeter.com/blog Sách, tạp chí
Tiêu đề: JMeter Load Testing: Step-by-Step Tutorials
6./ Guru99. (n.d.). JMeter Tutorial for Beginners. Truy cập từ https://www.guru99.com/jmeter-tutorials.html Sách, tạp chí
Tiêu đề: JMeter Tutorial for Beginners
7./ JMeter Load Testing Tutorials. (n.d.). YouTube. Truy cập từ https://www.youtube.com Sách, tạp chí
Tiêu đề: YouTube

HÌNH ẢNH LIÊN QUAN

Bảng 15  Đánh giá kết quả khi kiểm thử 2000 người với trang trường Lao - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Bảng 15 Đánh giá kết quả khi kiểm thử 2000 người với trang trường Lao (Trang 6)
Hình 19  Summary Report của 500 người dùng ảo  32 - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Hình 19 Summary Report của 500 người dùng ảo 32 (Trang 8)
Hình 1: Giao diện trang Shopee - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Hình 1 Giao diện trang Shopee (Trang 24)
Hình 2: Giao diện trang  trường Lao động - Xã hội (II) - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Hình 2 Giao diện trang trường Lao động - Xã hội (II) (Trang 24)
Hình 3: Giao diện trang  Study4 - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Hình 3 Giao diện trang Study4 (Trang 25)
Bảng 1: Mô tả Test Case kiểm thử trang chủ Shopee - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Bảng 1 Mô tả Test Case kiểm thử trang chủ Shopee (Trang 26)
Bảng 2: Mô tả Test Case kiểm thử trang trường Lao động – Xã hội (II) - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Bảng 2 Mô tả Test Case kiểm thử trang trường Lao động – Xã hội (II) (Trang 27)
Hình 10: Cấu hình yêu cầu để kiểm thử tải trang trường Lao động - Xã hội (II) - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Hình 10 Cấu hình yêu cầu để kiểm thử tải trang trường Lao động - Xã hội (II) (Trang 32)
Hình 12: Tạo Listener - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Hình 12 Tạo Listener (Trang 33)
Hình 13: Summary Report của 500 người dùng ảo - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Hình 13 Summary Report của 500 người dùng ảo (Trang 34)
Hình 19: Summary Report của 500 người dùng ảo - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Hình 19 Summary Report của 500 người dùng ảo (Trang 36)
Bảng 10: Tổng hợp kết quả kiểm thử của trang trường Lao động - Xã hội (II) - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Bảng 10 Tổng hợp kết quả kiểm thử của trang trường Lao động - Xã hội (II) (Trang 44)
Bảng 11: Kết quả trung bình (kết quả mong đợi) khi kiểm thử trang - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Bảng 11 Kết quả trung bình (kết quả mong đợi) khi kiểm thử trang (Trang 45)
Bảng 12: Mô tả Test Case kiểm thử tải trang - Tiểu luận môn kiểm thử phần mềm Đề tài kiểm thử tải trang web
Bảng 12 Mô tả Test Case kiểm thử tải trang (Trang 46)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w