Phương pháp sinh bộ kiểm thử tự động cho kiểm thử giao diện ứng dụng web luận văn ths công nghệ thông tin 60 48 10 pdf

63 455 2
Phương pháp sinh bộ kiểm thử tự động cho kiểm thử giao diện ứng dụng web   luận văn ths  công nghệ thông tin   60 48 10 pdf

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ HÀ KHÁNH TOÀN PHƢƠNG PHÁP SINH BỘ KIỂM THỬ TỰ ĐỘNG CHO KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2013 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ HÀ KHÁNH TOÀN PHƢƠNG PHÁP SINH BỘ KIỂM THỬ TỰ ĐỘNG CHO KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS LÊ THANH HÀ Hà Nội - 2013 i LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu dƣới giúp đỡ lớn Giảng viên hƣớng dẫn Tiến sĩ Lê Thanh Hà, Tiến sĩ Phạm Ngọc Hùng Những nội dung nghiên cứu kết đề tài hoàn toàn trung thực Các trích dẫn từ nguồn tài liệu bên đƣợc liệt kê rõ ràng phần cuối luận văn Hà Nội, tháng 12 năm 2013 Học viên Hà Khánh Toàn ii LỜI CẢM ƠN Để hoàn thành đề tài luận văn thạc sĩ cách hoàn chỉnh, bên cạnh nỗ lực cố gắng thân có hƣớng dẫn nhiệt tình quý Thầy Cô, nhƣ động viên ủng hộ gia đình bạn bè suốt thời gian học tập, nghiên cứu thực luận văn thạc sĩ Xin chân thành bày tỏ lòng biết ơn sâu sắc đến Tiến sĩ Lê Thanh Hà, Tiến sĩ Phạm Ngọc Hùng, ngƣời dành nhiều thời gian tâm huyết hƣớng dẫn nghiên cứu hoàn thành luận văn thạc sĩ Xin gửi lời tri ân điều mà Thầy dành cho Xin chân thành bày tỏ lòng biết ơn đến toàn thể quý Thầy Cô khoa Công Nghệ Thông Tin Trƣờng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội tận tình truyền đạt kiến thức quý báu nhƣ tạo điều kiện thuận lợi cho suốt trình học tập, nghiên cứu thực đề tài luận văn Cuối cùng, xin chân thành bày tỏ lòng cảm ơn đến Ban lãnh đạo Hệ thống Đào tạo Lập trình viên Quốc tế Aprotrain-Aptech tạo điều kiện cho nhiều suốt trình làm việc, học tập thực đề tài luận văn thạc sĩ Mặc dù cố gắng hoàn thiện luận văn tất nhiệt tình lực Tuy nhiên trình độ, kinh nghiệm khả chuyên môn có hạn, chắn luận văn nhiều thiếu sót Rất mong nhận đƣợc góp ý quý Thầy Cô bạn Hà Nội, tháng 12 năm 2013 Học viên Hà Khánh Toàn iii MỤC LỤC TRANG PHỤ BÌA LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ CHƢƠNG GIỚI THIỆU CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 Khái niệm Web Application 2.2 Các kỹ thuật kiểm thử 2.2.1 Kiểm thử hộp đen 2.2.3 Kiểm thử hộp xám 2.2.4 Kiểm thử dựa mô hình 2.2.5 Kiểm thử sử dụng máy hữu hạn trạng thái 2.3 Các mức kiểm thử 11 2.3.1 Kiểm thử đơn vị 12 2.3.2 Kiểm thử tích hợp 12 2.3.3 Kiểm thử hệ thống 13 2.3.4 Kiểm thử chấp nhận 13 2.4 BỘ CÔNG CỤ SELENIUM – WEBDRIVER TRONG VIỆC KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB 13 2.4.1 Tổng quan Selenium 14 2.4.2 Selenium-RC (Remote Control) 14 2.4.3 Selenium (Selenium – Webdriver) 15 2.4.4 Một số Selenium-Webdriver API 15 CHƢƠNG PHƢƠNG PHÁP SINH BỘ KIỂM THỬ TỰ ĐỘNG CHO KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB 18 iv 3.1 Mục tiêu phƣơng pháp nghiên cứu 18 3.2 Tổng quan 18 3.3 Tạo ca kiểm thử cho ứng dụng Web 19 3.3.1 Xây dựng mô hình máy hữu hạn trạng thái 19 3.3.2 Xây dựng mô hình đồ thị cho máy hữu hạn trạng thái 27 3.3.3 Thực việc tạo ca kiểm thử 30 3.3.4 Thuật toán sinh ca kiểm thử 30 CHƢƠNG THỰC NGHIỆM 32 4.1 Phƣơng pháp thực 32 4.2 Xây dựng công cụ kiểm thử tự động 32 4.2.1 Mô tả công cụ kiểm thử 33 4.2.2 Xây dựng ứng dụng Web 34 4.2.3 Xây dựng máy hữu hạn trạng thái cho ứng dụng Web 38 4.3 Kết thử nghiệm chƣơng trình 41 4.4 Thảo luận 44 CHƢƠNG KẾT LUẬN 45 PHỤ LỤC 47 TÀI LIỆU THAM KHẢO 54 v DANH MỤC CÁC TỪ VIẾT TẮT Viết tắt Cụm từ đầy đủ Ý nghĩa FSM Finite State Machine Máy hữu hạn trạng thái HTTP Hypertext Transfer Protocol Giao thức truyền siêu văn WSDL Web Services Description Language Ngôn ngữ mô tả dịch vụ Web SOAP Simple Object Access Protocol Giao thức truy cập đối tƣợng đơn giản API Application Programming Interface Giao diện lập trình ứng dụng UML Unified Modeling Language Ngôn Ngữ Mô Hình Hóa Thống Nhất SWEBOK Software Engineering Body of Knowledge Tổ chức quốc tế theo chuẩn ISO/IEC TR 19759:2005 vi DANH MỤC CÁC BẢNG Số hiệu bảng Tên bảng Trang 2.1 Bảng chuyển trạng thái 10 3.1 Bảng chuyển trạng thái trang login.aspx 20 3.2 Bảng chuyển trạng thái trang studentInformation.aspx 21 3.3 Bảng chuyển trạng thái trang resultStudent.aspx 22 3.4 Bảng chuyển trạng thái trang addMark.aspx 3.5 Bảng chuyển trạng thái trang logout.aspx 27 4.1 Các phần tử html trang login.aspx 38 4.2 Bảng trạng thái trang login.aspx 38 4.3 Bảng kiện trang login.aspx 38 4.4 Bảng biểu diễn trạng thái chuyển trang login.aspx 39 4.5 Các phần tử html trang studentInformation.aspx 39 4.6 Bảng trạng thái trang studentInformation.aspx 39 4.7 Bảng kiện trang studentInformation.aspx 39 4.8 Bảng biểu diễn trạng studentInformation.aspx 4.9 Các phần tử html trang resultStudent.aspx 40 4.10 Bảng trạng thái trang resultStudent.aspx 40 4.11 Bảng kiện trang resultStudent.aspx 40 4.12 Bảng biểu diễn resultStudent.aspx 4.13 Bảng trạng thái trang logout.aspx 41 4.14 Bảng kiện trang logout.aspx 41 4.15 Bảng biểu diễn trạng thái chuyển trang logout.aspx 41 trạng thái thái chuyển chuyển 24-25-26 trang trang 39 41 vii DANH MỤC CÁC HÌNH VẼ Số hiệu hình vẽ Tên hình vẽ Trang 2.1 Kiểm thử hộp đen 2.2 Một ví dụ kiểm thử hộp trắng 2.3 Sơ đồ luồng điều khiển đƣợc tạo từ chƣơng trình 2.4 Các bƣớc thực kiểm thử mô hình 2.5 Mô hình đồ thị máy FSM 11 3.1 Máy hữu hạn trạng thái cho trang login.aspx 27 3.2 Máy hữu hạn trạng thái cho trang studentInformation.aspx 28 3.3 Máy hữu hạn trạng thái cho trang ResultStudent.aspx 28 3.4 Máy hữu hạn trạng thái cho trang addMark.aspx 29 3.5 Máy hữu hạn trạng thái cho trang logout.aspx 30 3.6 Thuật toán duyệt đồ thị theo chiều sâu 31 4.1 Sơ đồ xây dựng toán 33 4.2 Giao diện chƣơng trình 34 4.3 Giao diện trang Login.aspx 35 4.4 Giao diện trang studentInformation.aspx 36 4.5 Giao diện trang resultStudent.aspx 36 4.6 Giao diện trang addMark.aspx 37 4.7 Giao diện trang logout.aspx 37 CHƢƠNG GIỚI THIỆU Ngày nay, phát triển Internet thúc đẩy nhu cầu cộng tác làm việc qua mạng sử dụng dịch vụ trực tuyến dần trở thành nhu cầu thiết yếu sống Xu hƣớng đòi hỏi ứng dụng không hệ thống đơn lẻ máy chịu phụ thuộc vào tảng cố định nữa, mà chúng phải hệ thống linh hoạt giúp ngƣời dùng làm việc “mọi lúc, nơi” Do đó, việc phát triển ứng dụng Web xu hƣớng tất yếu ngành công nghiệp phần mềm Các ứng dụng Web đƣợc ứng dụng rộng rãi thực tế Càng ngày doanh nghiệp nói chung ngƣời nói riêng phụ thuộc vào ứng dụng Web làm để ứng dụng Web đáp ứng đƣợc nhu cầu Do đó, nhu cầu đảm bảo an toàn chất lƣợng sản phẩm phần mềm ứng dụng Web ngày trở nên cấp thiết Việc đảm bảo chất lƣợng phần mềm toán khó tiêu tốn 50% công sức chi phí doanh nghiệp phần mềm Kiểm thử đƣợc quan tâm nhƣ phƣơng pháp chủ yếu để đảm bảo chất lƣợng sản phẩm phần mềm ứng dụng Web nói riêng sản phẩm phần mềm nói chung Trong thực tế, công ty gặp nhiều khó khăn, tốn thời gian chi phí cao cho việc kiểm thử ứng dụng Web Mặc dù họ thuê ngƣời kiểm thử có kỹ kiểm thử giỏi, song sai sót thiếu sót kiểm thử ứng dụng Web tránh khỏi phƣơng pháp kiểm thử ứng dụng Web thƣờng đƣợc thực thủ công Do đó, phƣơng pháp kiểm thử không đảm bảo phát tất lỗi Ngoài ra, việc kiểm thử thủ công ứng dụng Web tẻ nhạt tốn thời gian (đôi tƣơng tác ngƣời dùng lớn), đặc biệt thực kiểm thử qui hồi ứng dụng Kết ứng dụng Web tiềm ẩn nhiều lỗi sau triển khai cho khách hàng Trong kiểm thử ứng dụng Web, kiểm thử tƣơng tác giao diện ngƣời dùng vấn đề khó thƣờng đƣợc thực thủ công Trong thực tế, có thiết kế giao diện ngƣời dùng mô tả việc thay đổi trạng thái hình ứng với tƣơng tác ngƣời dùng Các thay đổi trạng thái xảy trang Web từ trang Web sang trang Web khác Làm để đảm bảo việc cài đặt tuân thủ theo thiết kế mục đích kiểm thử tƣơng tác giao diện ngƣời dùng cho ứng dụng Web Các kỹ thuật kiểm thử tự động đƣợc biết đến nhƣ giải pháp tiềm để giải vấn đề Những kỹ thuật phát tất lỗi ứng dụng cách tạo thực tự động ca kiểm thử Kết là, tiết kiệm thời gian chi phí kiểm thử Tự động kiểm thử trình thực 40 studentName f_main error - - t_submit - - Tiếp theo máy hữu hạn trạng thái cho trang resultStudent.aspx Bảng 4.9 Các phần tử html trang resultStudent.aspx id Tên thẻ HTML Kiểu txtStudentName Textbox Giá trị mặc định - ddlKhoaHoc dropdownlist Chọn khóa học btnSubmit title_index title_error button title title title index error main Mô tả Ô nhập cho tên sinh viên Danh sách chọn khóa học Nút gửi liệu Tiêu đề trang Tiêu đề trang bị lỗi Tiêu đề trang thành công title_main Bảng 4.10 Bảng trạng thái trang resultStudent.aspx Tên trạng thái S_ResultStudent StudentName KhoaHoc stdName+KhoaHoc F_main Error null value Null value _ _ null null value value _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ value value value value _ _ Bảng 4.11 Bảng kiện trang resultStudent.aspx Tên kiện t_stdName Select_khoahoc del_stdName del_khoahoc t_submit Định danh Phần tử 1 Thao tác Mô tả addtext Select Deltext Noselect Click Nhập liệu văn vào ô nhập Chọn khóa học Xóa liệu ô nhập Bỏ chọn khóa học Gửi liệu lên server 41 Bảng 4.12 Bảng biểu diễn trạng thái chuyển trang resultStudent.aspx Result Student.aspx s_Result Student Student Name Khoahoc Student+K F_main hoaHoc error s_ResultStudent - t_StdName select_ khoahoc - - t_submit - - - t_submit - t_submit StudentName Khoahoc t_ StdName select_ khoahoc del_StdName del_khoahoc - - Student+KhoaHoc F_main error - - t_submit - Cuối máy hữu hạn trạng thái cho trang đăng xuất Trong trang không chứa phần tử html có trạng thái, kiện trạng thái chuyển đƣợc biểu diễn bảng 4.13, bảng 4.14 bảng 4.15 Bảng 4.13 Bảng trạng thái trang logout.aspx Tên trạng thái t_login_link - - Bảng 4.14 Bảng kiện trang logout.aspx Tên kiện t_login_link Phần tử html - Thao tác click vào liên kết Bảng 4.15 Bảng biểu diễn trạng thái chuyển trang logout.aspx Logout.aspx s_end F_login s_end - F_login t_login_link - 4.3 Kết thử nghiệm chƣơng trình Sau đƣa phần tử HTML, trạng thái, kiện, trạng thái chuyển mô tả vào chƣơng trình chạy thực nghiệm, kết thu đƣợc nhƣ sau: Đối với trang login.aspx, sau chạy thuật toán ta thu đƣợc kết nhƣ sau: với mƣời đƣờng kiểm thử Dữ liệu đầu vào: 42 Tổng số phần tử html: Tổng số trạng thái: Tổng số kiện: Tổng số trạng thái chuyển: 15 Tổng số ca kiểm thử: 11 Chƣơng trình đọc tệp thành công Test path 1: S_index*t_passwd=passwd Test path 2: S_index*t_submit=error Test path 3: S_index*t_passwd=passwd*t_reset=S_index Test path 4: S_index*t_passwd=passwd*t_usrname=usr+pass Test path 5: S_index*t_reset = S_index*t_usrname = usrname*t_reset = S_index Test path 6: S_index*t_reset = S_index*t_usrname = usrname*t_submit = error Test path 7: S_index*t_passwd = passwd*t_usrname = usr+pass*t_reset = S_index Test path 8: S_index*t_passwd usr+pass*del_passwd = usrname = passwd*t_usrname = Test path 9: S_index*t_reset = S_index*t_usrname = usrname*t_passwd = usr+pass*t_submit = F_main Test path 10: S_index*t_reset = S_index*t_usrname = usrname*t_submit = error*t_prev = S_index Test path 11: S_index*t_reset = S_index*t_usrname = usrname*t_passwd = usr+pass*del_usrname = passwd*t_submit=error Tiếp theo kết trang thông tin học viên ta thu đƣợc hai đƣờng kiểm thử: Dữ liệu đầu vào: Tổng số phần tử html: Tổng số trạng thái: Tổng số kiện: Tổng số trạng thái chuyển: 43 Tổng số ca kiểm thử: Test path 1: s_StudentInfo * StudentNameText = StudentName * submit = studentInformation.aspx Tức từ trạng thái ban đầu ngƣời dùng nhập tên học viên vào ô nhâp sau bấm vào nút Submit trang thông tin học viên Ca kiểm thử thành công Test path 2: S_ StudentInfo * Submit = errorSt Ngƣời dùng từ trạng thái ban đầu bấm nút submit trạng thái lỗi Ca kiểm thử thành công Đối với trang resultStudent.aspx, sau chạy thuật toán ta thu đƣợc kết nhƣ sau: với năm đƣờng kiểm thử Dữ liệu đầu vào: Tổng số phần tử html: Tổng số trạng thái: Tổng số kiện: Tổng số trạng thái chuyển: 10 Tổng số ca kiểm thử: Test path 1: s_ResultStudent * select_khoahoc = KhoaHoc * t_stdnameText = StudentName+Khoahoc*Submit = resultStudent.aspx Tức từ trạng thái ban đầu ngƣời dùng chọn khóa học sau ngƣời dùng chọn tên học viên theo khóa bấm vào nút Submit trang kết học tập học viên Ca kiểm thử thành công Test path 2: S_ResultStudent * Select_khoahoc = Khoahoc*Submit = errorSt Ngƣời dùng từ trạng thái ban đầu chọn khóa học sau bấm nút submit trạng thái lỗi Ca kiểm thử thành công Test path 3: S_ResultStudent * t_StdNameText = StudentName * select_khoahoc = StudentName+Khoahoc*Submit = resultStudent.aspx Ngƣời dùng từ trạng thái ban đầu chọn tên học viên sau chọn khóa học bấm nút submit trạng kết học tập Ca kiểm thử thành công Test path 4: S_ResultStudent * t_StdNameText = StudentName * Submit = errorSt Ngƣời dùng từ trạng thái ban đầu chọn tên học viên sau bấm vào nút submit trạng thái lỗi Ca kiểm thử không thành công Test path 5: _ResultStudent * Submit = errorSt Ngƣời dùng từ trạng thái ban đầu bấm nút submit trạng thái lỗi Ca kiểm thử thành công 44 Cuối kết kết trang đăng xuất ta thu đƣợc đƣờng kiểm thử: Dữ liệu đầu vào: Tổng số phần tử html: Tổng số trạng thái: Tổng số kiện: Tổng số trạng thái chuyển: Tổng số ca kiểm thử: Test path 1: s_end * t_login_link = login.aspx Tức từ trạng thái ban đầu ngƣời dùng nhấp vào liên kết trang đăng nhập chuyển đến trang đăng nhập Ca kiểm thử thành công 4.4 Thảo luận Để kiểm tra tính đắn chƣơng trình kiểm thử, trang kết học tập tạo lỗi để kiểm thử xem chƣơng trình có phát lỗi hay không Nhƣ sau chạy chƣơng trình kiểm thử tự động cho trang kết học tập học viên sinh đƣợc năm ca kiểm thử có ca kiểm thử không thành công bốn ca kiểm thử thành công Đồng thời sau kiểm thử lại thủ công ca kiểm thử có ca kiểm thử không thành công Sau hiệu chỉnh lại trang kết ứng dụng Web, chạy lại chƣơng trình kiểm thử năm ca kiểm thử thành công Từ thấy đƣợc tính đắn chƣơng trình tự động kiểm thử 45 CHƢƠNG KẾT LUẬN Một hoạt động công ty việc đảm bảo chất lƣợng phần mềm kiểm thử giao diện ứng dụng Tuy nhiên, kiểm thử phần mềm nói chung kiểm thử giao diện nói riêng đƣợc biết đến nhƣ pha quan trọng nhất, tốn mắt xích yếu quy trình phát triển phần mềm Giải pháp phổ biến để giải vấn đề áp dụng phƣơng pháp kiểm thử tự động Các phƣơng pháp gồm hai pha chính: (i) sinh ca kiểm thử (ii) thực thi chúng nhằm phát lỗi/khiếm khuyết sản phẩm Những phƣơng pháp hứa hẹn hiệu việc đảm bảo chất lƣợng sản phẩm với thời gian nhanh chi phí thấp khả phát lỗi/khiếm khuyết tốt Tuy nhiên, phƣơng pháp kiểm thử tự động đƣợc áp dụng để kiểm thử mô-đun chƣơng trình Làm để kiểm thử tự động cho giao diện ngƣời dùng toán mở chƣa có giải pháp thỏa đáng Luận văn nghiên cứu đƣợc phƣơng pháp kiểm thử, kiểm thử tự động, kiểm thử dựa mô hình công cụ hỗ trợ Tạo ca kiểm thử tự động cho trình kiểm thử giao diện ứng dụng Web cách sử dụng phƣơng pháp tiếp cận dựa mô hình sử dụng máy hữu hạn trạng thái Luận văn xây dựng đƣợc mô hình bảng chuyển ứng dụng Web Từ đó, xây dựng đƣợc máy hữu hạn trạng thái, sau áp dụng thuật toán duyệt theo chiều sâu để từ máy hữu hạn trạng thái sinh đƣờng kiểm thử chƣơng trình dùng công cụ Selenium Webdriver để chạy đƣợc đƣờng kiểm thử Tiến hành cài đặt áp dụng cho số ứng dụng Web nhằm đánh giá tính thực tế hiệu phƣơng pháp nghiên cứu Nội dung luận văn nêu lên đƣợc nội dung kiểm thử kiểm thử giao diện ứng dụng Web Xây dựng thành công chƣơng trình kiểm thử tự động giao diện ứng dụng Web nhiên, chƣơng trình áp dụng đƣợc vào ứng dụng Web đơn giản với giao diện không nhiều thành phần phức tạp Thực tế ứng dụng Web thƣờng phức tạp, trang có trạng thái chuyển đến trạng thái khác trang đến trạng thái khác trang tùy thuộc vào vai trò ngƣời dùng Vì hƣớng nghiên cứu tối ƣu hóa chƣơng trình xây dựng đƣợc thêm chức kiểm thử tự động ứng dụng Web có thành phần phức tạp Thêm nữa, với thuật toán quay lui duyệt đồ thị theo chiều sâu chƣa thực tối ƣu cải thiện thuật toán tốt để tăng hiệu chƣơng trình Chƣơng trình chạy đƣợc thực việc kiểm thử cho trang, hƣớng nghiên cứu nghiên cứu để kiểm thử cho toàn ứng dụng Web cách ghép 46 ôtômat trang riêng rẽ lại với dùng trạng thái kết thúc ôtômat trạng thái ban đầu trang Mặt khác dùng phƣơng pháp để sử dụng cho phƣơng pháp kiểm thử khác nhƣ kiểm thử chịu tải, kiểm thử an ninh an toàn,… 47 PHỤ LỤC Lớp HTML element: Lớp miêu tả phần tử HTML với thuộc tính nhƣ ID, HTML_ID, kiểu phần tử HTML, giá trị phần tử HTML public class Element_html { private int id; private String html_id; private String type; private ArrayList values; public Element_html(int _id, String _html_id, String _type, ArrayList _values){ id=_id; html_id=_html_id; type=_type; values = _values; } public int getId(){ return id; } public String getHtml_id(){ return html_id; } public String getType(){ return type; } public String getValueAt(int i){ return values.get(i); } } Lớp danh sách phần tử html: Lớp miêu tả danh sách phần tử HTML public class Elem_html_list { 48 ArrayList arrElement; public Elem_html_list(){ arrElement = new ArrayList(); } public void addElement(Element_html _e){ arrElement.add(_e); } public Element_html getElementById(int id){ for (int i=0; i[...]... phƣơng pháp kiểm thử tự động mới chỉ đƣợc áp dụng để kiểm thử các mô-đun chƣơng trình Làm thế nào để kiểm thử tự động cho các giao diện ngƣời dùng vẫn đang là bài toán mở và chƣa có giải pháp thỏa đáng Đề tài này tập trung nghiên cứu pha đầu trong quá trình kiểm thử tự động nhằm sinh tự động các ca kiểm thử cho kiểm thử tự động giao diện ứng dụng Web Để thực hiện điều này bài toán xây dựng công cụ kiểm thử. .. nhƣ một số Webdriver API thông dụng, chúng ta có thể sử dụng chúng để sinh ra các mã chạy tự động các ca kiểm thử đƣợc sinh ra từ quá trình sinh ca kiểm thử sẽ đƣợc trình bày ở các chƣơng sau 18 CHƢƠNG 3 PHƢƠNG PHÁP SINH BỘ KIỂM THỬ TỰ ĐỘNG CHO KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB Ngoài việc phát triển các ứng dụng Web, các công ty chú ý để đảm bảo chất lƣợng của sản phẩm Kiểm thử ứng dụng Web đƣợc coi... hiện tự động bởi một chƣơng trình máy tính để tránh các lỗi không đƣợc phát hiện khi kiểm thử thủ công Để đảm bảo tính chính xác, các công cụ kiểm thử tự động thƣờng đƣợc xây dựng dựa trên các phƣơng pháp kiểm thử nhƣ kiểm thử hộp đen, kiểm thử hộp trắng, … Tuy nhiên, các công cụ kiểm thử tự động là rất đắt và nhiều công ty không thể mua chúng Luận văn này tập trung nghiên cứu các phƣơng pháp kiểm thử. .. sử dụng mô hình máy hữu hạn trạng thái cho giao diện ứng dụng Web, sau đó tạo ra các bộ kiểm thử từ máy hữu hạn trạng thái, từ đó xây dựng một đồ thị có hƣớng để biểu diễn các trƣờng hợp kiểm thử Dựa trên đồ thị có hƣớng, theo các nhánh chúng ta có thể tạo ra các trƣờng hợp kiểm thử cho sản phẩm Mục đích của luận văn này là đề xuất một phƣơng pháp cho phép để xây dựng một phƣơng pháp kiểm thử tự động. .. kiểm thử tự động từ máy hữu hạn trạng thái và tự động tạo ra các ca kiểm thử từ mô hình máy hữu hạn trạng thái 3.1 Mục tiêu của phƣơng pháp nghiên cứu Mục đích của phƣơng pháp nghiên cứu này là để tạo ra các đƣờng kiểm thử tự động cho quá trình kiểm thử giao diện một ứng dụng Web, bằng phƣơng pháp tiếp cận dựa trên mô hình Điều này đƣợc thực hiện bằng cách từ bản thiết kế của một ứng dụng Web tạo ra... Phƣơng pháp kiểm thử hộp đen bao gồm: phân vùng tƣơng đƣơng, phân tích giá trị biên, tất cả các cặp kiểm thử, bảng chuyển đổi trạng thái, kiểm thử bảng quyết định, kiểm thử chéo, kiểm thử dựa trên mô hình, sử dụng các ca kiểm thử, thăm dò kiểm thử và kiểm thử dựa trên đặc điểm kỹ thuật Kiểm thử dựa trên đặc điểm kỹ thuật nhằm mục đích để kiểm tra các chức năng của phần mềm theo các yêu cầu ứng dụng Mức... triển Giai đoạn thử nghiệm, hoặc trƣờng thử nghiệm, đƣợc thực hiện bởi khách hàng hoặc khách hàng tiềm năng tại các địa điểm riêng của họ 2.4 BỘ CÔNG CỤ SELENIUM – WEBDRIVER TRONG VIỆC KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB Selenium là một tập hợp mạnh mẽ các công cụ hỗ trợ phát triển nhanh chóng của các thử nghiệm tự động hóa cho các ứng dụng Web [6] Selenium cung cấp một tập phong phú các thử nghiệm chức... trƣờng hợp chứ không kiểm thử đƣợc toàn bộ hoạt động của chƣơng trình Phƣơng pháp kiểm thử này có thể đƣợc áp dụng cho tất cả các cấp kiểm thử phần mềm: đơn vị, tích hợp, hệ thống và chấp nhận Nó không thể thực hiện đƣợc tất cả các kiểm thử các cấp độ cao hơn nhƣng nó có thể tạo ƣu thế tốt khi kiểm thử từng đơn vị 2.2.2 Kiểm thử hộp trắng Kiểm thử hộp trắng hay còn đƣợc gọi là kiểm thử cấu trúc, quá trình... dựng một phƣơng pháp kiểm thử tự động cho giao diện các ứng dụng Web Một công cụ kiểm thử tự động hỗ trợ cũng sẽ đƣợc phát triển nhằm minh chứng cho tính hiệu quả của phƣơng pháp này Các phần tiếp theo của luận văn đƣợc tổ chức nhƣ sau Chƣơng 2 trình bày về cơ sở lý thuyết của đề tài Chƣơng này đề cập đến các khái niệm cơ bản của kiểm thử phần mềm, tìm hiểu về kiểm thử dựa trên mô hình, máy hữu hạn trạng... nhƣng Web Driver là một công cụ của tƣơng lai Việc kết hợp hai công cụ này cung cấp tập hợp các tính năng chung cho nhiều ngƣời sử dụng và lợi ích trong tự động hóa kiểm thử 2.4.2 Selenium-RC (Remote Control) Selenium-RC cho phép các nhà phát triển tự động hóa kiểm thử sử dụng một ngôn ngữ lập trình, nó cho tính linh hoạt tối đa và mở rộng trong việc phát triển lôgic thử nghiệm Ví dụ, nếu trình ứng dụng ... CÔNG NGHỆ HÀ KHÁNH TOÀN PHƢƠNG PHÁP SINH BỘ KIỂM THỬ TỰ ĐỘNG CHO KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ CÔNG... thử tự động nhằm sinh tự động ca kiểm thử cho kiểm thử tự động giao diện ứng dụng Web Để thực điều toán xây dựng công cụ kiểm thử tự động từ máy hữu hạn trạng thái tự động tạo ca kiểm thử từ... Webdriver API thông dụng, sử dụng chúng để sinh mã chạy tự động ca kiểm thử đƣợc sinh từ trình sinh ca kiểm thử đƣợc trình bày chƣơng sau 18 CHƢƠNG PHƢƠNG PHÁP SINH BỘ KIỂM THỬ TỰ ĐỘNG CHO KIỂM

Ngày đăng: 18/12/2015, 23:35

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan