ĐẠI HỌC ĐÀ NẴNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG – VIỆT HÀN Độc lập Tự do Hạnh phúc ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI KIỂM THỬ WEB BẰNG CÔNG CỤ SELENIUM MỞ ĐẦU[.]
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG – VIỆT HÀN CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập-Tự do-Hạnh phúc ĐỒ ÁN CƠ SỞ ĐỀ TÀI: KIỂM THỬ WEB BẰNG CƠNG CỤ SELENIUM MỞ ĐẦU Ngày nay, cơng nghệ thơng tin nói chung cơng nghệ phần mềm nói riêng chiếm vị trí quan trọng tiến trình cơng nghiệp hố, đại hố đất nước Song song với việc phát triển công nghệ phần mềm tiềm ẩn thách thức cho dành doanh nghiệp, nhà phát triển phần mềm việc kiểm soát lỗi, chất lượng đầu sản phẩm Tuy nhiên Việt Nam, số lượng kiểm thử viên chưa đáp ứng với nhu cầu thị trường Bên cạnh đó, xu hướng áp dụng tự động hố triển khai rộng rãi nhiều lĩnh vực, có kiểm thử phần mềm Đặc biệt, kiểm thử phần mềm công đoạn chiếm phần lớn thời gian trình phát triển dự án phần mềm đời công cụ kiểm thử tự động có ý nghĩa hết, giúp tiết kiệm thời gian, công sức tiền bạc Selenium công cụ hỗ trợ kiểm thử tự động dành cho ứng dụng Web, hoạt động hầu hết trình duyệt phổ biến Firefox, Chrome, Internet Explorer, Safari, v.v hỗ trợ số lượng lớn ngơn ngữ lập trình Web phổ biến Công cụ Selenium đánh giá công cụ tốt cho kiểm thử tự động ứng dụng Web Với mong muốn tìm hiểu sâu lĩnh vực kiểm thử phần mềm trở thành kỹ sư kiểm thử phần mềm sau tốt nghiệp đại học, em chọn đề tài “Kiểm thử ứng dụng Web công cụ Selenium.” Trong q trình làm đồ án, cịn hạn chế thời gian kinh nghiệm thực tế, em mong nhận góp ý chân thành từ thầy cô bạn Đề tài giới thiệu lý thuyết kiểm thử phần mềm, công cụ hỗ trợ kiểm thử tự động Ngoài ra, đề tài sâu vào việc tìm hiểu, sử dụng tính năng, cơng cụ phần mềm Selenium như: Đưa hướng dẫn cài đặt, sử dụng hiệu công cụ Ứng dụng kiến thức học để viết kịch kiểm thử cho ứng dụng cụ thể Đồ án tổ chức làm phần sau: Mở đầu: Trình bày rõ lý chọn đề tài, mục tiêu nghiên cứu đồ án bố cục đồ án Chương 1: Tổng quan kiểm thử phần mềm Selenium Webdriver Chương giới thiệu tổng quan kiểm thử phần mềm, nêu lên vai trò kiểm thử trình phát triển dự án phần mềm quy trình kiểm thử phần mềm tự động Đồng thời tập trung tìm hiểu việc kiểm thử tự động ứng dụng Web, bước kiểm thử lựa chọn công cụ kiểm thử phù hợp – Selenium WebDriver Từ sâu vào tìm hiểu cơng cụ Selenium WebDriver vai trò, ưu nhược điểm đặc trưng câu lệnh mà công cụ hỗ trợ Chương 2: Kiểm thử ứng dụng Web Chương trình bày chi tiết khái niệm kiểm thử ứng dụng Web, công việc kiểm thử ứng dụng Web, giới thiệu số công cụ hỗ trợ kiểm thử ứng dụng web Chương 3: Ứng dụng Selenium Webdriver kiểm thử website Đi vào xây dựng kịch kiểm thử cho chức website Đồng thời, đưa giải pháp giải toán kiểm thử tự động ứng dụng Web, quy trình thực thi kiểm thử tự động đưa báo cáo cho kết kiểm thử Chương 4: Thực nghiệm đánh giá kết Áp dụng kiến thức trình bày vào tốn cụ thể: Sử dụng công cụ kiểm thử tự động Selenium WebDriver để kiểm thử tự động chức phân tích Kết luận: Phần đưa kết đồ án đạt được, thiếu sót chưa thực hướng phát triển đề tài tương lai LỜI CẢM ƠN Lời em xin chân thành cảm ơn thầy, cô Trường Đại Học Công Nghệ Thông Tin Truyền Thông – Việt Hàn tạo điều kiện thuận lợi cho em trình, thời gian thực đồ án Để hoàn thành trình nghiên cứu hồn thiện đồ án Bày tỏ lịng biết ơn sâu sắc thầy trường cơng nghệ thơng tin dìu dắt, chia sẻ kiến thức quý báu suốt trình học tập trường Đặc biệt thầy ThS.Đỗ Công Đức – giảng viên trực tiếp hướng dẫn, bảo, giúp em khắc phục khó khăn, với tri thức tâm huyết Thầy tạo điều kiện chúng em hồn thành tốt đồ án cở sở Nếu khơng có Thầy đồ án chúng em khó hoàn thành Cuối cùng, chúng em xin cảm ơn người thân, bạn bè bên chúng em, động viên, sẻ chia, giúp đỡ, cổ vũ tinh thần… Đó nguồn động lực giúp chúng em hồn thành chương trình Mặc dù cố gắng với tất nỗ lực thân để hoàn thiện đồ án, lực kinh nghiệm hạn chế nên đồ án khơng thể tránh khỏi thiếu sót Kính mong nhận đóng góp ý kiến từ phía thầy cơ, bạn bè để em nâng cao kiến thức thân, hoàn thiện đồ án tốt Em xin chân thành cảm ơn! MỤC LỤC MỞ ĐẦU LỜI CẢM ƠN NHẬN XÉT MỤC LỤC CHƯƠNG 1.1 TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ SELENIUM WEBDRIVER 11 Kiểm thử phần mềm 11 1.1.1 Khái niệm kiểm thử phần mềm 11 1.1.2 Các cấp độ kiểm thử phần mềm 12 1.2 Kiểm thử tự động 13 1.2.1 Khái niệm kiểm thử tự động .13 1.2.2 Quy trình kiểm thử tự động 14 1.2.3 So sánh kiểm thử tự động kiểm thử thủ công 15 1.2.4 Một số công cụ kiểm thử tự động phổ biến .16 1.3 Công cụ kiểm thử tự động Selenium Selenium WebDriver 17 1.3.1 Khái quát Selenium 17 1.3.2 Selenium WebDriver 19 1.3.3 Các câu lệnh sử dụng Selenium WebDriver 23 1.4 Kết luận chương 26 CHƯƠNG 2.1 KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB .27 Khái quát kiểm thử ứng dụng Web 27 2.1.1 Khái quát .27 2.1.2 Các loại ứng dụng Web .27 2.2 Đặc điểm chất lượng ứng dụng Web .28 2.3 Cơng việc kiểm thử ứng dụng Web 30 2.3.1 Kiểm thử chức 30 2.3.2 Kiểm thử khả sử dụng 31 2.3.3 Kiểm thử tương thích .32 2.3.4 Kiểm thử hiệu suất 33 2.3.5 Kiểm thử bảo mật .34 2.4 Một số công cụ hỗ trợ kiểm thử ứng dụng Web 34 2.4.1 Công cụ kiểm thử hiệu .34 2.4.2 Công cụ kiểm thử bảo mật 35 2.4.3 Công cụ kiểm thử chức 36 2.5 Kết luận chương 37 CHƯƠNG 3.1 ỨNG DỤNG SELENIUM WEBDRIVER TRONG KIỂM THỬ WEBSITE .38 Thiết kế test case cho chức .38 3.1.1 Chức đăng ký .38 3.1.2 Chức đăng nhập 41 3.1.3 Chức thêm sản phẩm vào giỏ hàng 43 3.1.4 Chức sửa giỏ hàng 45 3.1.5 Chức đặt hàng 48 3.2 Hướng giải toán thực thi kiểm thử tự động 52 3.2.1 Các yêu cầu công nghệ 52 3.2.2 Hướng thực thi kiểm thử tự động 53 CHƯƠNG THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ .56 4.1 Giới thiệu website Magento 56 4.2 Kiểm thử tự động website với SeleniumWebDriver 57 4.2.1 Chức đăng ký tài khoản 57 4.2.2 Chức đăng nhập 58 4.2.3 Chức thêm sản phẩm vào giỏ hàng 60 4.2.4 Chức sửa giỏ hàng 60 4.2.5 Chức đặt hàng 61 4.2.6 Mô tả sản phẩm 63 4.3 Đánh giá kết kiểm thử 66 4.4 Kết luận chương 66 DANH MỤC HÌNH Hình 1-1 Các cấp độ kiểm thử phần mềm .11 Hình 1-2 Selenium RC .21 Hình 3-1 Quá trình kiểm thử tự động .54 Hình 4-1 Kết test chức đăng ký .57 Hình 4-2 Kết test chức đăng nhập 58 Hình 4-3 Kết test chức thêm sản phẩm vào giỏ hàng 59 Hình 4-4 Kết test chức sửa giỏ hàng .60 Hình 4-5 Kết test chức đặt hàng 61 Hình 4-6 Giao diện 62 Hình 4-7 Add thơng tin vào phần mềm 62 Hình 4-8 Khởi tạo test case .63 Hình 4-9 Lưu lần kiểm thử 63 Hình 4-10 Dữ liệu ghi file 64 Hình 4-11 Các class chương trình 64 DANH MỤC BẢNG Bảng 3-1 Mô tả yêu cầu chức đăng ký 37 Bảng 3-2 Các trường hợp test chức đăng ký 39 Bảng 3-3 Mô tả yêu cầu chức đăng nhập .40 Bảng 3-4 Các trường hợp test chức đăng nhập .41 Bảng 3-5 Mô tả yêu cầu chức thêm sản phẩm vào giỏ hàng 42 Bảng 3-6 Các trường hợp test chức thêm sản phẩm vào giỏ hàng 44 Bảng 3-7 Mô tả yêu cầu chức sửa giỏ hàng 45 Bảng 3-8 Các trường hợp test chức sửa giỏ hàng 46 Bảng 3-9 Mô tả yêu cầu chức đăng ký 48 Bảng 3-10 Các trường hợp test chức đặt hàng 50 CHƯƠNG TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ SELENIUM WEBDRIVER 1.1 Kiểm thử phần mềm 1.1.1 Khái niệm kiểm thử phần mềm Kiểm thử phần mềm có nhiều định nghĩa khác đề xuất nhiều tổ chức hay cá nhân khác Dưới số định nghĩa bật: Định nghĩa Myer(1979): - Kiểm thử phần mềm trình thực thi chương trình với mục đích tìm lỗi Hai định nghĩa IEEE(1990): - Kiểm thử phần mềm trình vận hành hệ thống thành phần hệ thống với điều kiện xác định, nhận xét ghi lại kết quả, tạo đánh giá khía cạnh hệ thống hay thành phần - Kiểm thử phần mềm q trình phân tích yếu tố phần mềm để phát khác biệt chương trình với điều kiện yêu cầu đánh giá đặc điểm yếu tố phần mềm Mục tiêu kiểm thử phần mềm: - Các mục tiêu trực tiếp: Xác định phát nhiều lỗi phần mềm kiểm thử Sau sửa chữa lỗi xác định kiểm tra lại, làm cho phần mềm kiểm thử đến mức độ chấp nhận chất lượng Thực yêu cầu kiểm thử cần thiết cách hiệu có hiệu quả, phạm vi ngân sách thời gian cho phép - Các mục tiêu gián tiếp Để biên dịch tài liệu lỗi phần mềm thường gặp nhằm mục đích ngăn ngừa sửa chữa lỗi 1.1.2 Các cấp độ kiểm thử phần mềm