ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGKHOA CÔNG NGHỆ THÔNG TIN BÁO CÁOTHỰC TẬP CHUYÊN NGÀNHĐề tài: TÌM HIỂU CÔNG CỤ KIỂM THỬ JMETER VÀ ỨNG DỤNG KIỂM THỬ HIỆU NĂNG WEBSITESinh viên thực hiện: Ngô Khánh LyLớp: KTPM – K12AGiảng viên hướng dẫn: Nguyễn Thu PhươngThái Nguyên, tháng 03 năm 2017 Mục LụcDanh mục hình ảnh2Danh mục các bảng3LỜI NÓI ĐẦU4LỜI CẢM ƠN5CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM61.1 Khái niệm61.2 Các kỹ thuật cơ bản của kiểm thử phần mềm61.2.1 Kiểm thử hộp đen (Black Box Testing – BBT)61.2.2 Kiểm thử hộp trắng (White Box Testing – WBT)101.2.3 Kiểm thử hộp xám (Gray Box Testing – GBT)121.3 Quy trình kiểm thử phần mềm131.4 Các giai đoạn hay mức độ kiểm thử phần mềm141.4.1 Kiểm thử đơn vị (Unit test)141.4.2 Kiểm thử tích hợp (Intergration Test)141.4.3 Kiểm thử hệ thống (System Test)151.4.4 Kiểm thử hồi quy (Regression Test)151.4.5 Kiểm thử chấp nhận (Acceptance Test)161.5 Kiểm thử tự động (Automate Testing)161.5.1 Tổng quan về kiểm thử tự động171.5.2 Quy trình kiểm thử tự động171.5.3 Ưu nhược điểm của kiểm thử tự động211.6 Kiểm thử ứng dụng web211.6.1 Giới thiệu về kiểm thử ứng dụng web211.6.2 Phương pháp kiểm thử ứng dụng web22CHƯƠNG 2: KIỂM THỬ HIỆU NĂNG PHẦN MỀM VÀ CÔNG CỤ KIỂM THỬ HIỆU NĂNG JMETER262.1 Kiểm thử hiệu năng phần mềm262.1.1 Định nghĩa kiểm thử hiệu năng262.1.2 Các yếu tố ảnh hưởng đến kiểm thử hiệu năng262.1.3 Các giai đoạn kiểm thử hiệu năng272.2 Công cụ kiểm thử hiệu năng website tự động Jmeter292.2.1 Giới thiệu292.2.2 Đặc trưng của Jmeter292.2.3 Các thành phần chính của Jmeter30CHƯƠNG 3: ỨNG DỤNG JMETER KIỂM TRA HIỆU NĂNG WEBSITE363.1 Giới thiệu Website363.2 Thực hiện Test373.2.1 Thiết lập các tham số của bộ kiểm thử373.2.2 Chạy test và lấy kết quả test373.3 Giải thích và phân tích kết quả38KẾT LUẬN40Tài liệu tham khảo41
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO THỰC TẬP CHUYÊN NGÀNH Đề tài: TÌM HIỂU CÔNG CỤ KIỂM THỬ JMETER VÀ ỨNG DỤNG KIỂM THỬ HIỆU NĂNG WEBSITE Sinh viên thực Lớp Giảng viên hướng dẫn : Ngô Khánh Ly : KTPM – K12A : Nguyễn Thu Phương Thái Nguyên, tháng 03 năm 2017 Mục Lục Danh mục hình ảnh Danh mục bảng LỜI NÓI ĐẦU Lý lựa chọn đề tài Hiện nay, Internet trở thành phần thiếu sống với hàng tỉ website cung cấp dịch vụ thiết yếu tìm kiếm thông tin, giải trí, học tập, mua bán hàng hóa,… Bên cạnh yếu tố ảnh hưởng tới chất lượng website giao diện, khả tương thích, chức ứng dụng web bảo mật yếu tố hiệu vấn đề quan trọng để đánh giá hệ thống khả mở rộng web Việc xác định số người dùng tối đa, sức tải công việc thời gian xử lý giao tác ứng dụng web quan trọng trình xây dựng phát triển web Kiểm thử hiệu nhằm xác định tốc độ, khả phân tải mức độ tin tưởng ứng dụng môi trường nhiều người dùng, có nhiều hoạt động khác Công cụ kiểm tra tự động để kiểm tra hiệu ứng dụng web điều kiện có điều chỉnh mức độ tải kể đến như: LoadRunner, Jmeter Apache, LoadStorm, Pylot, The Grinder,… nhiên, với khả chạy nhiều hệ điều hành, hỗ trợ đa giao thức hoàn toàn miễn phí nên Jmeter xem trội Vì vậy, xuất phát từ nhu cầu thực tiễn, em chọn đề tài báo cáo thực tập chuyên ngành : “Tìm hiểu công cụ kiểm thử phần mềm Jmeter ứng dụng kiểm thử hiệu website” Mục tiêu Đề tài tìm hiểu sở lý thuyết kiểm thử, kiểm thử hiệu cách triển khai sử dụng công cụ Jmeter để thực kỹ thuật kiểm thử hiệu Ý 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 LỜI CẢM ƠN Trong trình thực đề tài, em nhận giúp đỡ bảo tận tình cô giáo hướng dẫn Nguyễn Thu Phương Em xin chân thành cảm ơn cô giúp em hoàn thành báo cáo Mặc dù cố gắng hoàn thiện đề tài trình thực nhiều thiếu sót mong quý thầy cô tận tình bảo Em xin chân thành cảm ơn! Thái Nguyên, tháng năm 2017 Sinh viên thực Ngô Khánh Ly CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Khái niệm Theo IEEE, kiểm thử trình vận hành hệ thống thành phần điều kiện xác định, quan sát ghi nhận kết đưa đánh giá hệ thống thành phần Kiểm thử tiến trình thực thi chương trình với mục đích tìm thấy lỗi (Myers, The art of software testing) Kiểm thử phần mềm hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ phần mềm môi trường chúng dự định triển khai nhằm cung cấp cho người có lợi ích liên quan thông tin chất lượng sản phẩm hay dịch vụ phần mềm Mục đích kiểm thử phần mềm tìm lỗi hay khiếm khuyết phần mềm đảm bảo hiệu hoạt động tối ưu phần mềm nhiều ngành khác (Wikipedia) Mỗi cách định nghĩa đưa khía cạnh khác việc tìm hiểu kiểm thử phần mềm, nói chung lại, Software testing kỹ thuật phần mềm “xác minh xác nhận” (Verification and Validation) Đầu tiên, hành động Verification tức trình đánh giá hệ thống thành phần để xác định xem sản phẩm giai đoạn phát triển định đáp ứng điều kiện áp đặt vào lúc bắt đầu giai đoạn hay không Các hoạt động Verification bao gồm việc kiểm thử đánh giá Validation trình đánh giá hệt thống thành phần cuối trình phát triển để xác định xem đáp ứng yêu cầu quy định hay không 1.2 Các kỹ thuật kiểm thử phần mềm 1.2.1 Kiểm thử hộp đen (Black Box Testing – BBT) 1.2.1.1 Định nghĩa Kiểm thử hộp đen hay gọi kiểm tra chức thử nghiệm hành vi Xem chương trình “hộp đen”, hoàn toàn không quan tâm cách cư xử cấu trúc bên chương trình Thay vào đó, tập trung vào tìm trường hợp mà chương trình không thực theo đặc tả Hình 1.1 Kiểm thử hộp đen Phương pháp đặt tên chương trình phần mềm, mắt tester, giống hộp đen; bên mà người ta nhìn thấy Phương pháp cố gắng tìm lỗi loại sau: • Chức không xác thiếu • Lỗi giao diện • Lỗi cấu trúc liệu truy cập sở liệu bên • Hành vi hiệu suất lỗi • Khởi tạo chấm dứt lỗi 1.2.1.2 Các phương pháp kiểm thử hộp đen Đoán lỗi: kỹ quan trọng tester, chí gọi nghệ thuật, kiệt tác trực giác Phương pháp đặc biệt dựa vào kinh nghiệm kiến thức tester Nhiều tester cố gắng đoán xem phần hệ thống mà có khả ẩn chứa lỗi Với phương pháp này, họ không cần công cụ hay kịch kiểm thử bắt đầu vào việc Kiểm thử dựa vào đồ thị nguyên nhân - kết (Cause Effect Graphing): kỹ thuật thiết kế kiểm thử phần mềm liên quan đến việc xác định trường hợp (điều kiện đầu vào) hiệu ứng (điều kiện đầu ra) Vì hệ thống phát triển tảng OOP, đó, có đồ thị đối tượng mà hệ thống định nghĩa kết nối Từ đồ thị này, dễ dàng biết mối quan hệ đối tượng mà hệ thống xử lý, từ cho kịch kiểm thử phù hợp Phân vùng tương đương (Equivalence Class): kỹ thuật kiểm thử phần mềm có liên quan đến phân chia giá trị đầu vào thành phân vùng hợp lệ không hợp lệ, sau viết kịch kiểm thử cho phần, chọn giá trị đại diện từ phân vùng làm liệu thử nghiệm • Phân vùng tương đương: kỹ thuật thực test theo class đồng giá trị (tập hợp điều kiện thao tác) • Tập hợp giá trị input có kết xử lý, tập hợp thời gian có kết xử lý, tập hợp kết export xử lý giá trị nhập • Mục đích: Giảm đáng kể số lượng test case cần phải thiết kế với lớp tương đương ta cần test phần tử đại diện • Chọn tối thiểu giá trị đại diện từ class đồng giá trị để tiến hành test > Nếu có lỗi xảy giá trị khác class đồng giá trị có lỗi giống Phân tích giá trị biên (Boundary Value Analysis): kỹ thuật kiểm thử phần mềm có liên quan đến việc xác định biên (ranh giới) điều kiện mô tả cho giá trị đầu vào chọn giá trị biên bên cạnh giá trị biên làm liệu kiểm thử Phương pháp phân tích giá trị biên đưa giá trị đặc biệt, bao gồm loại liệu, giá trị lỗi, bên trong, bên biên giá trị, lớn nhỏ • Test giá trị biên thực theo trình tự đây: Tìm đường biên Quyết định giá trị biên Quyết định giá trị để test • Giá trị biên • Dưới giá trị biên (Nếu class đồng giá trị) • Trên giá trị biên (Nếu class đồng giá trị) Sử dụng bảng định (Decision Tables) • • Là dùng bảng để hiển thị danh sách thao tác phần mềm định điều kiện khác Decision table testing trọng vào nhiều điều kiện để thực test Ngoài ra, kiểm thử hộp đen có số kỹ thuật như: Domain Tests, Orthogonal Arrays, State Models, Exploratory Testing (kiểm thử chủ yếu dựa vào kinh nghiệm khả focus vào việc test chức tester), All-pairs testing (kiểm thử tất cặp), 1.2.1.3 Ưu nhược điểm kiểm thử hộp đen • Ưu điểm - Các tester thực từ quan điểm người dùng giúp đỡ việc sáng tỏ chênh lệch thông số kỹ thuật - Các tester theo phương pháp black box “mối ràng buộc” với code, nhận thức tester đơn giản: source code có nhiều lỗi, sử dụng nguyên tắc: "Hỏi bạn nhận" tester black box tìm nhiều bug nơi mà DEV không tìm thấy - Tester IT chuyên nghiệp, không cần phải biết ngôn ngữ lập trình làm phần mềm thực - Các tester thực quan độc lập từ developer, cho phép nhìn khách quan tránh phát triển thiên vị - Hệ thống thật với toàn yêu cầu kiểm thử xác - Thiết kế kịch kiểm thử nhanh, mà yêu cầu chức xác định • Nhược điểm - Dữ liệu đầu vào yêu cầu khối lượng mẫu (sample) lớn - Khó viết kịch kiểm thử cần xác định tất yếu tố đầu vào, thiếu thời gian cho việc tập hợp - Khả để thân kỹ sư lạc lối kiểm thử cao 10 Thời gian đáp ứng thời gian trôi qua kết thúc yêu cầu máy tính bắt đầu đáp ứng, ví dụ thời gian tín hiệu kết thúc yêu cầu hiển thị ký tự máy tính người sử dụng Trong phạm vi ứng dụng web, thời gian đáp ứng đo lường khoảng thời gian người dùng nhấp vào nút hay liên kết đến trình duyệt bắt đầu hiển thị trang kết 2.1.3 Các giai đoạn kiểm thử hiệu 2.1.3.1 Thiết kế môi trường kiểm thử Những hoạt động thực cách làm theo bước sau: - Nắm bắt chức hệ thống quy trình kinh doanh - Nắm bắt hoạt động người dùng - Nắm bắt kiến trúc logic vật lý Khi liệu thử chuẩn bị, ta cần thực vài bước sau: - Cấu hình môi trường hệ thống cần kiểm thử - Cấu hình môi trường kiểm thử - Chuẩn bị nguồn tài nguyên mạng - Cấu hình trình giám sát hiệu - Xác định độ đo để giám sát thu thập 2.1.3.2 Giai đoạn chuẩn bị - Xác định hiệu chấp nhận tiêu chuẩn - Thiết kế kịch kiểm thử 2.1.3.3 Lập kế hoạch kiểm thử Thiết lập mục tiêu kiểm thử - Tỷ lệ yêu cầu trang web tĩnh mà thời gian đáp ứng chấp nhận - Tỷ lệ yêu cầu Scrip mà thời gian đáp ứng chấp nhận - Các kiểm thử ranh giới mà hệ thống có khả xử lý - Kiểm thử cao điểm mà hệ thống phải có khả xử lý - Tỷ lệ đột biến mà hệ thống phải có khả xử lý - Khoảng chấp nhận: áp đặt tải 25% - Mức an toàn: áp đặt tải x2 - Mức đột biến: áp đặt tải x3 28 - Tawg kích thước sức tải cách tăng sức tải ranh giới 1x, 2x,3x,nx dần đến thời gian đáp ứng không chấp nhận Sức tải công việc Sức tải hệ thống định nghĩa mặt sức tải người sử dụng sức tải ứng dụng Sức tải người sử dụng: - Số lượng loại người sử dụng - Số lượng lớn loại người sử dụng đồng thời - Tỷ lệ người sử dụng đồng thời loại khoảng thời gian - Thời gian phiên làm việc người sử dụng loại - Số lượng loại hoạt động thực người sử dụng Sức tải ứng dụng: - Các hoạt động thể mặt tốc độ dịch vụ số giao tác giây hay tốc độ truyền liệu, thường biểu dạng kb/s - Tỷ lệ trang yêu cầu người dùng - Các giao tác yêu cầu người sử dụng - Bất kỳ yêu cầu hệ thống hay ứng dụng nhằm đáp ứng yêu cầu người sử dụng Đơn vị đo hiệu Các độ đo phổ biến thu thập: - Giao tác giây (Transactions Per Second) - Số yêu cầu giây (Hits Per Second) - Kết nối đồng thời: Số lượng kết nối mở đồng thời - Thông lượng: Lượng liệu mà trình chủ xử lý (KB/s) Thực thi kiểm thử bắt đầu: Tương tự kiểm thử khác, kiểm thử hiệu nên bắt đầu sớm nên lặp lại nhiều tốt Giải lỗi hiệu sửa lỗi sớm giai đoạn phát triển dễ dàng giảm chi phí, Một vấn đề hiệu phát sớm, lập trình viên có nhiều thời gian để tìm giải pháp kiểm tra xem giải pháp có giải vấn đề Một số yêu cầu cần phải đạt trước kiểm thử tải bắt đầu: - Phần cứng cần phải cài đặt vận hành tốt - Mạng phải hoạt động tốt - Các phần mềm trình chủ cần thiết cho ứng dụng phải cài đặt vận hành tốt - Chức ứng dụng kiểm thử nên hoàn thành - Các kiểm thử, công cụ script cần phải phát triển hay tích hợp vào script kiểm thử 29 2.2 Công cụ kiểm thử hiệu website tự động Jmeter 2.2.1 Giới thiệu Jmeter công cụ để đo độ tải performance đối tượng, sử dụng để test performance nguồn tĩnh nguồn động, kiểm tra độ tải hiệu nhiều loại server khác như: Web – HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail – SMTP(S), POP3(S) and IMAP(S)… Jmeter mã nguồn mở viết java Cha đẻ JMeter Stefano Mazzocchi sau Apache thiết kế lại để cải tiến giao diện đồ họa cho người dùng khả kiểm thử hướng chức Cách thức hoạt động: JMeter mô nhóm người dùng gửi yêu cầu đến máy chủ mục tiêu, trả số liệu thống kê cho thấy hiệu / chức máy chủ / mục tiêu ứng dụng thông qua bảng, đồ thị,… 2.2.2 Đặc trưng Jmeter • Nguồn mở, miễn phí • Giao diện đơn giản, trực quan dễ sử dụng • Có thể kiểm thử nhiều kiểu server: Web - HTTP, HTTPS, SOAP, Database JDBC, LDAP, JMS, Mail - POP3,… • Một công cụ độc lập chạy nhiều tảng hệ điều hành khác nhau, Linux cần chạy shell scrip, Windows cần chạy file bat • Đa luồng, giúp xử lý tạo nhiều request khoảng thời gian, xử lý liệu thu cách hiệu • Đặc tính mở rộng, có nhiều plugin chia trẻ rộng rãi miễn phí • Một công cụ tự động để kiểm thử hiệu tính ứng dụng 2.2.3 Các thành phần Jmeter 2.2.3.1 Test Plan Một Test Plan bao gồm bước Jmeter thực thi Nó xác định phải kiểm tra làm với vấn đề cần kiểm tra 30 Bước 1: Bắt đầu Window JMeter Hình 2.8 Giao diện Jmeter Đây cửa sổ JMeter rõ ràng để trống mà thành phần thêm vào Nó bao gồm hai nút: • Nút Test Plan - nơi mà kế hoạch thử nghiệm thực tế lưu giữ • Nút Workbench - Nó đơn giản cung cấp nơi để lưu trữ tạm thời yếu tố thử nghiệm không sử dụng, cho mục đích chép / dán Bước 2: Add/ Remove Elements Elements thêm vào kế hoạch kiểm thử cách kích chuột phải vào nút Test Plan chọn elements từ “Add” danh sách Ngoài ra, ta tải element từ tập tin thêm vào cách chọn tùy chọn “merge” hay “open” Ví dụ: Ta thêm yếu tố Thread Group cho kế hoạch kiểm thử hình sau: 31 Hình 2.9 Thêm Thread Group Để loại bỏ phần tử, đảm bảo yếu tố chọn, nhấn chuột phải vào element, chọn “Remove” Hình 2.10 Remove Thread group Bước 3: Load and Save the Elements Để tải phần tử từ tập tin: - Nhấp chuột phải vào elements tồn tài mà ta muốn thêm vào thánh phần tải - Chọn Merge 32 - Chọn tập tin mà ta lưu elements - Jmeter hợp cacselements vào Theo mặc định, JMeter không lưu lại yếu tố, bạn cần phải lưu lại Hình 2.11 Tải phần tử từ tập tin Để lưu thành phần cây: - Nhấp chuột phải vào phần tử - Chọn Save Selection As… JMeter lưu phần tử chọn, cộng với tất phần tử bên Bước 4: Cấu hình Elements Tree Bất kỳ yếu tố kế hoạch kiểm thử cấu hình cách sử dụng điều khiển khung bên phải JMeter Những điều khiển cho phép bạn cấu hình hành vi yếu tố kiểm tra cụ thể Ví dụ, Thread Group cấu hình cho số người sử dụng, đoạn đường nối lên thời gian, vv, hình 2.1 Bước 5: Lưu kế hoạch kiểm thử Ta lưu toàn kế hoạch kiểm thử cách sử dụng hai lựa chọn Save "Test Plan Save As " từ menu File 33 Hình 2.12 Lưu kế hoạch kiểm thử Bước 6: Chạy Test Plan Ta chạy kế hoạch kiểm thử cách nhấn vào Start(Control + r) từ Run Khi JMeter bắt đầu chạy, cho thấy hộp màu xanh nhỏ cuối bên phải phần menu Hình 2.13 Thực chạy Test Plan Những số bên trái hộp màu xanh số lượng chủ đề hoạt động / tổng số Những áp dụng cho thử nghiệm chạy địa phương; họ 34 không bao gồm thread bắt đầu hệ thống từ xa sử dụng chế độ clientserver Bước 7: Dừng Test Plan • Sử dụng Stop (Control + '.') Nó dừng lại chủ đề • Sử dụng Shutdown (Control + ',') Nó yêu cầu chủ đề để dừng lại cuối công việc 2.2.3.2 Các thành phần Test Plan Thread Group: Đại diện cho người dùng ảo (virtual user), kiểm soát số lượng thread Jmeter sử dụng trình thử nghiệm • Thiết lập số lượng chủ đề • Thiết lập thời điểm khó khăn • Thiết lập số lần lặp lại thử nghiệm Các Thread Group Panel chứa thành phần sau: • Hành động thực sau lỗi Sampler - Trong trường hợp lỗi xảy trình thực kiểm tra, ta để thử nghiệm – o Tiếp tục đến phần tử thử nghiệm o Dừng Thread để ngăn chặn chủ đề o Dừng Test hoàn toàn, trường hợp ta muốn kiểm tra lỗi trước tiếp tục chạy • Số chủ đề - Mô số lượng người dùng kết nối đến máy chủ ứng dụng bạn • Ramp-Up Thời gian Định nghĩa JMeter để có tất chủ đề hoạt động • Vòng Đếm - Xác định số lần để thực kiểm tra • Hộp kiểm Scheduler - Sau lựa chọn, phần Scheduler Configuration xuất bảng điều khiển • Scheduler Cấu hình – Ta cấu hình bắt đầu kết thúc thời gian chạy thử nghiệm Controllers: gồm hai loại Samplers Logic Controllers • Samplers: cho phép JMeter để gửi yêu cầu cụ đến máy chủ Chúng mô yêu cầu người sử dụng cho trang từ máy chủ mục tiêu Logic Controllers: cho phép kiểm soát thứ tự xử lý 35 Sampler Thread Logic Controllers thay đổi thứ tự yêu cầu đến từ phần tự Listeners: Cho phép xem kết sampler dạng bảng biểu, đồ thị, cây, văn đơn giản số tập tin log Nó cung cấp truy cập trực quan cho liệu thu thập Jmeter trường hợp kiểm thử thành phần Sampler Jmeter thực thi Listener thêm vào nơi kiểm thử, bao gồm trực kế hoạch kiểm tra Nó thu thập liệu từ yếu tố thấp mức Timers: Theo mặc định, thread Jmeter gửi yêu cầu mà không cần tạm dừng sampler Ta thêm yếu tố đếm thời gian (Timer) cho phép xác đinh khoảng thời gian chờ yêu cầu Các yếu tố cấu hình: Các yếu tố cấu hình cho phép ta tạo giá trị mặc định biến sử dụng Samplers Chúng sử dụng để thêm sửa đổi yêu cầu lấy mẫu Chúng thực vào đầu phạm vi mà họ phần, trước lấy mẫu đặt phạm vi Do đó, cấu hình phần tử truy cập từ bên chi nhánh, nơi đặt Các yếu tố xử lý trước xử lý sau Một yếu tố tiền xử lý mà chạy trước mẫu thực Chúng thường sử dụng để thay đổi thiết lập yêu cầu mẫu trước chạy, cập nhật biến không trích từ văn trả lời Một yếu tố xử lý sau thực thi sau Sampler kết thúc việc thực Yếu tố thường sử dụng để xử lý liệu phản hồi 36 CHƯƠNG 3: ỨNG DỤNG JMETER KIỂM TRA HIỆU NĂNG WEBSITE 3.1 Giới thiệu Website Trong chương này, ta thực kiểm thử hiệu công cụ kiểm thử tự động Jmeter website www.wattpad.com Wattpad thư viện ebook "Internet" mà người dùng đưa lên báo, câu chuyện thơ chủ đề phương thức trực tiếp truy cập trang chủ thông qua ứng dụng Wattpad Nội dung bao gồm viết tác giả chưa xuất thị trường xuất Người dùng trả lời (comment) thích (like) câu chuyện hay tham gia vào nhóm cộng tác với trang mạng Có khoảng phân nửa người dùng đến từ Hoa Kỳ có số đến từ quốc gia Canada, Philippines, Australia, nhiều nữa, có Việt Nam Hình 3.14 Wattpad 37 3.2 Thực Test 3.2.1 Thiết lập tham số kiểm thử 3.2.1.1 Thread Group Số lượng người dùng (Number of Threads): Lần lượt thực kiểm thử hiệu với số lượng người dùng đồng thời truy cập Wattpad sau: 50, 100, 250, 500 Thời gian ram-up (giây): (người dùng đồng thời truy cập vào Wattpad) Số lần lặp lại (Loop count): 3.2.1.2 Http Request Http Request Name Server name Port Number Protocol Method Path Parameter Login www.wattpad.com 80 https POST /login? nextUrl=https://www.wattpa d.com/home Password Username Upload Story www.wattpad.com 80 https GET /myworks/new 3.2.2 Chạy test lấy kết test 50 User 100 User 250 User 500 User Bảng 3.2 Kết kiểm thử 38 3.3 Giải thích phân tích kết 3.3.1.1 Giải thích - Label: Hiển thị tên requests có test plan - Samples: Tổng số lần run request Công thức: Samples = Number of Threads (users) * Loop Count - Average (millisecond): Thời gian phản hồi trung bình (Response Time) request, tính lần run cuối - Median (millisecond): 50% số request có response time nhỏ giá trị (hiển thị table), 50% số request lại có response time lớn giá trị - 90% Line (90th Percentile) (millisecond): 90% số requests có response time nhỏ giá trị hiển thị table, 10% số requests lại có response time lớn giá trị hiển thị table - Min (millisecond): Respone Time thấp request tính cho toàn tất lần run - Max (millisecond): Respone Time cao request tính cho toàn tất lần run - Error %: % số lượng request bị fail, lỗi - Throughput/ Thông lượng: Lượng requests hệ thống (server) xử lý đơn vị thời gian, giây, phút, Throughput = (Tổng số lượng requests)/(Tổng thời gian)*(Đơn vị chuyển đổi) - Kb/sec thông lượng, không đo lường số request, mà đo kilobytes/second Công thức là: Throughput KB/sec= (Throughput * Average Bytes)/1024 - Avg Bytes: dung lượng trung bình lần response tính bytes 39 - Std.Dev.(Standard Deviation): độ lệch chuẩn đo lường thay đổi tập hợp data, dựa thống kê - Total: Trong report có dòng cuối Total, tổng kết lại toàn kết từ request bên Ngoại trừ: #Samples, Throughput, Kb/sec: cộng lại theo nghĩa “Total”; Các thông số lại, tính Total cách lấy giá trị trung bình từ tất request 3.3.1.2 Phân tích kết Từ kết Test thu Bảng 3.2, ta nhận thấy với số lượng mẫu thử lớn thời gian hồi đáp hệ thống lâu Với 100 user đăng nhập vào hệ thống đăng hệ thống hoạt động tốt với 0% lỗi, thời gian phản hồi (Average) thấp : 9027 miliseconds số lượng request xử lý (Throughput) cao: 440 351/minute Với lượng throughput nhận định website có hiệu tốt Với 500 user đăng nhập vào hệ thống đăng bài, hệ thống xuất lỗi đăng nhập (7,8%) upload (0.42%) với tỉ lệ thấp Hệ thống ngừng hoạt động mẫu 976 với thời gian chờ 40664 miliseconds Từ phân tích ta đưa số nguyên nhân gây suy giảm hiệu website Băng thông mạng thấp nên thời gian xử lý trả lời hệ thống bị chậm Hệ thống máy chủ Website có khả đáp ứng nhu cầu số lượng người dùng truy cập đồng thời lớn Độ ổn định đường truyền chưa cao dẫn đến giảm hiệu làm việc hệ thống Các tập tin có kích thước lớn làm chậm trình truyền liệu mạng, đó, thời gian trả lời hệ thống lâu làm giảm hiệu hoạt động hệ thống 40 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 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 Bên cạnh kết đạt được, đề tài 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, chất lượng mạng 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 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 41 Tài liệu tham khảo Phạm Ngọc Hùng, Trương Anh Hoàng Đặng Văn Hưng Giáo trình kiểm thử phần mềm 2014 Kshirasagar, Priyadarshi Tripathy Software Testing and Quality Assurance s.l : John Wiley and Sons, Inc., 2008 Jmeter TestingVN [Online] http://www.testingvn.com/viewforum.php?f=96 jMeter - Quick Guide Tutorials Point [Online] http://www.tutorialspoint.com/jmeter/jmeter_quick_guide.htm Jmeter VN [Online] https://jmetervn.com/2017/01/28/list-of-all-posts/ Apache Software Foundation Jmeter Apache [Online] http://jmeter.apache.org/ Hoàng Anh Sơn Luận văn thạc sĩ: Nghiên cứu kiểm thử hiệu ứng dụng Web Đà Nẵng : Đại học Đà Nẵng, 2011 Nguyễn Thu Phương PERFORMANCE TESTING & JMETER TOOL Viblo [Online] 11 25, 2016 https://viblo.asia/nguyen.thu.phuong/posts/PaLkDmxovlX Nguyễn Thị Hương Quỳnh Performance Testing using Jmeter Viblo [Online] 29, 2015 https://viblo.asia/huong.quynh/posts/z3NVRkknR9xn 10 Glenford J.Myer The art of software testing 11 Ths.Thạc Bình Cường Bài giảng điện tử môn học Kiểm thử đảm bảo chất lượng phần mềm Hà Nội : Bộ môn CNPM, Viện CNNT & TT, Đại học Bách Khoa 42