Đồ án 2 đề tài kiểm thử ứng dụng web với phần mềm selenium

47 2 0
Đồ án 2 đề tài kiểm thử ứng dụng web với phần mềm selenium

Đ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

TRƯỜNG ĐẠI HỌC PHƯƠNG ĐÔNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG -o0o Đồ án Đề tài: KIỂM THỬ ỨNG DỤNG WEB VỚI PHẦN MỀM SELENIUM Sinh viên thực : Nguyễn Viết Hùng – MSSV: 519100011 Lê Đăng Trung – MSSV: 519100011 Lớp : 519100A Giáo viên hướng dẫn : MỤC LỤC MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu đề tài Nội dung nghiên cứu Phương pháp nghiên cứu Đối tượng nghiên cứu CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM Kiểm thử 1.1 Mục đích kiểm thử 1.2 Các nguyên tắc kiểm thử 1.3 Tại kiểm thử phần mềm cần thiết? Các phương pháp kiểm thử 2.1 Kiểm thử thủ công ( test manual) 2.2 Kiểm thử tự động ( test automation) 2.3 So sánh kiểm thử thủ công kiểm thử tự động 2.4 Lựa chọn phương pháp kiểm thử Các chiến lược kiểm thử 3.1 Kiểm thử hộp trắng 3.2Kiểm thử hộp đen Các mức độ kiểm thử 12 4.1 Kiểm thử đơn vị – Unit test 12 4.2 Kiểm thử tích hợp – Intergration test 14 4.3 Kiểm thử hệ thống – System test 15 4.4 Kiểm thử chấp nhận sản phẩm – Acceptance Testing 18 Ca kiểm thử ( test case) .19 5.1 Phân tích yêu cầu phần mềm 19 5.2 Test case 20 5.3 Các bước thực 21 Các nguyên tắc kiểm thử 24 Tìm hiểu cơng cụ kiểm thử Selenium Webdriver .25 7.1 Selenium 25 7.2 Selenium Webdriver 26 8.1 So sánh nhanh Selenium QTP 27 Giới thiệu QTP 27 8.2 Quy trình kiểm thử tự động 27 8.3 So sánh 29 CHƯƠNG THỰC HIỆN DỰ ÁN .32 Giới thiệu Website bán hàng trực tuyến MOBILE VN 32 Các chức 32 2.1 Chức đăng kí tài khoản (register) 32 2.2 Chức đăng nhập (login) .33 2.3 Chức thêm sản phẩm vào giỏ hàng ( add to cart) .34 Thiết kế trường hợp kiểm thử (test case) .34 1.1 Test case – Register 34 1.2 Test case – Login 35 1.3 Test case – Add to cart 36 Ứng dụng công cụ Selenium Webdriver vào kiểm thử tự động 38 2.1 Login .38 2.2 Register 39 2.3 Add to cart 41 KẾT LUẬN 43 TÀI LIỆU THAM KHẢO .44 MỞ ĐẦU Lý chọn đề tài Sự bùng nổ công nghệ thông tin thiên niên kỷ đem lại lợi ích không ngờ cho đời sống người nhiều lĩnh vực Ứng dụng công nghệ thông tin vào đời sống sản xuất mang lại nhiều kết khả quan người: giúp thu hẹp không gian lưu trữ, tránh nhầm lẫn thất lạc liệu, truy xuất thông tin cách dễ dàng nhanh chóng, tiết kiệm thời gian cơng sức so với quy trình thủ cơng trước kia; đồng thời đem tới môi trường kinh doanh thuận lợi cho doanh nghiệp… Kiểm thử phần mềm khâu sống việc phát triển phần mềm Hai chữ "kiểm thử" nghe đơn giản lại khâu quan trọng giúp cho sản phẩm hoàn thiện nhằm đáp ứng yêu cầu đặt khách hàng Nếu khơng có khâu kiểm thử phần mềm, sản phẩm phần mềm đưa vào sử dụng mà khơng qua thẩm định, có lỗi gây hậu to lớn đến cho khách hàng, nhà đầu tư, người dùng cuối người phát triển sản phẩm Chính vậy, tester q trình kiểm thử khơng thể thiếu định nhiều vào thành công chung dự án phát triển phầm mềm Việt Nam đánh giá trở thành quốc gia phát triển mạnh mẽ ngành kiểm thử phần mềm châu Á với lượng nhân công trẻ, dồi có nhiều doanh nghiệp phát triển theo đường Mục tiêu đề tài  Tìm hiểu nghiên cứu kiểm thử phần mềm  Nắm vững lý thuyết kiểm thử phần mềm  Hiểu việc thiết kế trường hợp kiểm thử (test case)  Sử dụng công cụ Selenium WebDriver cho ngôn ngữ Java kiểm thử tự động Nội dung nghiên cứu Chương Tổng quan kiểm thử phần mềm Chương 2: Thực dự án Phương pháp nghiên cứu Tìm hiểu sở lý thuyết kiểm thử phần mềm, kiểm thử tự động - Viết trường hợp thử kiểm thử (test case) - Nghiên cứu công cụ kiểm thử tự động Selenium WebDriver mơ hình kiểm thử đối tượng trang - Tìm hiểu website, thiết kế trường hợp thử phân tích Đối tượng nghiên cứu Đối tượng nghiên cứu đề tài là: - Lý thuyết kiểm thử phần mềm kiểm thử tự động - Ca kiểm thử cho test manual - Công cụ Selenium WebDriver cách ứng dụng công cụ vào kiểm thử tự động CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM Kiểm thử Kiểm thử tồn trước sau trình thực thi kiểm thử bắt đầu Hoạt động bao gồm việc lên kế hoạch (planning) kiểm soát (control), lựa chọn điều kiện kiểm thử, thiết kế thực thi test case, kiểm tra kết quả, xác định dừng trình kiểm thử, báo cáo trình kiểm thử tổng hợp hoàn thành việc kiểm thử trước giai đoạn kiểm thử (test phase) hoàn thành Kiểm thử bao gồm kiểm tra (review) tài liệu (có thể gồm source code) tiền hành phân tích Kiểm thử động (dynamic testing) kiểm thử tĩnh (static testing) thường sử dụng để đạt mục đích, cung cấp thơng tin để nâng cao hệ thống q trình kiểm thử phát triển 1.1 Mục đích kiểm thử  Tìm kiếm lỗi/ Finding defects  Đảm bảo mức độ chất lượng/ Gaining confidence about the level of quality  Cung cấp thông tin để đưa định/ Providing information for decisionmaking  Ngăn ngừa lỗi/ Preventing defects 1.2 Các nguyên tắc kiểm thử Kiểm tra diện lỗi/ Testing show presence of defect Kiểm tra tồn khơng thể/ Exhautive testing is impossible Thực kiểm thử sớm/ Early testing Phân loại lỗi/ Defect clustering Phương pháp thuốc trừ sâu/ Pesticide paradox Kiểm thử phụ thuộc vào bối cảnh/ Testing is context dependent Sự vắng mặt lỗi/ Absence of error fallacy 1.3 Tại kiểm thử phần mềm cần thiết? Vai trò kiểm thử phát triển phần mềm, bảo trì vận hành:  Kiểm thử nghiêm ngặt hệ thống tài liệu giúp giảm thiểu vấn đề rủi ro xảy trình vận hành góp phần nâng cao chất lượng hệ thống phần mềm, lỗi tìm thấy sửa chữa trước hệ thống vận hành thực tế  Kiểm thử phần mềm có yêu cầu để đạt tính hợp pháp đảm bảo hợp đồng, tiêu chuẩn ngành công nghiệp đặc biệt Kiểm thử chất lượng:  Kiểm thử mang lại tự tin chất lượng phần mềm tìm thấy vài khơng tìm thấy lỗi Kiểm thử giảm thiểu tổng thể mức độ rủi ro hệ thống Khi trình kiểm thử tìm thấy lỗi, chất lượng hệ thống phần mềm nâng cao sau lỗi sửa chữa Kiểm thử đủ:  Việc định kiểm thử đủ phụ thuộc vào mức độ rủi ro, bao gồm kỹ thuật, độ an toàn, rủi ro kinh doanh, hạn mức dự án thời gian ngân sách  Kiểm thử nên cung cấp đủ thông tin để bên liên quan định việc bàn giao phần mềm hệ thống qua kiểm thử, cho bước phát triển hay bàn giao cho khách hàng Các phương pháp kiểm thử 2.1 Kiểm thử thủ công ( test manual) Kiểm thử thủ công: tester làm công việc hoàn toàn tay, từ viết test case đến thực test, thao tác nhập điều kiện đầu vào, thực số kiện khác click nút quan sát kết thực tế, sau so sánh kết thực tế với kết mong muốn test case, điền kết test Hiện nay, phần lớn tổ chức, công ty phần mềm, nhóm làm phần mềm thực kiểm thử thủ công chủ yếu 2.2 Kiểm thử tự động ( test automation) Kiểm thử tự động: Kiểm thử phần mềm tự động thực kiểm thử phần mềm chương trình đặc biệt với khơng có tương tác người, giúp cho người thực việc kiểm thử phần mềm (tester) lặp lặp lại bước nhàm chán Cơng cụ kiểm thử tự động lấy liệu từ file bên (excel, csv…) nhập vào ứng dụng, so sánh kết mong đợi (từ file excel, csv…) với kết thực tế xuất báo cáo kết kiểm thử 2.3 So sánh kiểm thử thủ công kiểm thử tự động Kiểm thử Ưu điểm Nhược điểm Kiểm thử thủ công Cho phép tester thực Tốn thời gian Đối với việc kiểm thử khám phá lần release, người - Thích hợp kiểm tra sản kiểm thử phải thực phẩm lần lại tập hợp - Thích hợp kiểm thử test case chạy dẫn đến trường hợp test mệt mỏi lãng phí case phải thực effort số lần - Giảm chi phí ngắn hạn Kiểm thử tự động Thích hợp với trường Tốn kiểm thử tự hợp phải test nhiều lần động, chi phí đầu tư ban cho case, có tính đầu lớn định tin cậy cao - Kiểm thử thủ công so với kiểm thử thủ công thay - Có thể thực người ta tự thao tác lặp lặp lại động hóa thứ (nhập liệu, click, check kết ) giúp tester làm việc gây nhàm chán dễ nhầm lẫn - Giảm chi phí đầu tư dài hạn Hình 2.3 Bảng so sánh manual testing automation testing 2.4 Lựa chọn phương pháp kiểm thử Khi phát triển phần mềm, việc thực kiểm thử bắt buộc, cho dù người thực kiểm thử developer, tester Vì thế, có kiến thức kiểm thử, lựa chọn loại hình kiểm thử phù hợp với sản phẩm điều cần thiết cho người tham gia vào trình làm sản phẩm Mỗi loại hình kiểm thử có điểm mạnh điểm yếu riêng, nên lựa chọn loại hình kiểm thử nào, hồn cảnh nào? Hiện tất tổ chức, công ty phát triển phần mềm lựa chọn kiểm thử thủ công cho sản phẩm Tuy nhiên cơng cụ kiểm thử tự động có điểm mạnh định mà kiểm thử thủ công không có, nên cần xem xét hồn cảnh để áp dụng kiểm thử tự động cho trình kiểm thử phần mềm Ví dụ, việc sử dụng cơng cụ kiểm thử tự động áp dụng:  Khi phải thực thi số lượng test case lớn thời gian ngắn  Khi số lượng đầu vào cho test case nhiều  Khi muốn thực thi performance test load test, kiểm thử tự động gần lựa chọn Ngoài ra, tùy trường hợp cụ khác, tùy vào nội dung dự án, kiến thức kỹ người thực kiểm thử mà áp dụng loại hình kiểm thử cho phù hợp Nếu áp dụng cơng cụ kiểm thử tự động nên áp dụng.Tuy nhiên theo ý người viết kiểm thử thủ cơng phương pháp kiểm thử thay Cho dù có áp dụng kiểm thử tự động vào giai đoạn dự án cần có người thực kiểm thử thủ công nhằm đảm bảo giảm tối đa lỗi lường trước kịch Các chiến lược kiểm thử Ba số kiểm thử thông dụng Kiểm thử hộp trắng, kiểm thử hộp đen 3.1 Kiểm thử hộp trắng Là hình thức kiểm thử mà kiểm thử viên biết cấu trúc bên chương trình (mã nguồn, xử lý liệu,…) Việc kiểm thử dựa phân tích cấu trúc bên thành phần/hệ thống Kiểm tra mã nguồn chi tiết thủ tục (thuật toán), đường logic (luồng điều khiển), trạng thái chương trình (dữ liệu) 3.1.1 Đặc trưng:  Kiểm thử hộp trắng dựa vào thuật giải cụ thể, vào cấu trúc liệu bên đơn vị phần mềm cần kiểm thử để xác định đơn vị phần mềm có thực không  Người kiểm thử hộp trắng phải có kỹ năng, kiến thức định để hiểu chi tiết đoạn code cần kiểm thử  Thường tốn nhiều thời gian công sức mức độ kiểm thử nâng lên cấp kiểm thử tích hợp hay kiểm thử hệ thống Nỗ lực kỹ để sử dụng công cụ Người dùng cần phải có kỹ năng tốt lập trình coding vì đây điều kiện cần Địi hỏi nỗ lực h ơn để tạo kịch kiểm thử, có mơi trường phát triển tốt, thân thiện với người sử dụng Dễ dàng tạo kịch kiểm thử? Tốt Selenium IDE Recorder không mạnh mẽ QTP cơng cụ miễn phí, nhiều hành động không ghi lại IDE tự nhập vào Hồn hảo Hỗ trợ HĐH Windows, Linux, Unix Macintosh Loại ứng dụng Web based applications Windows Web-based desktop applications Trình duyệt IE, Firefox, Safari, Opera vài trình duyệt khác IE, Chrome Firefox Ngôn ngữ phát triển kịch kiểm thử Java, Ruby, Python, C#, Perl, Groovy nhiều ngơn ngữ khác VBScript và/hoặc JavaScript 10 Tích hợp với công cụ quản lý thử nghiệm 11 Môi trường phát triển kiểm thử 12 Hỗ trợ kỹ thuật 13 14 Quản lý lưu trữ đối tượng giao diện (UI-Object) Hỗ trợ cho Khi phát triển kiểm thử (test case) sử dụng C# VS sử dụng MTM để quản lý test cases Kịch thử nghiệm phát triển nhiều trình soạn thảo Eclipse, Visual Studio, Netbeans… Vì đây cơng cụ m ã nguồn mở nên khơng có hỗ trợ kỹ thuật thức Khơng. Đối tượng quản lý cách sử dụng giao diện người dùng mở rộn g (UIElement user extension) properties files Tất phương pháp đểu phải sử dụng code cứng (hard-code) Chỉ hỗ trợ phần. Không thể thực HP Quality Center TestDirector Kịch thử nghiệm chỉ có thể phát triển trong QTP QTP cung cấp hỗ trợ kỹ thuật tốt qua điện thoại, mail, web, forum Có. QTP xây dựng với Object Repository Quản lý Object repository dễ dàng QTP Có QTP hỗ trợ tất hộp thoại Hỗ trợ cho kịch tải lên tập tin 15 số hành động lấy tiêu đề hộp thoại Khơng Selenium khơng hỗ trợ kịch hạn chế JavaScript loại hộp thoại QTP vấn đề việc mơ Selenium lựa chọn hoàn hảo nếu…  Developer chịu trách nhiệm phát triển bảo trì kiểm thử  Những kiểm thử bạn phát triển phần sở hạ tầng lớn  Chắc chắn bạn thử kiểm thử trình duyệt mà thơi  Bạn nghĩ bạn thực kiểm thử môi trường khác ngồi Windows Bạn muốn sử dụng cơng cụ miễn phí  QTP có lẽ là lựa chọn tốt nếu…   Bạn muốn phát triển trì kiểm thử cách nhanh chóng dễ dàng  Nếu bạn cần kiểm thử đáng kể bên ngồi trình duyệt 8.4 CHƯƠNG THỰC HIỆN DỰ ÁN Giới thiệu Website bán hàng trực tuyến MOBILE VN Hình Trang chủ Website Các chức 2.1 Chức đăng kí tài khoản (register) Nếu người dùng nhập đầy đủ thông tin hợp lệ vào tất trường bắt buộc click “create account”, trang Account hiển thị với thông tin đăng ký Nếu để trống trường bắt buộc click “create account”, thông báo “Please enter ” hiển thị 2.2 Chức đăng nhập (login) Nếu người dùng nhập vào email mật đăng ký click “sign in”, trang Account hiển thị Nếu nhập vào email không hợp lệ mật không hợp lệ, thông báo “Sorry, but we don’t have an account with that e-mail address Please check your spelling or create an account.” hiển thị Nếu để trống trường click “sign in”, thông báo “You must supply a value for the 'login' field of this form.” “You must supply a value for the 'password' field of this form.” hiển thị 2.3 Chức thêm sản phẩm vào giỏ hàng ( add to cart) Nếu chọn size click “add to cart” trang thông tin sản phẩm, sản phẩm thêm vào giỏ hảng Thiết kế trường hợp kiểm thử (test case) 1.1 Test case – Register TCs ID SUMMARY STEPS EXPECTED RESULT TC_R1 Verify that Users open the chorme browser on the "Đăng ký" "Đăng kí"page screen of laptop popup is displays 2.EnterURL"http://103.95.199.151/mobilevn/" display successful on search tab when clicking Click on "enter" button on the keyboard on" Đăng kí tài Click on the"Đăng kí " button page khoản mới" button in Mobile VN page TC_R2 Verify that Navigate to "Đăng ký" page Leave "Họ A red "Email không tên" field blank Enter valid data into all message"Ho để trống" reamming fields Click on" Đăng kí" button tên khơng message Observe Họ Tên field để trống" displays below Email field displays above when leave Họ Tên field Email field blank then click on "Đăng kí"button TC_R3 Verify that Navigate to "Đăng ký" page Leave all All red user can not field balnk Click on" Đăng kí" button message register display above Observe Đăng kí page successful all field when leave all field blank TC_R4 Verify that Navigate to "Đăng ký" page 2.Enter email A red user can not already exists in Email field Enter valid data into message"Email register all reamming fields Click on" Đăng kí" button có Observe Email field successful TC_R5 CSDL" with email displays above already exists Email field Verify that Navigate to "Đăng ký" page 2.Enter A red user can not username less than character in Họ Tên message"Họ register field Enter valid data into all reamming tên phải successful fields Click on" Đăng kí" button Observe kí tự" with username Họ Tên field displays above less than Họ Tên character field 1.2 Test case – Login TCs ID SUMMARY STEPS EXPECTED RESULT TC_L1 Verify that Users open the chorme browser on the "Đăng nhập" "Đăng kí"page screen of laptop popup is displays 2.EnterURL"http://103.95.199.151/mobilevn/" display successful on search tab when clicking Click on "enter" button on the keyboard on" Đăng nhập Click on the"Đăng nhập " button page " button in Mobile VN page TC_L2 Verify that User Navigate to " Đăng nhập" page Enter " Email Message"Đăng can login SĐT " into " Email SĐT " field Enter ký thành công" successfully " Mật " into " Mật khẩu" field Click on " display with a valid Đăng nhập" button "password" TC_L3 TC_L4 Verify that user Navigate to " Đăng nhập" page Enter " Email A red message " can't login SĐT " into " Email SĐT " field Email SĐT successfully (E.g.thuytien@gmail.com) Enter " Mật " Mật with incorrect into " Mật khẩu" field (E.g.1234567) Click on " không " password Đăng nhập" button display Veryfy that Navigate to " Đăng nhập" page Leave Mat Enter password "Mật khau blank Enter valid data into all reamming message không để fields Click on Dang nhap button Obserse Mat displays below trống" message khau field Mat khau Verify that the Navigate to " Đăng nhập" page Enter " Email All fields item information SĐT " into " Email SĐT " field blank login is lost (E.g.tien@gmail.com) Enter " Mật " into " after closing and Mật khẩu" field (E.g.123456789) Click on " re-open the " Thoat" button displays below Mat khau field when leaving this field blank and click on Dang nhap button TC_L5 Login " page 1.3 Test case – Add to cart TCs ID SUMMARY STEPS EXPECTED RESULT TC_AC1 Verify that "Giỏ Navigate to Home page in Mobile VN "Giỏ hàng" hàng"page Click on "Tin tức" button 3.Click on page displays displays "Thêm vào giỏ hàng" button Observe successful when "Tin tức "page clicking on" Tin Tức" button in Mobile VN page TC_AC2 Verify that user Navigate to "Giỏ hàng" page Click The detail can add to cart on "Thêm vào giỏ hàng" button information of successful when Observe "Giỏ hàng"page product clicking on "Thêm display in giỏ vào giỏ hàng " hàng page button in home page TC_AC3 Verify that "Giỏ Navigate to home page 2.Click on "Giỏ hàng hàng bạn "Thêm vào giỏ hàng" button Observe bạn sản sản phẩm" title Giỏ hàng page phẩm" title displays in Giỏ displays in Giỏ hàng page when hàng page clicking on" thêm vào giỏ hàng" button in home page TC_AC4 TC_AC5 Verify that user Navigate to Đặt hàng page 2.Leave all All red can't pay field blank Click on"Thanh toán " message successful when button Observe Đặt hàng page dispaly above leave all field all field in Đặt blank hàng page Verify that Home Navigate to Đặt hàng page 2.Enter Home page page displays valid data all field Click on"Thanh displays successful when toán " button 4.Click on"Tiếp tục xem " clicking on" Tiếp button Observe Đặt hàng thành công tục xem" button in pop-up "Đặt hàng thành công" pop-up Ứng dụng công cụ Selenium Webdriver vào kiểm thử tự động 2.1 Login Khởi tạo class login Test case 01: Check Login Succesful Test case 02: Check Login Faild 2.2 Register Khởi tạo class register Test case 03: Check Register Successful Test case 04: Check Register Faild 2.3 Add to cart Test case thêm sản phẩm vào giỏ hàng toán KẾT LUẬN Kết đạt Sau q trình nghiên cứu, tìm hiểu hồn thành báo cáo, thân tơi tự đánh giá hồn thành mục tiêu mà đề đạt số kết sau: - Nghiên cứu trình bày đầy đủ kiểm thử phần mềm lý thuyết tổng quan kiểm thử phần mềm nói chung kiểm thử tự động nói riêng - Thiết kế ca kiểm thử ( test case) - Giới thiệu công cụ kiểm thử tự động Selenium WebDriver - Ứng dụng kiến thức nghiên cứu thực kiểm thử giao chức website thương mại điện tử MOBILE VN Hạn chế Do lực thời gian hạn chế, tìm hiểu, thiết kế thực kiểm thử tự động số chức website chức đăng nhập, đăng ký, thêm sản phẩm vào giỏ hàng, … Hướng phát triển Trong tương lai tiếp tục tìm hiểu, thiết kế thực kiểm thử tự động chức khác website, ứng dụng test script vào kiểm thử hồi quy kiểm tra độ ổn định website version nâng cấp website; đồng thời tìm kiếm khắc phục vấn đề chưa tìm test script TÀI LIỆU THAM KHẢO http://www.seleniumhq.org/ http://kiemthuphanmemvvn.blogspot.com/ http://vntesters.com/ TÀI LIỆU TỪ VIBLO

Ngày đăng: 11/06/2023, 17:34