1. Trang chủ
  2. » Công Nghệ Thông Tin

Sử dụng jmeter để kiểm thử

55 4 0

Đ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

Nội dung

Học viện Kỹ thuật Mật Mã BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ -□□&□□ - THỰC TẬP CƠ SỞ KIỂM THỬ WEBSITE (Nhóm 72) Giảng viên hướng dẫn: Ths Nguyễn Đức Hiếu Sinh viên thực hiện: Nguyễn Trọng Hiếu – AT140613 Vũ Hồng Việt – AT140552 Nguyễn Đắc Thành – AT140442 Hà Nội, 2020 Học viện Kỹ thuật Mật Mã LỜI NÓI ĐẦU Trong thời buổi cơng nghệ thơng tin có mặt khắp lĩnh vực, tổ chức cá nhân, doanh nghiệp ngày phát triển mạnh mẽ Nhu cầu sử dụng phần mềm để thực công việc nhanh chóng, xác hiệu ngày tăng Việc đảm bảo chất lượng phần mềm ngày trở lên quan trọng Bên cạnh phần mềm truyền thống, người ta sử dụng phần mềm chạy web Chính điều website ngày sử dụng rộng rãi Ngoài ra, để đáp ứng nhu cầu chia sẻ thông tin, truyền đạt thơng tin cách nhanh chóng tiếp cận với nhiều người website phương tiện có khả làm tốt cơng việc Ngày nay, website phát triển cách mạnh mẽ nhanh chóng Tuy nhiên, với phát triển vượt bậc tiện lợi có khơng trở ngại dẫn đến việc website không hoạt động cách hiệu Do đó, cần thiết phải kiểm thử đảm bảo chất lượng website Với hướng dẫn thầy Nguyễn Đức Hiếu, nhóm chúng em thực đề tài “Kiểm thử website” thực sản phẩm website bọn e chọn Do hạn chế mặt kiến thức khơng thể tránh khỏi sai sót trình làm báo cáo, mong giúp đỡ dạy thầy bạn Chúng em xin chân thành cảm ơn! MỤC LỤC Học viện Kỹ thuật Mật Mã DANH MỤC ẢNH DANH MỤC BẢNG PHẦN 1: MỞ ĐẦU 1.1 Tầm quan trọng việc kiểm thử 1.2 Lý chọn đề tài 1.3 Mục đích đề tài PHẦN 2: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 2.1 Khái niệm kiểm thử phần mềm 2.1.1 Khái niệm kiểm thử phần mềm .8 2.1.2 Một số khái niệm liên quan .8 2.2 Vai trò mục tiêu kiểm thử phần mềm .9 2.2.1 Vai trò kiểm thử phần mềm .9 2.2.2 Mục tiêu kiểm thử phần mềm .10 2.3 Các mức độ kiểm thử 10 2.5 Phân biệt Retesting Regression Testing 12 2.6 Quy trình kiểm thử phần mềm 13 2.7 Các chiến lược kiểm thử .14 PHẦN 3: KIỂM THỬ WEBSITE 16 3.1 Kiểm thử tự động 16 3.1.1 Khái niệm kiểm thử tự động 17 3.1.2 Mục đích kiểm thử tự động 17 3.1.3 Ưu nhược điểm kiểm thử tự động 17 3.1.4 Quy trình kiểm thử tự động 19 3.2 Kiểm thử Website 20 3.2.1 Khái quát kiểm thử Website 20 3.2.2 Thành phần bên trang Web 21 3.2.3 Tại cần kiểm thử Website 21 3.3 Những phương pháp kỹ thuật kiểm thử Website .22 Học viện Kỹ thuật Mật Mã 3.3.1 Kiểm thử chức (Functional testing) .22 3.3.2 Kiểm thử hiệu suất (Performance testing) 25 3.3.3 Kiểm thử bảo mật 25 3.4 Các công cụ kiểm thử tự động Website .26 3.4.1 Công cụ Selenium 26 3.4.2 Công cụ Apache Jmeter 29 PHẦN 4: THỰC NGHIỆM 34 4.1 Đặc tả số chức .34 4.1.1 Chức đăng ký 34 4.1.2 Chức đăng nhập 37 4.2 Testcase 39 4.2.1 Testcase Đăng ký 39 4.2.2 Testcase Đăng nhập .44 4.3 Sử dụng Selenium để kiểm thử chức 46 4.3.2 Kiểm thử chức Đăng Nhập 46 4.3.1 Kiểm thử chức Đăng Kí .50 4.5 Sử dụng JMeter để kiểm thử hiệu 53 DANH MỤC TÀI LIỆU THAM KHẢO 55 Học viện Kỹ thuật Mật Mã DANH MỤC Ả Hình 1: https://vnexpress.net .20 Hình 2: : Giao diện web selenium 27 Hình 3: Tải xuống Selenium IDE .27 Hình 4: Tiện ích > Selenium .28 Hình 5: Giao diện khởi tạo Selenium 28 Hình 6: Jmeter tạo người dùng ảo lên máy chủ web 30 Hình 7: Giao diện web JMeter 32 Hình 8: Folder bin JMeter 33 Hình 9: Giao diện mặc định JMeter 33 Y Hình 1: Giao diện đăng ký 34 Hình 2: Giao diện đăng nhập 37 Hình 3: Kịch test chức đăng ký 46 Hình 4: Kết test đăng ký thành công 47 Hình 5:Kết q test đăng kí Email khơng định dạng: .47 Hình 6: Kết test đăng kí thiếu thơng tin 49 Hình 7:Kết test đăng ký Email tồn 49 Hình 8: Kịch test đăng nhập .50 Hình 9: Kết test đăng nhập thành công .51 Hình 10: Kết test đăng nhập bị sai thông tin .51 Hình 11: Kết test đăng nhập để rỗng thông tin 52 Hình 12: Kết test đăng nhập mật để rỗng thông tin 52 Hình 13: Kết test nhập mật sai 53 Hình 14: Kịch kiểm thử hiệu 54 Hình 15: Aggregate Report 55 Học viện Kỹ thuật Mật Mã DANH MỤC BẢNG Bảng 1: : Retesting Regression Testing 12 Bảng 2: Quy trình kiểm thử 14 Bảng 3.1: Quy trình kiểm thử tự động…………………………………………………… … Bảng 1: Đặc tả chức đăng ký 35 Bảng 2: Đặc tả chức đăng nhập 38 Bảng 3: Testcase Đăng ký 39 Bảng 4: Testcase Đăng nhập 44 Y PHẦN 1: MỞ ĐẦU 1.1 Tầm quan trọng việc kiểm thử Kiểm thử phần mềm hoạt động cần thiết khơng có sản phầm phần mềm tạo cách hồn hảo, khơng có lỗi Một số lỗi không gây ảnh hưởng nhiều đến sản phẩm nhiên có số lỗi lớn cần phải sửa chữa kịp thời Chúng ta cần kiểm tra tỉ mỉ thứ, thứ tạo thứ ln khơng hồn hảo 100% 1.2 Lý chọn đề tài Website đời mở hướng cho việc phát triển ứng dụng Internet Website kết hợp sử dụng nhiều công nghệ khác nhau, cho phép hai ứng dụng dùng chung ngôn ngữ, độc lập hệ điều hành trao đổi với thông qua môi trường mạng Điểm khác biệt lớn đặc trưng trang Web liên kết với trang Web khác, trang Web khác lại liên kết với nhiều trang Web khác tạo thành mạng lưới liên kết khổng lồ toàn giới Tuy nhiên, mang đến cho nhà kiểm thử phát triển phần mềm nhiều thách thức Sự phức tạp, tính linh hoạt phụ thuộc ứng dụng vào dịch vụ, thiếu thử nghiệm thách thức mà nhà phát triển Website phải đối mặt Vì Học viện Kỹ thuật Mật Mã vậy, nhu cầu kiểm thử Website ngày tăng lên trở thành thiết yếu dự án phần mềm Các lỗi nguyên nhân suất thấp kết sai xót suốt vòng đời phát triển phần mềm Những lỗi bao gồm mội lỗi thực thi, lỗi bảo mật, thực sai chức năng, lỗi sụp đổ hệ thống… sớm phát vấn đề dễ sửa lỗi giảm thời gian, chi phí cho phần mềm Nói chung, nhà phát triển, nhà nghiên cứu, chuyên gia dựa vào thực nghiệm kiểm tra tính đảm bảo chức dịch vụ, độ tin cậy Website, cung cấp giải pháp kiểm thử tự động Ngoài ra, khả tương tác, an ninh vấn đề liên quan có ảnh hưởng đến nhà sản xuất người sử dụng 1.3 Mục đích đề tài Mục đích lựa chọn đề tài chúng em tìm hiểu kiến thức tổng quan phần mềm, viết testcase kiểm thử Website tìm hiểu cơng cụ kiểm thử tự động để giúp cho việc kiểm thử nhanh chóng hiệu Hơn nữa, thực đề tài giúp cho chúng em có kiến thực bổ ích để phục vụ cho cơng việc tương lai PHẦN 2: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 2.1 Khái niệm kiểm thử phần mềm 2.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ử Hiểu theo cách đơn giản hơn, kiểm thử phần mềm trình tìm thất bại chứng tỏ việc tiến hành phần mềm đắn Học viện Kỹ thuật Mật Mã 2.1.2 Một số khái niệm liên quan • Chất lượng phần mềm (Software quality): mức độ mà hệ thống, thành phần hay quy trình đáp ứng yêu cầu đặc tả phần mềm, nhu cầu mong đợi khách hàng người sử dụng • Đảm bảo chất lượng phần mềm (Software quality assurance): quy trình có kế hoạch hệ thống tất hành động cần thiết để cung cấp thông tin đầy đủ để đảm bảo sản phẩm có phù hợp với yêu cầu kỹ thuật hay khơng Mục đích cuối để đánh giá quy trình sản xuất sản phẩm phần mềm • Xác nhận (Validation): q trình đánh giá hệ thống hay cấu phần hay cuối q trình phát triển để xác định xem đáp ứng yêu cầu quy định • Xác minh, kiểm chứng (Verification): trình đánh giá hệ thống hay 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 lúc bắt đầu giai đoạn Xác minh thường hoạt động có tính kỹ thuật cao hơn, sử dụng tri thức yêu cầu, đặc tả phần mềm Xác nhận thường phụ thuộc vào tri thức lĩnh vực tương ứng Cụ thể là, tri thức ứng dụng phần mềm viết Ví dụ, xác nhận phần mềm máy bay yêu cầu tri thức từ kỹ sư hàng khơng phi cơng • Lỗi (Error): Lỗi vấn đề mà người mắc phải q trình phát triển sản phẩm phần mềm • Sai (Fault): Sai kết lỗi, hay nói khác đi, lỗi dẫn đến sai • Thất bại (Failure): Thất bại xuất lỗi thực thi • Sự cố (Incident): Khi thất bại xuất hiện, hiển thị khơng, tức rõ ràng không rõ ràng người dùng người kiểm thử Sự cố triệu chứng liên kết với thất bại thể cho người dùng người kiểm thử xuất thất bại Học viện Kỹ thuật Mật Mã • Ca kiểm thử (Test case): Ca kiểm thử gồm tập liệu đầu vào xâu giá trị đầu mong đợi phần mềm, mục đích dựa vào để kiểm tra xem phần mềm có thỏa yêu cầu đặt hay khơng • Kịch kiểm thử (Test script): Một kịch kiểm thử nhóm mã lệnh dạng đặc tả kịch dùng để tự động hóa quy trình hay ca kiểm tra, giúp cho việc kiểm tra nhanh hơn, cho trường hợp mà kiểm tra tay khó khăn khơng khả thi 2.2 Vai trò mục tiêu kiểm thử phần mềm 2.2.1 Vai trò kiểm thử phần mềm Kiêm thử phần mềm chiếm vị trí quan trọng ưong việc nâng cao chất lượng độ tin cậy phần mềm q trình phát triển Hồn thành vịng quay “đưa lỗi vào - tìm lỗi - khử lồi đi” quy trình kiểm thử phần mềm thu lại cải tiến đáng kè cho chất lượng sản phàm phần mềm Việc biết sản phàm phần mềm tốt tới mức trước đưa vào sử dụng hạn chế tổi đa rủi ro gặp phải trình phát triển phần mềm 2.2.2 Mục tiêu kiểm thử phần mềm     Phát nhiều lỗi tốt thời gian kiểm thử xác định trước Chứng minh sản phẩm phần mềm phù hợp với đặc tả yêu cầu Xác thực chất lượng kiểm thử phần mềm dùng chi phí nỗ lực tối thiểu Tạo testcase chất lượng cao, thực kiểm thử hiệu tạo báo cáo vấn đề hữu dụng 2.3 Các mức độ kiểm thử Một sản phẩm phần mềm từ bắt đầu phát triển đến hoàn thành đưa đến người dùng cuối phải trải qua bốn mức kiểm thử Học viện Kỹ thuật Mật Mã Hình 1: Các mức độ kiểm thử phần mềm Kiểm thử đơn vị (Unit Test) Một đơn vị thành phần phần mềm nhỏ mà ta kiểm tra Nó bao gồm hàm (Function), thủ tục (Procedure), lớp (Class) phương thức (Method) Kiểm tra đơn vị thực để kiểm tra xem module riêng lẻ mã nguồn có hoạt động hay không Tức kiểm tra đơn vị ứng dụng cách riêng biệt lập trình viên mơi trường phát triển Đây thử nghiệm module Unit testing kiểu kiểm thử hộp trắng (White box testing) Kiểm thử tích hợp (Intergration Test) Là cấp độ kiểm thử phần mềm đơn vị riêng lẻ kết hợp thử nghiệm dạng nhóm Một dự án phần mềm bao gồm nhiều module, lập trình nhiều người khác Kiểm thử tích hợp tập trung vào kiểm tra truyền liệu module (Tích hợp hàm, hình với theo chức năng) Mục đích nhằm phát lỗi giao tiếp xảy Unit lỗi Unit Kiểm thử hệ thống (System Test) Là mức độ kiểm thử phần mềm module tích hợp module kiểm thử thành công 10 Học viện Kỹ thuật Mật Mã nhập nhập trùng liệu tồn đăng nhập duy nhất Set focus highlight Set focus vào trường lỗi highlight vào 10 11 trường lỗi Thành công Thành công Kiểm tra Nhập vào Tên trường Tên đăng đăng nhập chưa nhập Kiểm tra nhập đăng ký Nhập vào textbox Ghi lại thành Ghi lại thành công khoảng trắng đầu giá trị Tên đăng công Dấu cách đầu cuối cuối nhập hợp lệ Dấu cách đầu bỏ trước lưu thêm dầu trắng vào cuối bỏ đầu cuối trước vào database lưu vào database Kiểm tra textbox 12 13 Tên đầy đủ Kiểm tra địa Nhập Tên đầy đủ Tên đầy đủ hợp lệ từ kí tự trở hợp lệ Kiểm tra địa lên Nhập Tên đầy đủ hợp lệ từ kí tự Tên đầy đủ không hợp lệ Thành công Thành công Hiển thị thông 1.Đã hiển thị thông báo báo trường Tên trường Tên đầy đủ đầy đủ ngắn ngắn Set focus Set focus highlight highlight vào vào trường lỗi trường lỗi Text box mật 14 15 Kiểm tra mật Nhập mật vào Thơng tin điền Textbox có mã hóa vào hiển thị dấu dạng "***" Kiểm tra mật Mật = Rỗng "***" Hiển thị thông Thông tin điền vào hiển thị dấu "***" 1.Đã hiển thị thông báo 41 Học viện Kỹ thuật Mật Mã = rỗng 16 Kiểm tra hiển thị mật Nhập mật Chọn icon clear text báo trường Mật trường Mật bắt bắt buộc buộc Set focus Set focus highlight highlight vào vào trường lỗi trường lỗi Mật mã Mật hiển thị hóa dạng *** Hiển thị mật 17 Kiểm tra độ dài mật khẩu Nhập vào mật Hiển thị thơng độ dài kí tự báo trường Mật Hiển thị thông báo trường mật khẩu kí kí tự tự Set focus highlight Set focus vào trường lỗi highlight vào trường lỗi Kiểm thử Text box xác nhận 18 mật Kiểm tra hiển thị Nhập mật xác nhận mật xác nhận Chọn icon clear text Mật mã Mật hiển thị hóa dạng *** Hiển thị mật 19 Kiểm tra mật Mật = Rỗng Hiển thị thông 1.Đã hiển thị thông báo = rỗng báo trường Xác trường Xác nhận Mật nhận Mật là bắt buộc bắt buộc Set focus highlight Set focus vào trường lỗi 42 Học viện Kỹ thuật Mật Mã highlight vào 20 21 trường lỗi Kiểm tra mật Nhập mật vào Thơng tin điền Textbox có mã hóa vào hiển thị dấu dạng "***" Kiểm tra xác nhận mật Nhập mật xác nhận không trùng với mật Thông tin điền vào hiển thị dấu "***" "***" Hiển thị thông 1.Đã hiển thị thông báo báo trường Xác trường Xác nhận Mật nhận Mật sai sai Set focus highlight Set focus vào trường lỗi highlight vào trường lỗi 4.2.2 Testcase Đăng nhập Bảng 4: Testcase Đăng nhập STT Mục đích kiểm Các bước Kết mong Kết thử Kiểm tra thực muốn hình đằng nhập Kiểm tra hình - Truy cập vào Hiển thị hình Đã hiển thị hình đăng đăng nhập hệ thống đăng nhập giống nhập giống tài liệu mô tài liệu mô tả tả Text box Email Kiểm tra Email hợp Nhập Email Đăng nhập Đã đăng nhập vào hệ lệ vào hệ thống thống Kiểm tra chức đăng nhập Mật => Đăng nhập 43 Học viện Kỹ thuật Mật Mã Kiểm tra Email Nhập Email Thông báo "Bạn không định đăng nhập sai nhập sai tên đăng dạng Mật nhập mật => Đăng khẩu" Không hiển thị thông báo nhập Kiểm tra Email Email đăng Thông báo yêu cầu Đã hiển thị thông báo yêu rỗng nhập =Rỗng nhập trường để cầu điền vào trường để trống Mật trống => Đăng nhập Text box mật Kiểm tra mật Nhập mật Thông tin điền vào Thơng tin điền vào hiển có mã hóa vào hiển thị dấu "***" thị dấu "***" dạng "***" Kiểm tra sai mật Textbox Nhập tên Thông báo "Bạn Không hiển thị thông báo đăng nhập nhập sai tên đăng nhập mật Nhập mật khẩu" sai => Đăng nhập Kiểm tra mật Mật = Thông báo yêu cầu Đã hiển thị thông báo yêu = rỗng Rỗng nhập trường để cầu điền vào trường để trống Pass trống Kiểm tra hiển thị => Đăng nhập Nhập mật Mật mã mật khẩu hóa dạng *** Chọn icon Hiển thị mật Mật hiển thị 44 Học viện Kỹ thuật Mật Mã clear text 4.3 Sử dụng Selenium để kiểm thử chức 4.3.1 Kiểm thử chức Đăng Kí Viết kịch test chung cho chức năng: Hình 3: Kịch test chức đăng ký 45 Học viện Kỹ thuật Mật Mã a, Test chức đăng kí thành cơng: Hình 4: Kết test đăng ký thành công d, Test đăng kí Email khơng định dạng: Hình 5:Kết q test đăng kí Email khơng định dạng: 46 Học viện Kỹ thuật Mật Mã b, Test đăng kí bị thiếu thơng tin: Hình 6: Kết test đăng kí thiếu thơng tin c, Test đăng kí Email tồn tại: Hình 7:Kết test đăng ký Email tồn 47 Học viện Kỹ thuật Mật Mã 4.3.2 Kiểm thử chức Đăng Nhập Viết kịch test chung cho chức năng: Hình 8: Kịch test đăng nhập 48 Học viện Kỹ thuật Mật Mã a, Test đăng nhập thành cơng: Hình 9: Kết test đăng nhập thành công b, Test đăng nhập bị sai thơng tin: Hình 10: Kết test đăng nhập bị sai thông tin 49 Học viện Kỹ thuật Mật Mã c, Test đăng nhập để rỗng thông tin: Hình 11: Kết test đăng nhập để rỗng thông tin d, Test đăng nhập mật để rỗng thơng tin: Hình 12: Kết test đăng nhập mật để rỗng thông tin 50 Học viện Kỹ thuật Mật Mã e, Test đăng nhập mật bị sai thơng tin: Hình 13: Kết test nhập mật sai 51 Học viện Kỹ thuật Mật Mã 4.4 Sử dụng JMeter để kiểm thử hiệu Chúng ta bắt đầu với kịch bản:  Number of Threads(users): 10 người  Ramp-up Period (in seconds): s  Loop Count: lần Hình 14: Kịch kiểm thử hiệu 52 Học viện Kỹ thuật Mật Mã Test tổng hợp: Hình 15: Aggregate Report      Samples: số lượng request = 10 Average: thời gian trung bình mà KhoTracNgiem phản hồi lại 3161 ms Min: thời gian nhanh mà KhoTracNgiem phản hồi lại 2954 ms Max: thời gian lâu mà KhoTracNgiem phản hồi lại 3209 ms Error %: số request lỗi 100% 53 Học viện Kỹ thuật Mật Mã DANH MỤC TÀI LIỆU THAM KHẢO [1] Nguyền Văn Vỵ - Nguyền Việt Hà, Giáo trình Kỹ nghệ phần mềm, Nhà xuất bán Giáo dục Việt Nam, 2009 [2] p Bourque, SWEBOK V3.0, IEEE [3] Phạm Ngọc Hùng - Trương Anh Hoàng - Đặng Văn Hưng, Giáo trinh Kiêm thử phân mềm, 2014 [4] Wikipedia, Bách khoa toàn thư mở [5] ISTQB, http://istqbexamcertification.com/ [6] ISTQB Worldwide Software Testing Practices Report, 2015-2016 [8] https://techmaster.vn [9] https://viblo.asia [10] https://codelearn.io 54 ... nhập .44 4.3 Sử dụng Selenium để kiểm thử chức 46 4.3.2 Kiểm thử chức Đăng Nhập 46 4.3.1 Kiểm thử chức Đăng Kí .50 4.5 Sử dụng JMeter để kiểm thử hiệu 53 DANH... kiểm thử tự động : Bảng 1: Quy trình kiểm thử tự động 3.2 Kiểm thử Website 3.2.1 Khái quát kiểm thử Website Kiểm thử Website phần kiểm thử phần mềm Vì vậy, cơng cụ kiểm thử cho phần mềm ứng dụng. .. Khái niệm kiểm thử tự động Kiểm thử tự động trình thực cách tự động bước kịch kiểm thử Kiểm thử tự động công cụ nhằm rút ngắn thời gian kiểm thử 3.1.2 Mục đích kiểm thử tự động Kiểm thử phần mềm

Ngày đăng: 09/09/2022, 17:14

w