Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
4,16 MB
Nội dung
LỜI CAM ĐOAN Để hồn thành khóa luận tốt nghiệp này, em có tham khảo số tài liệu liên quan đến Cơng Nghệ Thơng Tin nói chung kiểm thử phần mềm nói riêng.Em xin cam đoan đề tài em thực hiện, test thử em tự tìm hiểu hướng dẫn cô Đặng Thị Kim Anh Những thông tin tham khảo khóa luận trích dẫn cụ thể phần tài liệu tham khảo Hà Nội, ngày tháng năm 2018 Sinh viên Thái Thị Hồng Hạnh i LỜI CẢM ƠN Trong suốt thời gian học tập, nghiên cứu hồn thành khố luận, em nhận hướng dẫn, bảo tận tình thầy giáo, giúp đỡ, động viên bạn bè, đồng nghiệp gia đình Nhân dịp hồn thành khố luận, cho phép em xin bày tỏ lịng kính trọng biết ơn sâu sắc tới cô giáo Đặng Thị Kim Anh tận tình hướng dẫn, giành nhiều cơng sức, thời gian tạo điều kiện cho em suốt trình học tập thực đề tài Bên cạnh em xin cảm ơn thầy Phùng Nam Thắng thầy cô môn tin học đơn thúc, hướng dẫn em hồn thành khóa luậnnày Do kiến thức hạn hẹp thời gian thực khơng nhiều nên đề tài củaem cịn nhiều sai sót hạn chế Mặc dù phần làm rõ vấn đề đơi cịn mang tính lý thuyết, chưa thực tế.Em mong giúp đỡ đóng góp thầy để đề tài em hoàn thiện khả thi Em xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2018 Sinh viên Thái Thị Hồng Hạnh ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH SÁCH CÁC TỪ VIẾT TẮT v DANH SÁCH CÁC BẢNG vi DANH SÁCH CÁC HÌNH vii CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Mục tiêu đề tài 1.2 Giới hạn phạm vi đề tài 1.3 Nội dung thực 1.4 Phương pháp tiếp cận CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Phần mềm gì? 2.2 Kiểm thử phần mềm 2.3 Tổng quan kiểm thử 2.4 Quy trình kiểm thử phần mềm (Software Testing Life Cycle) 2.5 Các tiêu chí đánh giá chất lượng sản phẩm 2.6 Kiểm thử tự động 11 2.6.1 Khái niệm kiểm thử tự động 11 2.6.2 Quy trình kiểm thử tự động 13 CHƯƠNG NỘI DUNG THỰC HIỆN 15 3.1 Công cụ kiểm thử Selenium 15 iii 3.2 Cài đặt ứng dụng kiểm thử Selenium 16 3.2.1 Cài đặt kiểm thử selenium IDE 18 3.2.2 Các thao tác thực kiểm thử tự động với Selenium 21 3.2.3 Phần mở rộng Selenium IDE 26 3.3 Selenium Remote Control 27 3.3.1 Các thành phần Selenium Remote Control 27 3.3.2 Cài đặt kiểm thử Selenium Remote Control 28 3.4 Selenium Webdriver 32 3.4.1 Sự khác Selenium Webdriver Selenium RC 33 3.4.2 Trình điều khiển Selenium Web driver 33 3.4.3 Selenium Webdriver API hành động 34 3.4.4 Cài đặt kiểm thử Selenium Webdriver 35 3.5 Selenium Grid 39 3.5.1 Cài đặt kiểm thử Selenium Grid: 40 3.6 Kiểm thử ứng dụng website Lazada.vn 43 3.6.1 Các tài liệu cho trình kiểm thử 43 3.6.2 Áp dụng công cụ Selenium IDE 47 3.6.3 Áp dụng công cụ Selenium RC (được lấy từ Selenium IDE) 59 3.7 Kết luận công cụ Selenium 61 CHƯƠNG KẾT LUẬN 63 4.1 Kết đạt đề tài 63 4.2 Hạn chế đề tài 63 4.3 Hướng phát triển đề tài 63 TÀI LIỆU THAM KHẢO iv DANH SÁCH CÁC TỪ VIẾT TẮT Từ viết tắt IDE Từ đầy đủ Giải thích Integrated Development Mơi trường phát triển Environment thích hợp Là cơng cụ phát triển trường hợp thử nghiệm Selenium RC Selen Remote Control Điều khiển từ xa Selenium Công cụ kiểm thử v DANH SÁCH CÁC BẢNG Bảng 3.1 Sự khác Selenium RC WebDriver 33 Bảng 3.2 Trình điều khiển Selenium Web driver 33 Bảng 3.3 Sự khác Selenium IDE, WebDriver, RC 62 vi DANH SÁCH CÁC HÌNH Hình 3.1 Cửa sổ Programs and Features 16 Hình 3.2 Cửa sổ Windows Features 17 Hình 3.3 Cửa sổ Windows Features 17 Hình 3.4 Add Selenium IDE vào Firefox 18 Hình 3.5 Selenium IDE hiển thị bar 19 Hình 3.6 Giao diện Selenium IDE 19 Hình 3.7 Thực thu trường hợp kiểm thử 21 Hình 3.8 Thực thu trường hợp kiểm 21 Hình 3.9 Thực thu trường hợp kiểm thử 22 Hình 3.10 Chạy lệnh Selenium Server 29 Hình 3.11 Trang chủ Selenium 30 Hình 3.12 File Selenium Server tải xuống 30 Hình 3.13 Chạy kịch kiểm thử Selenium IDE Seleium RC 31 Hình 3.14 Thực thu trường hợp kiểm 32 Hình 3.15 Thực thu trường hợp kiểm 32 Hình 3.16 Trang chủ Dowload Selenium WebDriver 35 Hình 3.17 Dowload Visual Studio 2017 36 Hình 3.18 Trang chủ Visual Studio 2017 36 Hình 3.19 Tạo Project 37 Hình 3.20 Add Selenium WebDriver vào Tools 37 Hình 3.21 Add Selenium WebDriver vào Tools 38 Hình 3.22 Trình thu trường hộ kiểm thử 39 Hình 3.23 Trình thu trường hợp kiểm thử 39 Hình 3.24 Trang chủ Dowload Selenium Grid 40 Hình 3.25 Chạy Selenium Server 41 Hình 3.26 Hiển Selenium Grid Local 41 Hinh 3.27 Cấu hình Hub 42 vii Hình 3.28 Kết TestScript Selenium Webdriver 42 Hình 3.29 TestScript Kiểm tra đặt mua sách 48 Hình 3.30 Kết Testcase 50 Hình 3.31 Kết Testcase 51 Hình 3.32 Chạy kịch kiểm thử Selenium RC đăt mua sách 60 Hình 3.33 Chạy kịch kiểm thử Selenium WebDriver đặt mua sách 60 viii CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Mục tiêu đề tài - Nắm lý thuyết kiểm thử phần mềm, kiểm thử tự động phần mềm - Nắm lý thuyết công cụ kiểm thử tự động Selenium - Ứng dụng công cụ Selenim IDE, Selenium RC - Selenium Grid, Selenium Webdriver vào kiểm thử số trang web 1.2 Giới hạn phạm vicủa đề tài - Tập trung vào lý thuyết kiểm thử, kiểm thử tự động, công cụ Selenium - Ứng dụng công cụ Selenim IDE, Selenium Grid, Selenium RCSelenium Webdriver vào kiểm thử Website 1.3 Nội dung thực - Trình bày lý thuyết kiểm thử tự động phần mềm, kiểm thử ứng dụngWebsite - Trình bày lý thuyết công cụ kiểm thử tự động Selenium - Ứng dụng công cụ kiểm thử tự động Selenium vào kiểm thử Website 1.4.Phương pháp tiếp cận - Khảo sát: Nghiên cứu tài liệu, tìm hiểu mơ hình hệ thống bán hàng - Kế thừa: Kế thừa kết nghiên cứu giải pháp trước - Phương pháp chuyên gia: tìm hiểu xin ý kiến chuyên gia lĩnh vực công nghệ thơng tin, Tester có kinh nghiệm lâu năm giảng viên có kinh nghiệm CHƯƠNG CƠ SỞLÝ THUYẾT 2.1.Phần mềm gì? Khái niệm Phần mềm ứng dụng chạy bên máy tính nhằm cung cấp chức năng, đáp ứng yêu cầu, công việc người sử dụng thông qua phần cứng máy tính Một phần mềm thường gồm phần: - Chương trình máy tính: mã nguồn, mã máy - Cấu trúc liệu: cấu trúc làm việc(bộ nhớ trong), cấu trúc lưu trữ (bộ nhớ ngoài) - Các tài liệu liên quan: tài liệu hướng dẫn sử dụng, tài liệu phát triển, tài liệu tham khảo kỹ thuật… Phân loại phần mềm Dựa vào môi trường thực thi, phần mềm chia thành loại sau: - Phần mềm ứng dụng giao diện hệ điều hành: Windows Form, Windows Service - Phần mềm ứng dụng Web: Website, Web Service, Web API… - Phần mềm ứng dụng Mobile App: Android App, IOS App, Winphone App… - Phần mềm nhúng: Tivi, tủ lạnh, điều hòa… Vòng đời phát triển phần mềm(Software Devolopment Life Cycle) Vòng đời phát triển phần mềm thời kỳ tính từ phần mềm sinh chết (từ lúc hình thành đáp ứng yêu cầu, vận hành, bảo dưỡng loại bỏ khơng dùng nữa) Vịng đời phần mềm chia thành phachính: phân tích, thiết kệ, chiết tạo, kiểm thử, bảo trì Được biểu diễn mơ hình: Phaxác định yêu cầu hệ thống: Mọi phần mềm xây dựng, phát triển tài liệu đặc tả (Software Reqiment Specification) Dựa vào đặc tả người dùng (khách hàng), phận xây dựng phần mềm xác định yêu cầu Kết Hình 3.30 Kết Testcase 50 Testcase Không nhập p Email đăng ký k => kết mong mu muốn xuất thơng báo lỗi Hình 3.31.Kết Testcase TEST THỬ TRÊN TRANG TIKI.VN 51 Test chứcc đăng nhập nh Truy cập trang Tiki.vn Click chọn đăng nhập p show popup Test trường hợp login lỗ ỗi -> kq mong muốn trả lỗi tài khoảản không tồn 52 Kết Testcase1 53 Test trường hợp p login thành công -> kq mong muốn đăng nhậập thành công chuyển hướng đến giỏ hàng Kết Testcase2 54 Test chức tìm kiếm: m: Test tìm kiếm có sản n phẩm ph với từ khóa “Lock & Lock”-> > kq hi hiển thị sản phẩm m có tên “Lock & Lock” 55 Kết Testcase3 Test tìm kiếm có sản n phẩm ph với từ khóa “lock&lock”-> kq hiểnn th thị khơng tìm thấy “lock&lock” 56 Kết Testcase4 - Kiểm m tra đơn hàng lazada Testcase kiểm m tra có đơn hàng->chuyển hàng đếnn trang chi ti tiết 57 Kết 58 Testcase trường ng hợp h lỗi khơng có đơn hàng -> kq hiểnn th thị lỗi Kết 3.6.3 Áp dụng công cụ Selenium RC (được lấy từ Selenium IDE) 59 Hình 3.32 Chạy y kịch k kiểm thử Selenium RC đăt mua sách Hình 3.33 Chạy kịch ch b kiểm thử Selenium WebDriver đ đặt mua sách 60 3.7.Kết luận công cụ Selenium Những ưu điểm chung Selenium: - Selenium công cụ mã nguồn mở, mà hồn tồn miễn phí - Selenium hỗ trợ nhiều ngơn ngữ lập trình Java C#, Python, VB, PHP,… hỗ trợ với nhiều farmwork kiểm thử như: Junit, Nunit, TestNG - Selenium hỗ trợ kiểm thử nhiều trình duyệt firefox, Chrome, Internet Explore, Opera… - Hỗ trợ giữ lỗi - Tình linh hoạt có khả mở rộng cao - Dễ cài đặt cấu hình với người sử dụng Những nhược điểm chung Selenium: - Nhược điểm lớn Selenium thích hợp với hệ thống phát triển dựa tảng web, lý mà khơng thể sử dụng để kiểm thử phần mềm ứng dụng khác - Selenium thực kiểm thử thân khơng nhận biết đối tượng Sự khác Selenium IDE, RC, Webdriver 61 Bảng 3.3 Sự khác Selenium IDE, WebDriver, RC Selenium IDE Selenium RC Selenium Wevdriver Nó hoạt động Nó hỗ trợ tất Nó hỗ trợ tất trình duyệt Mozilla trình duyệt với trình duyệt với firefox, IE, Chrome, firefox, IE, Chrome, Safari, Opera… Safari, Opera, hỗ trợ kén phiên phiên trình duyệt Nó hỗ tợ ghi phát Nó khơng hỗ trợ ghi Nó khơng hỗ trwoj ghi lại phát lại phát lại Không cần thiết chạy Phải chạy máy chủ Không cần thiết chạy máy chủ trước thực trước thực máy chủ trước thực kịch kiểm kịch kiểm thử kịch kiểm thử thử Nó giao diện Đây chương trình Nó thực tế cốt lõi API Plug-in java độc lập cho phép ràng buộc chạy html thử nghiệm loạt ngôn ngữ Động cốt lõi dựa Động cốt lõi dựa Tương tác tự nhiên với Javascript Javascript ứng dụng trình duyệt Rất đơn giản để sử Nó dễ dàng ứng So với RC, dụng dụng nhỏ ứng dụng có chút phức tạp Nó khơng hỗ trợ điều Nó khơng hỗ trợ điều Nó hỗ trợ điều khiển khiển chuột bàn khiển chuột bàn chuột bàn phím phím phím 3.8 Kết thu sau trình test Các kết thu đựơc sau sau trình thực kiểm thử web: - Khi kiểm thử chức đặt mua sách công cụ Selenium IDE Selenium RC thu kết giống 62 CHƯƠNG KẾT LUẬN 4.1 Kết đạt đề tài - Nắm lý thuyết tổng quan kiểm thử tự động, kiểm thử ứng dụng web, công cụ kiểm thử tự động Selenium - Sử dụng công cụ Selenium RC, Selenium IDE kiểm tra chứng website Lazada - Lập đặc tả trường hợp gây lỗi website Lazada, Tiki - Tạo testcase dựa đặc tả website Lazada, Tiki đưa kết mong đợi kết thực tế kiểm thử - Xây dựng kịch kiểm thử liệu kiểm tra cho số chức website Lazada, Tiki 4.2 Hạn chế đề tài - Chưa kiểm thử hết chức website - Chưa tìm hiều hết công cụ kiểm thử tự động Selenium 4.3 Hướng phát triển đề tài - Tiếp tục tìm hiểu kiểm thử tự động, kiểm thử ứng dụng website, đặc biệt cơng cụ Selenium Trong tương lai, vân dụng vào kiểm thử ứng dụng thực tế công việc - Vận dụng Selenium để tối đa tự động hóa kiểm thử phần mềm - Tìm hạn chế để khắc phục, hoàn thiện công cụ sử dụng test 63 TÀI LIỆU THAM KHẢO * Tiếng Việt [1] Giáo trình cơng nghệ phần mềm, Nguyễn Văn Vy, Nguyễn Việt Hà, trường Đại học Cơng nghệ ĐHQGHN [2] Giáo trình kiểm thử phần mềm, Phạm Ngọc Hùng, Trương Anh Hoàng, Đặng Văn Hưng, Khoa Công Nghệ Thông Tin, trường Đại học Công nghệ ĐHQGHN [3] Giáo trình kiểm thử phần mềm trung tâm đào tạo TestMaster biên soạn * Tiếng Anh [4] Distributed_Testing_with_Selenium_Grid [5] Software Testing, Ron Patton, Second Edition, Sam Publishing Website [6] http://forums.testervn.com/showthread.php?p=23863#post23863 [7] http://www.way2automation.com/selenium/training/onlinetrainingwebinars.html [8] http://software-testing tutorialsautomation.blogspot.com/2013/07/parameterization-in-selenium-ide [9] http://51elliot.blogspot.com/2008/02/selenium-ide-goto.html [10] http://selenium.10932.n7.nabble.com/Re-Selenium-IDE-Data-DrivenTestingTest-data-couldn-t-be-loaded-or-test-data-was-empty-td25538.html [11] http://www.browserstack.com/automate/java [12] http://docs.seleniumhq.org/docs/, http://docs.seleniumhq.org/download/ [13] https://www.youtube.com/watch?v=EkPM_uj0j1s [14] http://blog.varunin.com/2011/07/factory-class-in-testng.html ... 2.6 Kiểm thử tự động 2.6.1 Khái niệm kiểm thử tự động Kiểm thử tự động trình thực cách tự động bước trongTestcase.Nó sử dụng cơng cụ kiểm thử tự động để rút ngắn thời giankiểm thử Kiểm thử tự động. .. thuyết kiểm thử tự động phần mềm, kiểm thử ứng dụngWebsite - Trình bày lý thuyết công cụ kiểm thử tự động Selenium - Ứng dụng công cụ kiểm thử tự động Selenium vào kiểm thử Website 1.4.Phương pháp... áp dụng việc tìm lỗi phần mềm Các trường hợp không nên áp dụng kiểm thử tự động Không phải lúc nên áp dụng kiểm thử tự động việc kiểmthử phần mềm, nhiều chi phí thời gian cho việc kiểm thử tự động