NGHIÊN CỨU VÀ ỨNG DỤNG CÔNG CỤ JMETER TRONG KIỂM THỬ HIỆU NĂNG WEBSITE

75 24 0
NGHIÊN CỨU VÀ ỨNG DỤNG CÔNG CỤ JMETER TRONG KIỂM THỬ HIỆU NĂNG WEBSITE

Đ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

Trong thời đại công nghệ hiện nay, kiểm thử phần mềm là một bước quan trọng trong quá trình phát triển phần mềm. Một trong những phương pháp phổ biến được sử dụng trong kiểm thử phần mềm là kiểm thử hiệu năng website. Để thực hiện kiểm thử hiệu năng này, các chuyên gia thường sử dụng các công cụ hỗ trợ, trong đó Jmeter là một công cụ được sử dụng rộng rãi và được đánh giá cao bởi cộng đồng chuyên gia kiểm thử phần mềm. Với mong muốn tìm hiểu, nghiên cứu và ứng dụng công cụ Jmeter để thực hiện kiểm thử hiệu năng website, chúng tôi đã lựa chọn đề tài Tìm hiểu công cụ kiểm thử phần mềm Jmeter và ứng dụng kiểm thử hiệu năng website nhằm đưa ra các kết quả nghiên cứu và đánh giá về quá trình sử dụng công cụ Jmeter để kiểm thử hiệu năng website

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - BÁO CÁO BÀI TẬP LỚN HỌC PHẦN KIỂM THỬ PHẦN MỀM NGHIÊN CỨU VÀ ỨNG DỤNG CÔNG CỤ JMETER TRONG KIỂM THỬ HIỆU NĂNG WEBSITE GVHD: Hoàng Quang Huy Nhóm: Sinh viên: Nguyễn Bá Tùng - 2020603041 Hồ Việt Hùng - 2020604142 Vũ Hồng Sơn - 2020601027 Nguyễn Văn Lĩnh - 2020603364 Lớp: 20222IT6084003 Khóa: 15 Hà Nội – Năm 2023 MỤC LỤC MỞ ĐẦU .1 Lý lựa chọn đề tài Mục tiêu Mục đích Ý nghĩa lý luận thực tiễn CHƯƠNG 1: TỐNG QUAN VỀ KIỂM THỬ PHẦN MỀM .2 1.1 Khái niệm 1.1.1 Khái niệm kiểm thử phần mềm 1.1.2 Vai trò 1.1.3 Mục đích 1.2 Các loại kiểm thử 1.2.1 Kiểm thử chức (Functional testing) 1.2.2 Kiểm thử phi chức (Non-functional testing) 1.2.3 Kiểm thử cấu trúc/kiến trúc phần mềm (Structural testing) 1.2.4 Kiểm thử liên quan đến thay đổi 1.3 Quy trình kiểm thử 1.3.1 Requirement Analysis (Phân tích yêu cầu) 1.3.2 Test planning (Lập kế hoạch kiểm thử) 1.3.3 Test case development (Phát triển kịch kiểm thử) 1.3.4 Environment setup (Thiết lập môi trường kiểm thử) 1.3.5 Test execution (Thực kiểm thử) 1.3.6 Test cycle closure (Kết thúc chu kỳ kiểm thử) 1.4 Các kỹ thuật kiểm thử phần mềm 1.4.1 Kiểm thử Kiểm thử hộp đen (Black Box Testing – BBT) 1.4.2 Kiểm thử hộp trắng (White Box Testing – WBT) 12 1.5 Kiểm thử hiệu 13 1.5.1 Khái niệm 13 1.5.2 Tầm quan trọng kiểm thử hiệu 14 1.5.3 Các loại kiểm thử hiệu 14 1.5.4 Những vấn đề chung hiệu hệ thống 15 1.5.5 Quy trình kiểm thử hiệu 16 1.5.6 Một số công cụ kiểm thử hiệu 17 CHƯƠNG 2: TÌM HIỂU CƠNG CỤ KIỂM THỬ APACHE JMETER 19 3.1 Giới thiệu công cụ 19 3.2 Đặc điểm JMeter 19 3.3 Các thức hoạt động JMeter 22 3.4 Giới thiệu số thành phần JMeter 22 3.4.1 HTTP Request sampler 25 3.4.2 Listeners 26 3.4.3 HTTP(S) Test Script Recorder 29 3.5 Cách cài đặt tạo kịch kiểm thử hiệu với Jmeter 30 3.5.1 Cách cài đặt Jmeter 30 3.5.2 Cách tạo kịch kiểm thử hiệu với Jmeter 32 CHƯƠNG 3: KIỂM THỬ HIỆU NĂNG WEBSITE BẰNG CÔNG CỤ KIỂM THỬ JMETER APACHE 38 3.1 Giới thiệu Website Natours 38 3.1.1 Giới thiệu chung Website 38 3.1.2 Một số chức Natours 39 3.2 Kiểm thử Website Natours 41 3.2.1 Lập kế hoạch kiểm thử (cả nhóm) 41 3.2.2 Thiết lập tham số ban đầu 43 3.2.3 Nguyễn Bá Tùng – Kiểm thử chức đăng nhập 45 3.2.4 Hồ Việt Hùng – Kiểm thử chức đăng kí tài khoản 49 3.2.5 Nguyễn Văn Lĩnh – Kiểm thử chức truy cập tour 53 3.2.6 Vũ Hồng Sơn – Kiểm thử chức toán 59 3.2.7 Báo cáo kiểm thử hiệu Website Natours 63 3.2.8 Phân tích kết kiểm thử hiệu Website Natours 65 KẾT LUẬN VÀ KIẾN NGHỊ 66 TÀI LIỆU THAM KHẢO 68 DANH MỤC BẢNG BIỂU Bảng Test case chức đăng nhập 45 Bảng Test case chức đăng kí tài khoản 49 Bảng 3 Test case chức truy cập tour 53 Bảng Test case chức toán 59 DANH MỤC HÌNH ẢNH Hình 1 Giai đoạn phân tích yêu cầu Hình Kiểm thử hộp đen Hình Quy trình kiểm thử hiệu 16 Hình Ưu điểm Apache Jmeter………………………………………………………….20 Hình 2 Nhược điểm Apache JMeter 21 Hình Quy trình làm việc hồn chỉnh JMeter 22 Hình Một số phần tử phổ biến Jmeter 23 Hình Giao diện Thread Group 23 Hình Các thành phần HTTP Request 25 Hình Kết phản hồi dạng Results Tree 27 Hình Giao diện Sumary report 27 Hình Kết hiển thị Graph Results 28 Hình 10 Giao diện HTTP(S) Test Script Recorder 29 Hình 11 Tải Apache Jmeter 31 Hình 12 Giải nén file zip vừa tải 31 Hình 13 Chạy Jmeter 32 Hình 14 Thêm Thread Group 32 Hình 15 Cài đặt Thread Properties 33 Hình 16 Thêm phần tử HTTP request default 33 Hình 17 Cấu hình cho phần tử HTTP request default 34 Hình 18 Thêm phần tử HTTP request 34 Hình 19 Nhập Path HTTP request 35 Hình 20 Thêm Graph result 35 Hình 21 Chạy Jmeter 36 Hình 22 Kết test 36 Hình 23 Phân tích kết test 37 Hình Trang chủ Website Natours…………………………… …………………… 39 Hình Chức Đăng kí thành viên 39 Hình 3 Chức đăng nhập 40 Hình Chi tiết tour 40 Hình Chức tốn thẻ 41 Hình Thêm Thread Group cho Test Plan 43 Hình Cấu hình Browsers 43 Hình Add certificates 44 Hình HTTP(S) Test Script Recorder 44 Hình 10 Kết trình lấy mẫu kiểm thử Website Natours 45 Hình 11 Đặt địa http default truy cập vào đăng nhập 45 Hình 12 Đặt Path truy cập vào chức đăng nhập 46 Hình 13 Đặt Path truy cập vào trang đăng nhập 46 Hình 14 Thiết lập Thread Properties test case cho LOGIN 46 Hình 15 Kết chạy test case LOGIN hiển thị Summary Report 47 Hình 16 Kết test case LOGIN hiển thị Graph Results 47 Hình 17 Kết test case LOGIN hiển trị View Results Tree 47 Hình 18 Thiết lập Thread Properties test case cho LOGIN 48 Hình 19 Kết test case LOGIN hiển trị View Results Tree 48 Hình 20 Kết test case LOGIN hiển thị Summary Report 48 Hình 21 Kết test case LOGIN hiển thị Graph Results 48 Hình 22 Đặt địa http default truy cập vào đăng kí 49 Hình 23 Đặt Path truy cập vào chức đăng kí tài khoản 50 Hình 24 Đặt Path truy cập vào trang đăng kí tài khoản 50 Hình 25 Thiết lập Thread Properties cho test case REGISTER 50 Hình 26 Kết test case REGISTER hiển thị Graph Results 51 Hình 27 Kết test case REGISTER hiển trị View Results Tree 51 Hình 28 Thiết lập Thread Properties test case REGISTER 52 Hình 29 Kết test case REGISTER hiển trị View Results Tree 52 Hình 30 Kết test case REGISTER hiển thị Summary Report 53 Hình 31 Kết test case REGISTER hiển thị Graph Results 53 Hình 32 Đặt địa http default truy cập vào tour 54 Hình 33 Đặt Path truy cập vào tour the sea explorer 54 Hình 34 Đặt Path truy cập vào tour the forest hiker 55 Hình 35 Đặt Path truy cập vào tour the snow adventurer 55 Hình 36 Thiết lập Thread Properties test case TOUR 56 Hình 37 Kết test case TOUR hiển thị Summary Report 56 Hình 38 Kết test case TOUR hiển thị Graph Results 56 Hình 39 Kết test case TOUR hiển trị View Results Tree 57 Hình 40 Thiết lập Thread Properties test case TOUR 57 Hình 41 Kết test case TOUR hiển trị View Results Tree 58 Hình 42 Kết test case TOUR hiển thị Summary Report 58 Hình 43 Kết quảtest case TOUR hiển thị Graph Results 58 Hình 44 Đặt địa http truy cập vào trang toán 59 Hình 45 Đặt địa hỉ http default truy cập vào chức toán 60 Hình 46 Thiết lập Thread Properties cho test case PAYMENT 60 Hình 47 Kết test case PAYMENT hiển thị Summary Report 61 Hình 48 Kết test case PAYMENT hiển thị Graph Results 61 Hình 49 Kết test case PAYMENT hiển trị View Results Tree 61 Hình 50 Thiết lập Thread Properties cho test case PAYMENT 62 Hình 51 Kết test case PAYMENT hiển trị View Results Tree 62 Hình 52 Kết test case hiển thị Summary Report 63 Hình 53 Kết test case hiển thị Graph Results 63 MỞ ĐẦU Lý lựa chọn đề tài Trong thời đại công nghệ nay, kiểm thử phần mềm bước quan trọng trình phát triển phần mềm Một phương pháp phổ biến sử dụng kiểm thử phần mềm kiểm thử hiệu website Để thực kiểm thử hiệu này, chuyên gia thường sử dụng cơng cụ hỗ trợ, Jmeter cơng cụ sử dụng rộng rãi đánh giá cao cộng đồng chuyên gia kiểm thử phần mềm Với mong muốn tìm hiểu, nghiên cứu ứng dụng công cụ Jmeter để thực kiểm thử hiệu website, chúng tơi lựa chọn đề tài "Tìm hiểu công cụ kiểm thử phần mềm Jmeter ứng dụng kiểm thử hiệu website" nhằm đưa kết nghiên cứu đánh giá trình sử dụng công cụ Jmeter để kiểm thử hiệu website Mục tiêu - Tìm hiểu kỹ thuật kiểm thử hiệu website - Cách sử dụng công cụ Apache Jmeter - Ứng dụng công cụ vào việc kiểm thử hiệu website nhóm Mục đích Báo cáo cung cấp kiến thức công cụ kiểm thử phần mềm Jmeter kỹ thuật kiểm thử hiệu website Ngoài ra, báo cáo trình bày chi tiết trình nghiên cứu ứng dụng công cụ Jmeter để thực kiểm thử hiệu website Mục đích báo cáo giúp người hiểu rõ công cụ Jmeter kỹ thuật kiểm thử hiệu website, đồng thời hỗ trợ kiểm thử phần mềm trình thực kiểm thử hiệu website Ý nghĩa lý luận thực tiễn Phần nghiên cứu lý thuyết cung cấp cách nhìn tổng quát trình kiểm thử phần mềm kiểm thử hiệu Đề tài ứng dụng kiến thức học công nghệ phần mềm, kiểm thử phần mềm góp phần nghiên cứu hiệu ứng dụng web môi trường có hoạt động với số lượng người dùng lớn CHƯƠNG 1: TỐNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Khái niệm 1.1.1 Khái niệm kiểm thử phần mềm Kiểm thử phần mềm kiểm tra tiến hành để cung cấp cho bên liên quan thông tin chất lượng sản phẩm dịch vụ kiểm thử 1.1.2 Vai trò Kiểm thử cung cấp cho doanh nghiệp quan điểm, cách nhìn độc lập phần mềm để từ cho phép đánh giá thấu hiểu rủi ro trình triển khai phần mềm Trong kỹ thuật kiểm thử giới hạn việc thực chương trình ứng dụng với mục đích tìm lỗi phần mềm mà cịn trình phê chuẩn xác minh chương trình máy tính, ứng dụng, sản phẩm 1.1.3 Mục đích - Đáp ứng yêu cầu hướng dẫn thiết kế phát triển phần mềm - Thực cơng việc kỳ vọng - Có thể triển khai với đặc tính tương tự - Đáp ứng nhu cầu bên liên quan - Phát lỗi phần mềm để từ khắc phục sửa chữa Việc kiểm thử khơng thể khẳng định chức sản phẩm điều kiện, mà khẳng định khơng hoạt động điều kiện cụ thể 1.2 Các loại kiểm thử Trong kiểm thử Test Type chia thành loại: - Testing of function (Functional testing): Kiểm thử chức - Testing of software product characteristics (Non – Functional testing) : Kiểm thử đặc tính sản phẩm phần mềm - Testing of software structure/architecture (Structural testing): Kiểm thử cấu trúc/ kiến trúc phần mềm - Testing related to changes (Confirmation and regression testing): Kiểm thử liên quan đến thay đổi 1.2.1 Kiểm thử chức (Functional testing) Kiểm tra chức kiểm tra xem hệ thống có hoạt động theo yêu cầu nghiệp vụ không ? Kiểm thử chức thực tất mức kiểm thử Kiểm thử chức thực theo quan điểm: requirements – based business – process – based - Requirements – based: sử dụng đặc tả yêu cầu hệ thống làm sở để design test Sử dụng bảng nội dung đặc tả yêu cầu danh sách mục kiểm thử không kiểm thử, xét độ ưu tiên yêu cầu dựa tiêu chí rủi ro sử dụng độ ưu tiên để kiểm thử Điều đảm bảo phần quan trọng kiểm thử - Business – process – based: sử dụng kiến thức quy trình nghiệp vụ Quy trình nghiệp vụ mơ tả kịch liên quan đến nghiệp vụ ngày hệ thống Kiểm thử chức bao gồm bước: - Xác định chức mà phần mềm mong muốn thực - Tạo liệu đầu vào dựa tài liệu đặc tả kỹ thuật chức - Xác định kết đầu dựa tài liệu đặc tả kỹ thuật chức - Thực trường hợp kiểm thử - So sánh kết thực tế kết mong muốn Các loại kiểm thử chức bao gồm: - Unit testing: Kiểm thử đơn vị - Smoke testing: Kiểm thử khói - Sanity testing: Kiểm thử tình trạng - Interface testing : Kiểm thử giao diện - Integration testing : Kiểm thử tích hợp - System testing : Kiểm thử hệ thống - Regression Testing : Kiểm thử hồi quy - Acceptance testing : Kiểm thử chấp nhận 54 3.2.5.2 Thực kiểm thử Hình 32 Đặt địa http default truy cập vào tour Hình 33 Đặt Path truy cập vào tour the sea explorer 55 Hình 34 Đặt Path truy cập vào tour the forest hiker Hình 35 Đặt Path truy cập vào tour the snow adventurer - TC1: Kiểm thử chức đăng nhập với thông số: + Số user: + Thời gian: + Vòng lặp: 56 Hình 36 Thiết lập Thread Properties test case TOUR Hình 37 Kết test case TOUR hiển thị Summary Report Hình 38 Kết test case TOUR hiển thị Graph Results 57 Hình 39 Kết test case TOUR hiển trị View Results Tree - TC2: Kiểm thử chức đăng nhập với thông số: + Số user: 50 + Thời gian: 50 + Vòng lặp: Hình 40 Thiết lập Thread Properties test case TOUR 58 Hình 41 Kết test case TOUR hiển trị View Results Tree Hình 42 Kết test case TOUR hiển thị Summary Report Hình 43 Kết quảtest case TOUR hiển thị Graph Results 59 Kết luận: Với lưu lượng người dùng thấp hay cao website đáp ứng với việc truy cập người dùng để xem thơng tin chi tiết tour chọn Tốc độ truy cập nhanh 3.2.6 Vũ Hồng Sơn – Kiểm thử chức tốn 3.2.6.1 Phân tích thiết kế kiểm thử Bảng Test case chức tốn 3.2.6.2 Thực kiểm thử Hình 44 Đặt địa http truy cập vào trang toán 60 Hình 45 Đặt địa hỉ http default truy cập vào chức toán - TC1: Kiểm thử chức đăng nhập với thông số: + Số user: + Thời gian: 10 + Vịng lặp: Hình 46 Thiết lập Thread Properties cho test case PAYMENT 61 Hình 47 Kết test case PAYMENT hiển thị Summary Report Hình 48 Kết test case PAYMENT hiển thị Graph Results Hình 49 Kết test case PAYMENT hiển trị View Results Tree 62 - TC2: Kiểm thử chức đăng nhập với thông số: + Số user: 50 + Thời gian: 50 + Vòng lặp: Hình 50 Thiết lập Thread Properties cho test case PAYMENT Hình 51 Kết test case PAYMENT hiển trị View Results Tree 63 Hình 52 Kết test case hiển thị Summary Report Hình 53 Kết test case hiển thị Graph Results Kết luận: Với lưu lượng người thay đổi việc truy cập vào trang tốn thực chức toán Web Natours phải hồi đầy đủ với tốc độ ổn định 3.2.7 Báo cáo kiểm thử hiệu Website Natours Bảng 3.1 Báo cáo kiểm thử hiệu Website Natours STT Tên Số lượng Thread người Group dùng LOGIN 50 Kết mong muốn Kết Kết thực tế (Pass/Fail) Average 46000 54771 F Min 40000 45568 F Max 60000 65597 F Error % 0.00% 20.43% F Throughput 30.0/min 43.3/min P 64 STT Tên Số lượng Thread người Group dùng Kết Kết thực tế (Pass/Fail) 1.33 0.59 F Sent KB/sec 0.50 0.42 P Average 40000 49993 F Min 20000 21302 F Max 50000 78155 F Error % 0.00% 0.00% P Throughput 10.2/min 15.2/min F Receives 0.30 0.38 F Sent KB/sec 0.20 0.14 P Average 8500 10176 F Min 6000 5689 P Max 13000 15614 F Error % 0.00% 0.00% P Throughput 3.0/sec 5.8/sec F Receives 50.00 65.08 P Sent KB/sec 0.70 0.91 F Average 5500 4832 P Min 100 114 F Max 10000 13796 F Error % 1.00% 2.00% F Throughput 10/sec 12.3/sec P Receives 20 20.99 F Kết mong muốn Receives KB/sec REGISTER 20 KB/sec TOUR 100 KB/sec PAYMENT 100 KB/sec 65 STT Tên Số lượng Thread người Group dùng Kết mong muốn Sent KB/sec 10.00 Kết Kết thực tế (Pass/Fail) 12.78 F 3.2.8 Phân tích kết kiểm thử hiệu Website Natours Từ kết kiểm thử hiệu nhận sau nhiều lần chạy tải với nhiều mẫu thử, số lượng người dùng mẫu thử khác nhau, ta nhận kết chi tiết cho hiệu Website Natours sau: máy chủ Natours máy chủ miễn phí, nên hiệu Website bị ảnh hưởng nhiều - Website hoạt động hiệu với đồng thời khoảng 10 - 30 request tương ứng với 50 người dùng đồng thời chức đăng nhập đăng kí Cịn chức truy cập vào tour tốn đáng ứng lên với vài trăm người - Phần trăm lỗi, thời gian phản hồi tăng lên theo tăng lên số lượng người dùng truy cập vào Website - Do Website sử dụng máy chủ miễn phí nên Maruchan Shop có tượng bị lỗi server tải, cần khoảng thời gian từ 30 - 60 phút để hồi lại 66 KẾT LUẬN VÀ KIẾN NGHỊ Kết đạt hạn chế Qua trình nghiên cứu triển khai ứng dụng kiểm thử hiệu website sử dụng công cụ Jmeter Apache, em đạt số kết sau: - Nắm sở lý thuyết kiểm thử, kỹ thuật kiểm thử, số vấn đề cần ý thực kiểm thử cho ứng dụng Web - Nắm sở lý thuyết kiểm thử hiệu năng, yếu tố kiểm thử kiểm thử hiệu năng, yếu tố ảnh hưởng tới việc kiểm thử hiệu - Tìm hiểu cơng cụ kiểm thử Jmeter áp dụng vào việc kiểm thử hiệu cho website - Chức tốn chức đăng kí tour chịu có nhiều user truy cập Bên cạnh kết đạt được, đề tài cịn có hạn chế sau: - Chưa sử dụng công cụ kiểm thử Jmeter cách triệt để - Chức đăng nhập đăng kí bị tải có nhiều user đăng nhập lúc - Trong q trình chạy phần mềm, chất lượng mạng cịn không ổn định nên kết test mang tính tương đối Hướng phát triển Đề tài chủ yếu tập trung nghiên cứu ứng dụng kiểm thử hiệu ứng dụng web, sử dụng công cụ Jmeter để mô tạo môi trường kiểm thử, Việc sử dụng cơng cụ hạn chế việc đánh giá xác hiệu ứng dụng web Tối ưu hóa mở rộng hiệu suất : Mở rộng hiệu suất để chức đăng kí đăng nhập khơng bị q tải có nhiều user đăng nhập lúc Hướng nghiên cứu, phát triển đề tài sử dụng nhiều công cụ khác thực môi trường phần cứng phần mềm khác kết xác đồng thời tìm ưu khuyết điểm công cụ khác 67 so với Jmeter để có nhìn khách quan rõ ràng công cụ kiểm thử, để có nhận xét xác, đắn công cụ Jmeter Apache 68 TÀI LIỆU THAM KHẢO [1] https://jmeter.apache.org/usermanual/component_reference.html [2] https://www.guru99.com/jmeter-tutorials.html [3] https://spiderum.com/bai-dang/JMeter-va-the-gioi-Performance-Testing-v4z [4] https://bizflycloud.vn/tin-tuc/jmeter-cong-cu-kiem-thu-hieu-nang-cho-web-serverhieu-qua-20180601153212517.htm

Ngày đăng: 13/07/2023, 08:38

Tài liệu cùng người dùng

Tài liệu liên quan