1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN cứu KIỂM THỬ PHẦN mềm và CÔNG cụ KIỂM THỬ PHẦN mềm tự ĐỘNG JMETER

79 118 1

Đ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

Định dạng
Số trang 79
Dung lượng 5,88 MB

Nội dung

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN  NGHIÊN CỨU KIỂM THỬ PHẦN MỀM VÀ CÔNG CỤ KIỂM THỬ PHẦN MỀM TỰ ĐỘNG JMETER Hà Nội – Năm 2020 TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN  ĐẶNG THỊ QUỲNH NGHIÊN CỨU KIỂM THỬ PHẦN MỀM VÀ CÔNG CỤ KIỂM THỬ PHẦN MỀM TỰ ĐỘNG JMETER Chuyên ngành : Công nghệ thông tin Mã ngành : 7480201 NGƯỜI HƯỚNG DẪN: THS PHÍ THỊ HẢI YẾN Hà Nội – Năm 2020 LỜI CAM ĐOAN Em xin cam đoan đề tài: “Nghiên cứu kiểm thử phần mềm công cụ kiểm thử phần mềm tự động JMeter” cơng trình nghiên cứu độc lập hướng dẫn giáo viên hướng dẫn: ThS Phí Thị Hải Yến Ngồi khơng có chép người khác Đề tài, nội dung báo cáo thực tập sản phẩm mà em nỗ lực nghiên cứu trình học tập trường tham gia thực tập công ty FSoft Các số liệu, kết trình bày báo cáo hoàn toàn trung thực, em xin chịu hoàn toàn trách nhiệm, kỷ luật môn nhà trường đề có vấn đề xảy LỜI CẢM ƠN Để đồ án đạt kết tốt đẹp, em nhận hỗ trợ, giúp đỡ nhiều quan, tổ chức, cá nhân Với tình cảm sâu sắc, chân thành cho phép em bày tỏ lòng biết ơn sâu sắc đến tất cá nhân quan tạo điều kiện giúp đỡ trình học tập nghiên cứu đề tài Trước hết em xin gửi tới thầy cô khoa Công nghệ thông tin trường Đại học Tài nguyên môi trường Hà Nội lời chúc sức khỏe lời cảm ơn sâu sắc Với quan tâm, dạy dỗ, bảo tận tình chu đáo thầy cơ, đến em hồn thành đồ án, đề tài: "Nghiên cứu kiểm thử phần mềm công cụ kiểm thử phần mềm tự động JMeter" Đặc biệt em xin gửi lời cảm ơn chân thành tới giáo – ThS.Phí Thị Hải Yến quan tâm giúp đỡ, hướng dẫn em hoàn thành tốt đồ án tốt nghiệp thời gian qua Em xin bày tỏ lòng biết ơn đến lãnh đạo trường Đại học Tài nguyên môi trường Hà Nội, khoa phòng ban chức trực tiếp gián tiếp giúp đỡ em suốt trình học tập nghiên cứu đề tài Với điều kiện thời gian kinh nghiệm hạn chế học viên, đồ án tránh thiếu sót Em mong nhận bảo, đóng góp ý kiến thầy để em có điều kiện bổ sung, nâng cao ý thức mình, phục vụ tốt cơng tác thực tế sau Em xin chân thành cảm ơn! Hà Nội, tháng năm 2020 Sinh viên thực Đặng Thị Quỳnh MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC CHỮ VIẾT TẮT vi DANH MỤC CÁC HÌNH vii DANH MỤC CÁC BẢNG BIỂU ix MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu đề tài Phương pháp nghiên cứu đề tài Đối tượng phạm vi nghiên cứu đề tài Nội dung Kết đạt CHƯƠNG TỔNG QUAN VỀ CHẤT LƯỢNG PHẦN MỀM VÀ KIỂM THỬ PHẦN MỀM 1.1 Chất lượng phần mềm .4 1.1.1 Định nghĩa chất lượng phần mềm 1.1.2 Định nghĩa đảm bảo chất lượng phần mềm 1.2 Lỗi phần mềm 1.2.1 Định nghĩa lỗi phần mềm phân loại lỗi phần mềm 1.2.2 Các nguyên nhân gây lỗi phần mềm 1.2.3 Chi phí cho việc sửa lỗi phần mềm 1.2.4 Quy trình xử lý lỗi phần mềm 1.3 Kiểm thử phần mềm 1.3.1 Khái niệm kiểm thử phần mềm .7 1.3.2 Lý cần kiểm thử phần mềm 1.3.3 Mục tiêu kiểm thử phần mềm 1.3.4 Các nguyên tắc kiểm thử phần mềm 1.4 Các phương pháp kiểm thử phần mềm .9 1.4.1 Kiểm thử tĩnh – Static testing 1.4.2 Kiểm thử động – Dynamic testing 1.5 Các kỹ thuật kiểm thử phần mềm 10 1.5.1 Kiểm thử hộp đen (Black Box Testing – BBT) 10 1.5.2 Kiểm thử hộp trắng (White Box Testing – WBT) 12 1.5.3 Kiểm thử hộp xám (Gray Box Testing – GBT) 14 1.6 Quy trình kiểm thử phần mềm 17 1.6.1 Các bước quy trình kiểm thử phần mềm .17 1.6.3 Quy trình xây dựng kế hoạch kiểm thử 20 1.7 Kiểm thử tự động kiểm thử hiệu 21 1.7.1 Kiểm thử tự động (Automate Testing) 21 1.7.2 Kiểm thử hiệu 27 CHƯƠNG NGHIÊN CỨU CÔNG CỤ KIỂM THỬ HIỆU NĂNG JMETER 31 2.1 Giới thiệu chung JMeter .31 2.2 Đặc trưng JMeter .32 2.3.1 Test Plan .32 2.3.2 Các thành phần Test Plan 37 2.4 Webservice 39 2.5 JDBC REQUEST 41 Hình 2.13 Giao diện JDBC Connection Configuration 41 2.6 FTP REQUEST .43 CHƯƠNG ỨNG DỤNG CÔNG CỤ JMETER VÀO KIỂM THỬ HIỆU NĂNG HỆ THỐNG OPEN SOURCE SIMPLCOMMERCE 46 3.1 Giới thiệu Open Source SimplCommerce 46 3.1.1 Hệ thống Source SimplCommerce ? .46 3.2 Lập kế hoạch kiểm thử 48 3.2.1 Môi trường kiểm thử 48 3.2.2 Kịch kiểm thử .49 3.2.3 Phương pháp kiểm thử 51 3.3 Thực cấu hình chạy Jmeter 52 3.3.1 Cấu hình 52 3.3.2 Chạy để lấy kết 54 3.4 Phân tích, báo cáo, đánh giá kết kiểm thử 57 3.4.1 Phân tích .57 3.4.2 Kết báo cáo kiểm thử hiệu .59 3.4.3 Đánh giá, kết luận 64 KẾT LUẬN 66 TÀI LIỆU THAM KHẢO 67 DANH MỤC CÁC CHỮ VIẾT TẮT Thuật ngữ/ Chữ viết tắt IEEE Tên tiếng anh Nghĩa tiếng việt Institue of Electrical and Viện kỹ thuật điện điện tử - Electronic Engineers tổ chức phi lợi nhuận giúp phát triển, đổi công nghệ Test Cases User Framework Các trường hợp kiểm thử Tên đăng nhập Là tập hợp thư viện lớp sử dụng lại Là phần chương trình, Module mô-đun đảm nhiệm chức riêng Một thuật ngữ kiểm thử Validate phần mềm, kiểm tra tính hợp lệ liệu yếu JDK JRE NTLM Java Development Kit Java Runtime Environment New Technology LAN tố ứng dụng Bộ ứng dụng phát triển Java Môi trường chạy Java Bộ giao thức bảo Manager mật Microsoft nhằm cung cấp xác thực, tính tồn vẹn JDBC Java Database Connectivity bảo mật cho người dùng Kết nối sở liệu Java DANH MỤC CÁC HÌNH Hình 1.1 Kiểm thử hộp đen 10 Bảng 1.1 Ưu nhược điểm kiểm thử hộp đen 12 Bảng 1.2 Ưu nhược điểm kiểm thử hộp trắng 14 Bảng 1.3 Ưu nhược điểm phương pháp kiểm thử hộp xám .15 Bảng 1.4 Bảng so sánh ba phương pháp kiểm thử 16 Hình 1.2 Quy trình kiểm thử phần mềm 19 Hình 1.3 Mơ hình phát triển kiểm thử phần mềm hình chữ V 19 Hình 1.4 Quy trình kiểm thử tự động 24 Hình 1.5 Thời điểm phù hợp để thiết lập kế hoạch kiểm tra 25 Hình 1.6 Quy trình kiểm thử hiệu 29 Hình 2.1 Mơ tải trọng lớn Jmeter 32 Hình 2.2 Mở file chạy tool Jmeter 33 Hình 2.3 Giao diện JMeter 33 Hình 2.4 Chọn template 34 Hình 2.5 Đặt tên bước .34 Hình 2.6 Thêm Listener 35 Hình 2.7 Chỉnh sửa HTTP Proxy Server .36 Hình 2.8 Lưu kế hoạch kiểm thử 36 Hình 2.9 Thực chạy Test Plan 37 Hình 2.10 Các bước tạo SOAP WebService Test Plan 40 Hình 2.11 Nhập thông tin cho Header Manager 40 Hình 2.12 Nhập thơng tin tương ứng cho webservice .40 Hình 2.14 Mô tả Driver type 41 Hình 2.15 Giao diện JDBC Request 42 Hình 2.16 Giao diện JDBC Request 43 Hình 2.17 Tạo FTP Test Plan 44 Hình 2.18 Thêm FTP connection param 44 Hình 2.19 Lấy liệu file Zilla 44 Hình 2.20 Kiểm tra với phương thức GET 45 Hình 3.1 Trang chủ SimplCommerce 46 Hình 3.2 Trang giao diện sản phẩm .46 Hình 3.3 Trang giao diện giỏ hàng 47 Hình 3.4 Trang giao diện thẻ toán 47 Hình 3.5 Trang giao diện Admin website 48 Hình 3.6 Test Plan jmeter ghi lại với kịch kiểm thử số (mua hàng bản)52 Hình 3.7 Đặt Module, Assertion, Timer, Listener, User Parameter, Regular Expression .53 Hình 3.8 Cấu hình cho Thread, Loop, Ram-up 54 Hình 3.9 Di chuyển đến thư mục bin jmeter 55 Hình 3.10 Chạy lệnh tạo report html 55 Hình 3.11 Cửa sổ command prompt sau tạo xong report 56 Hình 3.12 File csv report tạo thành công 56 Hình 3.13 File html report tạo thành công sau csv file tạo 57 Hình 3.14 View report dashboard 57 Hình 3.15 Bảng Statistics 58 Hình 3.16 Error Top Error 58 Hình 3.7 Đặt Module, Assertion, Timer, Listener, User Parameter, Regular Expression Bước 4: Vơ hiệu hóa Thread Group khác, clear hết báo để tránh nhầm lẫn, điền thông tin vào Number of Threads Ram-up Period Loop Count Hình 3.8 Cấu hình cho Thread, Loop, Ram-up 3.3.2 Chạy để lấy kết Ở ta có cách để lấy kết quả: + Cách 1: Thêm Listener để xem kết test case Cách thực với lượng nhỏ thread không tổng quan cho tester + Cách 2: Sử dụng chức tạo report dashboard(NonGuiMode) jmeter để tạo report cho test case Trái ngược với cách 1, cách sử dụng cho nhiều user, request, có tính trực quan thường sử dụng dự án thực tế Ở đây, ta thực theo cách này: Bước 1: Mở cửa sổ command prompt để di chuyển thư mục bin jmeter với câu lệnh: Cú pháp: cd đường_dẫn_thư_mục_bin Hình 3.9 Di chuyển đến thư mục bin jmeter Bước 2: Xuất report html jmeter xem tổng quan bước test plan Cú pháp: jmeter -n -t thư_mục_chứa_file_testplan -l thư_mục_xuất_file_csv -e -o thư_mục_chứa_file_report Hình 3.10 Chạy lệnh tạo report html Hình 3.11 Cửa sổ command prompt sau tạo xong report Hình 3.12 File csv report tạo thành cơng Hình 3.13 File html report tạo thành cơng sau csv file tạo Hình 3.14 View report dashboard 3.4 Phân tích, báo cáo, đánh giá kết kiểm thử 3.4.1 Phân tích Sau chạy test thành cơng, thực phân tích vào viết báo cáo kiểm thử, quy trình sau: + Lấy số liệu Response time, Error%, Throughput (Throughput) Statistic Hình 3.15 Bảng Statistics + Lấy số liệu error error detail có để tìm ngun nhân xác Hình 3.16 Error Top Error 3.4.2 Kết báo cáo kiểm thử hiệu Bảng 3.5 Kết số lượng người truy cập tối đa STT Tên Kịch Bản Mua Hàng Cơ Bản Tìm Kiếm Sản Phẩm Xem Chi Tiết Sản Phẩm Xem Danh Mục Sản Phẩm Sort/Filter Sản Phẩm Chỉ Thêm Sản Phẩm Vào Giỏ Hàng Xem Chi Tiết Tài Khoản Và Xem Chi Tiết Order Số Lượng Người Truy Cập Tối Đa 100 50 100 100 50 100 100 Bảng 3.6 Kết test thực tế ST T Tên kịch Số lượng người (CCU) Set the ramup Duratio Loop n count Kết Respons 1 66.53 MAX Time Throughput Error(%) % CPU % RAM Respons Average 5525 e Mua hàng 50 120 300 100 120 300 Infinit e Infinit e MAX Time Throughput Error(%) % CPU % RAM Respons Average e MAX Time Throughput Error(%) % CPU % RAM Respons Average e 1 1 Tìm Kiếm Sản Xem MAX Time Throughput Error(%) % CPU % RAM Respons Average e Phẩm 50 120 300 1 Infinit e thực tế Average e Kết MAX Time Throughput Error(%) % CPU % RAM Respons Average 24.41 0.00% 2.1% 1.3% 570.39 264053 133.49 0.57% 16.02% 14.04% 243.61 % 19684 545.92 46.69% 25.64% 22.21% 36.25 1401 68.17% 0.00% 0.31% 0.2% 243 19684 545.92 46.69% 12.02% 10.04% 41.50 ST T Tên kịch Số lượng người (CCU) Set the ramup Duratio Loop n count Kết e MAX Time Throughput Error(%) % CPU % RAM Respons Average e Chi Tiết 50 120 300 Sản Infinit e Phẩm MAX Time Throughput Error(%) % CPU % RAM Respons Average e 100 120 300 Infinit e Xem Danh Mục Sản MAX Time Throughput Error(%) % CPU % RAM Respons Average e 1 1 Phẩm MAX Time Throughput Error(%) % CPU % RAM Respons Average e 50 120 300 100 120 300 Infinit e Infinit e MAX Time Throughput Error(%) % CPU % RAM Respons Average e MAX Time Throughput Kết thực tế 1268 55.75 0.00% 2.21% 1.2% 334.50 23258 522.19 0.07% 14.76% 13.21% 695.53 26496 501.38 0.18% 22.98% 18.56% 25.71 1412 76.55 0.00% 1.79% 1.2% 334.82 23834 543 0.07% 17.32% 15.45% 678.37 25710 528.25 ST T Tên kịch Số lượng người (CCU) Set the ramup Duratio Loop n count Kết Error(%) % CPU % RAM Respons Average e 1 1 Sort /Filter Sản MAX Time Throughput Error(%) % CPU % RAM Respons Average e Phẩm 50 120 300 Infinit e MAX Time Throughput Error(%) % CPU % RAM Respons Average e 1 1 Chỉ Thêm e Sản Phẩm MAX Time Throughput Error(%) % CPU % RAM Respons Average 50 120 300 Vào Infinit e Giỏ Hàng MAX Time Throughput Error(%) % CPU % RAM Respons Average e 100 120 300 Infinit e MAX Time Throughput Error(%) % CPU % RAM Kết thực tế 0.18% 25.32% 21.45% 216.16 8852 9.49 0.00% 3.4% 2.1% 305.00 37307 553.32 0.10% 28.34% 26.2% 29.74 1519 59.95 0.00% 1.4% 0.54% 304.36 22673 531.80 0.07% 18.32% 15.3% 691.83 27882 475.78 0.26% 23.56% 22.45% ST T Tên kịch Số lượng người (CCU) Set the ramup Duratio Loop n count Kết Respons 1 Xem Chi Tiết Tài 49.56 MAX Time Throughput Error(%) % CPU % RAM Respons Average 1910 e Khoản Và 50 120 300 Xem Infinit e Chi Tiết Order MAX Time Throughput Error(%) % CPU % RAM Respons Average e 100 120 300 Infinit e thực tế Average e Kết MAX Time Throughput Error(%) % CPU % RAM 46.63 0.00% 2.4% 1.2% 327.27 40965 516.07 0.05% 20.3% 19.3% 700.27 86236 442.79 0.17% 30,3% 26.7% Ở trường hợp 1, thực kiểm thử chức mua hàng với: - Số lượng người dùng ảo truy cập (CCU) - Set the ram-up (thời gian người dùng truy cập) 1s - Duration (thời lượng tối đa): 1s - Loop count (số lần thực hiện): Thì Response time (thời gian hệ thống phản hồi) + Trung bình là: 66.53s + Thời gian tối đa là: 5s Throughput số quan trọng cần phân tích Chỉ số đại diện cho khả xử lý server lượng truy cập lượng tải lớn Chỉ số cao performance server tốt ngược lại Trong trường hợp này, throughput là: 24,41% - mức xử lý trung bình trang web Tuy nhiên, tỉ lệ lỗi (Error) 0%, % CPU xử lý 2.1% % RAM nhớ 1.3% Những số cho thấy mức độ xử lý request web mức trung bình lại chiếm RAM nhớ xử lý CPU cao Tương tự vậy, tăng số lượng người dùng truy cập đến trang web, thời gian xử lý trung bình ngày tăng cao dung lượng nhớ RAM, tốc độ xử lý CPU lớn Nếu sử dụng loại máy tính có tốc độ xử lý nhớ RAM thấp kiểm thử với cơng cụ Jmeter dễ xảy tình trạng đơ, sập máy 3.4.3 Đánh giá, kết luận a Đánh giá - Nhìn chung chức web có tỷ lệ chiếm dụng % CPU % RAM mức trung bình Thời gian phản hồi trung bình tỷ lệ thuận với thời gian phản hồi tối đa số lượng CCU - Hệ thống phản hồi trung bình chậm 100 CCU chạy lúc hầu hết chức lên tới gần phút cho request - Tỷ lệ chiếm dụng CPU tăng ổn định tỷ lệ thuận với số lượng CCU % RAM chiếm dụng thấp tăng ổn định tăng số lượng CCU Tỷ lệ % RAM thấp, tối đa lên tới 30 % - Thời gian đáp ứng: Thời gian đáp ứng trung bình hệ thống đạt mức thấp, không ổn định, thực đẩy tải liên tục thời gian đáp ứng chênh lệch nhiều -> Khả phục hồi server App Hoạt động không ổn định, thực đẩy tải với số lượng CCU giống thời điểm khác cho tỷ lệ Pass khác - Tỷ lệ người dùng truy cập đồng thời đạt ngưỡng thấp Hầu hết chức cho phép truy cập đồng thời 100 CCU b Đề xuất - Ứng dụng chiếm tỷ lệ % RAM lần đẩy tải, thường tăng lên mà không giảm - Đề xuất tối ưu lại code để giải phóng dung lượng RAM sau lần thực transaction, tối ưu lại đầu api để độ phản hồi thấp - Đề xuất án đánh giá lại số lượng user thực tế sử dụng hệ thống Từ nâng cấp hệ thống đảm bảo đáp ứng yêu cầu số lượng người truy cập xem lại tiến trình Database truy xuất liệu chức để khắc phục lỗi c Kết luận - Hệ thống đạt yêu cầu kiểm thử hiệu mặt ngưỡng chiếm dụng % CPU % RAM - Thời gian đáp ứng chưa đáp ứng - Về số lượng người dùng truy cập đồng thời chưa đạt yêu cầu KẾT LUẬN 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 phương pháp, kỹ thuật kiểm thử phần mềm - Nghiên cứu cài đặt công cụ kiểm thử JMeter ứng dụng công cụ JMeter vào kiểm thử hiệu cho hệ thống Open Source Simplcomerce 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 để - Trong trình chạy phần mềm, kiến thức hạn chế 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 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 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 TÀI LIỆU THAM KHẢO A - Tài liệu tham khảo tiếng việt: [1] Nguyễn Ngọc Tú, Bộ tài liệu Software Testing, Đại học Hoa Sen [2] Phạm Ngọc Hùng, Trương Anh Hồng Đặng Văn Hưng, Bộ giáo trình kiểm thử phần mềm [3] Lê Đức Trung (2002), Công nghệ phần mềm, NXB Khoa học kỹ thuật [4] Nguyễn Quang Tồn, Bộ giáo trình giảng kiểm thử hiệu với Jmeter [5] Nguyễn Quốc Hùng (2010), Kiểm thử ứng dụng web, LogiGear Việt Nam [6] Trần Tường Thụy, Phạm Quang Hiền (2013), Kiểm thử phần mềm, NXB Thông Tin Truyền Thông B – Tài liệu tham khảo tiếng anh: [1]Tài liệu ISTQB [2]IEEE Standard Glossary of Software Engineering Terminology ... chất lượng phần mềm, kiểm thử phần mềm nguyên tắc kiểm thử, phương pháp kiểm thử, giai đoạn kiểm thử phần mềm, kiểm thử tự động kiểm thử hiệu Chương 2: Nghiên cứu công cụ kiểm thử hiệu Jmeter: ... thử phần mềm công cụ kiểm thử phần mềm tự động, có công cụ kiểm thử phần mềm Jmeter 2.2 Mục tiêu cụ thể: - Nắm kiến thức kiểm thử phần mềm, quy trình thực hiện, triển khai cơng việc kiểm thử phần. .. thử phần mềm, kiểm thử hiệu website - Công cụ kiểm thử phần mềm tự động JMeter 4.2 Phạm vi nghiên cứu - Tìm hiểu sở lý thuyết kiểm thử phần mềm, kiểm thử hiệu website - Nghiên cứu, tìm hiểu cách

Ngày đăng: 28/10/2020, 08:30

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w