PHƢƠNG PHÁP KIỂM THỬ TỰ ĐỘNG TƢƠNG TÁC GIAO DIỆN NGƢỜI DÙNG CHO ỨNG DỤNG WEB

94 292 0
PHƢƠNG PHÁP KIỂM THỬ TỰ ĐỘNG TƢƠNG TÁC GIAO DIỆN NGƢỜI DÙNG CHO ỨNG DỤNG WEB

Đ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

Header Page of 113 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN THỊ THÚY HẰNG PHƢƠNG PHÁP KIỂM THỬ TỰ ĐỘNG TƢƠNG TÁC GIAO DIỆN NGƢỜI DÙNG CHO ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ Ngành: Công Nghệ Thông Tin HÀ NỘI – 2016 Footer Page of 113 Header Page of 113 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN THỊ THÚY HẰNG PHƢƠNG PHÁP KIỂM THỬ TỰ ĐỘNG TƢƠNG TÁC GIAO DIỆN NGƢỜI DÙNG CHO ỨNG DỤNG WEB Ngành: Công Nghệ Thông Tin Chuyên ngành: Kỹ Thuật Phần Mềm Mã số: 60 48 01 03 LUẬN VĂN THẠC SĨ Ngành: Công Nghệ Thông Tin NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS TS Phạm Ngọc Hùng HÀ NỘI – 2016 Footer Page of 113 Header Page of 113 VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY TRAN THI THUY HANG A METHOD FOR AUTOMATED GUI TESTING OF WEB APPLICATIONS THE MS THESIS Major: Information Technology Supervisor: Assoc Prof Dr Pham Ngoc Hung HANOI - 2016 Footer Page of 113 Header Page of 113 MỤC LỤC MỤC LỤC i LỜI CẢM ƠN iii TÓM TẮT iv ABSTRACT v LỜI CAM ĐOAN vi DANH MỤC THUẬT NGỮ VIẾT TẮT vii DANH MỤC HÌNH VẼ viii DANH MỤC BẢNG x Chương 1: Giới thiệu Chương 2: Tổng quan kiểm thử phần mềm tự động 2.1 Kiểm thử phần mềm tự động 2.2 Các phương pháp kiểm thử tự động 2.2.1 Các m c độ kiểm thử tự động 2.2.2 Kiểm thử tương tác giao diện người d ng 2.3 Kiểm thử tự động dựa mô hình Chương 3: Phương pháp đặc tả tương tác giao diện cho ng dụng Web 3.1 Phương pháp xây dựng mô hình cho toàn ng dụng Web 3.2 Đặc tả tương tác giao diện c a t ng trang Web b ng ô-tô-mát hữu h n tr ng thái1 3.3 Xây dựng mô hình đặc tả tương tác giao diện cho toàn ng dụng Web 3.4 V dụ minh h a cho đặc tả trang Web 3.3.1 Xây dựng ô-tô-mát hữu h n tr ng thái M1 3.3.2 Gh p nối ô-tô-mát hữu h n tr ng thái M1 M2 3.5 Biểu diễn mô hình đặc tả d ng tệp tin MS Excel Chương 4: Sinh thực thi ca kiểm thử tự động 24 4.1 Sinh ca kiểm thử t mô hình đặc tả hình th c 24 4.1.1 Đường dẫn kiểm thử 24 4.1.2 Thuật toán sinh tự động đường dẫn kiểm thử 24 4.2 Thực ca kiểm thử 27 Footer Page of 113 Header Page of 113 Chương 5: Công cụ thực nghiệm 28 5.1 Giới thiệu công cụ bổ trợ 28 5.1.1 Giới thiệu Selenium số API WebDriver sử dụng 28 5.1.2 Công cụ JFLAP 34 5.2 Giới thiệu công cụ kiểm thử tự động tương tác giao diện cho ng dụng Web39 5.2.1 Kiến trúc c a công cụ 40 5.2.2 Đầu vào c a công cụ 41 5.2.3 Giao diện cách sử dụng công cụ ATWA 48 5.2.4 Đầu c a công cụ 50 5.2.5 Thực nghiệm 53 5.2.6 Kết áp dụng cải tiến công cụ 68 5.2.7 Ý nghĩa c a công cụ thực nghiệm 71 Chương 6: KẾT LUẬN 73 TÀI LIỆU THAM KHẢO 75 Footer Page of 113 Header Page of 113 LỜI CẢM ƠN Trước tiên xin gửi lời cảm ơn chân thành sâu sắc đến thầy giáo PGS.TS Ph m Ng c H ng - người trực tiếp hướng dẫn, khuyến kh ch, bảo đóng góp ý kiến quý báu suốt trình h c tập, nghiên c u t bắt đầu nghiên c u đề tài đến hoàn thành luận văn Tôi xin chân thành cảm ơn thầy cô giáo 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 đào t o, cung cấp cho kiến th c vô c ng quý giá, t o điều kiện tốt cho suốt trình h c tập, nghiên c u t i trường Đồng thời xin chân thành cảm ơn người thân gia đình c ng toàn thể b n bè, đồng nghiệp giúp đỡ, động viên lúc gặp phải khó khăn việc h c tập nghiên c u Cuối c ng, xin chân thành cảm ơn Lê Khánh Trình Lê Thị Phượng người giúp đỡ, t o điều kiện cho nghiên c u công cụ kiểm thử tự động ATWT đồng nghiệp c a t i Công ty Phần Mềm FPT t o điều kiện thuận lợi cho h c tập nghiên c u chương trình th c sĩ t i Đ i h c Công nghệ, ĐH QGHN Footer Page of 113 Header Page of 113 TÓM TẮT Luận văn tập trung nghiên c u phương pháp kiểm thử tự động tương tác giao diện c a ng dụng Web Phương pháp phương pháp kiểm thử áp dụng sử dụng ngày rộng rãi việc kiểm thử sản phẩm phần mềm nói chung ng dụng Web nói riêng Phương pháp kiểm thử tự động tương tác giao diện người d ng đề xuất cải tiến số tác giả với ý tưởng ch nh đặc tả tương tác người d ng c a t ng trang Web b ng máy hữu h n tr ng thái Mô hình đặc tả hành vi c a Website xây dựng b ng cách gh p nối mô hình c a trang Web Sau đó, phương pháp sử dụng thuật toán sinh đường dẫn kiểm thử (test paths) cách tự động dựa mô hình c a Website cho đường dẫn kiểm thử bao ph m i trường hợp c a hệ thống Tuy nhiên, phương pháp áp dụng cho ph m vi hệ thống đơn giản có h n chế định có việc xây dựng tự động cho đầu vào Luận văn tập trung nghiên c u áp dụng công cụ vào ng dụng Web t i công ty cải tiến công cụ để thực tự động sinh đầu vào nh m tiến tới mục tiêu tự động hóa cách hoàn toàn Phương pháp đề xuất công cụ áp dụng t i giai đo n kiểm thử chấp nhận áp dụng cho mô hình Agile Kết thực nghiệm cho thấy tiềm ng dụng c a công cụ việc kiểm thử tự động giao diện cho ng dụng Web Từ khóa: Kiểm thử tự động, tương tác hành vi người dùng, máy hữu hạn trạng thái, đường dẫn kiểm thử Footer Page of 113 Header Page of 113 ABSTRACT This thesis researches a automated GUI testing of Web applications This method is one of the test methods are being applied and more widely in testing software product and also in testing Web application This method has been proposed by some author with main idea is the model of each Web page of the Website under testing which describes the user interactions is represented by a finite state machine The model that describe the behaviors of the whole Website then is constructed by composing the models of all Web pages After that, the proposed method uses an algorithm to generates automatically test paths based on the compositional model of the Website so that these test paths cover all possible interactions of the system However, proposed method has been developed and applied to test on a simple systems, and remains certain limited include develop automation for testing input data This thesis have been applied successful and improve automation test tool on the Web Applications of company and generate test input automatically Proposed methods and this tool has been applied in the acceptance testing stage of Agile model.The experimental results show the potential application of this tool for automated GUI testing of Web applications in practice Keywords: Automated GUI testing, user interaction behavior, finite state machine, test paths, Web application Footer Page of 113 Header Page of 113 LỜI CAM ĐOAN Tôi xin cam đoan r ng luận văn th c sĩ công nghệ thông tin “Phương pháp kiểm thử tự động tương tác giao diện người d ng cho ng dụng Web” công trình nghiên c u c a riêng tôi, không chép l i c a người khác Trong toàn nội dung c a luận văn, điều trình bày c a cá nhân tổng hợp t nhiều nguồn tài liệu Tất nguồn tài liệu tham khảo có xuất x rõ ràng hợp pháp Tôi xin hoàn toàn chịu trách nhiệm chịu m i hình th c kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày 24 tháng 03 năm 2016 Trần Thị Thúy H ng Footer Page of 113 Header Page 10 of 113 DANH MỤC THUẬT NGỮ VIẾT TẮT STT Từ viết tắt Từ đầy đủ Ý nghĩa Programming Giao diện lập trình ng dụng API Application Interface FSA Finite State Automaton FSM Finite State Machine Máy hữu h n tr ng thái MBT Model- base testing Kiểm thử dựa mô hình ATWA Automation Application GUI Graphical User Interface Giao diện tương tác người dùng OCR Optical Character Recognition Nhận d ng k tự quang h c UML Unified Modeling Language Ngôn ngữ mô hình hóa thống Footer Page 10 of 113 Testing -tô-mát hữu h n tr ng thái Web Công cụ kiểm thử tự động cho ng dụng Web Header Page 80 of 113 61 Hình 5.26 Mô hình ô-tô-mát hữu h n tr ng thái trang Login Organisation Deatails Hình 5.27 Mô hình ô-tô-mát hữu h n tr ng thái ch c Organisation Details Edit Organisation Footer Page 80 of 113 Header Page 81 of 113 62 H nh Mô hình ô-tô-mát hữu h n tr ng thái ch c Organisation Details - Tab Infomation 5.2.5.3 Tệ ầu vào Hình 5.29 thư mục ch a đặc tả tương tác giao diện c a ch c Organisation Thư mục gồm tệp tin Excel đặc tả tương tác giao diện c a trang Web tương ng hình 5.26, 5.27, 5.28 (1) Trang đăng nhập - trang Web ch n làm mốc 0-login.xls (2) Trang chi tiết tổ ch c Organisation Details 2-OrgDetails.xls (3) Trang Sửa Organisation với tab Information 3-OrgInform.xls Footer Page 81 of 113 Header Page 82 of 113 63 Hình 5.29 Thư mục tệp tin đặc tả ch c Organisation 5.2.5.4 Kết ầu Để kiểm thử tự động ng dụng Web FPT Services, ch n đầu vào cho công cụ kiểm thử tự động tương tác giao diện Web gồm: địa c a ng dụng Web thư mục ch a tệp tin đặc tả Hình 5.30 giao diện công cụ ch n đầu vào Trong giao diện này, đường dẫn ng dụng Web Quản lý thông tin cán http://localhost:8088 thư mục tệp tin đặc tả ch n thư mục hình 5.30 Sau nhập liệu đầu vào, công cụ thực đ c tệp tin đầu vào tiến hành mô hình hóa hệ thống để t o ô-tô-mát hữu h n tr ng thái tương ng Tiếp theo, công cụ thực thuật toán gh p nối trình bày chương để t o ô-tô-mát hữu h n tr ng thái cho toàn ng dụng Hình 5.30 Giao diện c a công cụ Áp dụng thuật toán 4.1 thuật toán 4.2 nêu t i mục 4.1.2 cho ô-tô-mát hữu h n tr ng thái c a trang Organisation Details - Tab Information Bảng 5.10 bao gồm Footer Page 82 of 113 64 Header Page 83 of 113 33 transitions c a ô-tô-mát hữu h n tr ng thái trang Organisation Details - Tab Information sau gh p nối Bảng 5.10 Các transition c a trang Organisation Details - Tab Information # Transition S_index add_User >UserName 17 Add1 click_Save >SaveSucess S_index add_Password >Password 18 Nation unselect_Nation >OrgDetails UserName del_User >S_index 19 Nation edit_Add1 >Add1+Nation UserName add_Password ->User+Pass 20 Password del_Password >S_index 21 Nation click_Save >SaveSucess Password add_User >User+Pass 22 Preffered uncheck_Pre >OrgDetails User+Pass del_Password ->UserName 23 User+Pass del_User >Password 24 Preffered click_Save >SaveSucess User+Pass login >MenuList 25 Add1+Nation unselect_Nation >Add1 26 Add1+Nation check_Pre ->Add1+Nation+Pre 10 Nation check_Pre >Nation+Preffered Preffered sel_Nation >Nation+Preffered MenuList select_MenuOrg >OrgList 11 OrgList click_Org >OrgDetails 27 Add1+Nation click_Save >SaveSucess 12 OrgDetails edit_Add1 >Add1 28 Nation+Preffered uncheck_Pre >Nation 29 Nation+Preffered unselect_Nation ->Preffered 30 Nation+Preffered edit_Add1 ->Add1+Nation+Pre 31 Nation+Preffered click_Save ->SaveSucess 32 Add1+Nation+Pre uncheck_Pre ->Add1+Nation 33 Add1+Nation+Pre click_Save ->SaveSucess 13 14 15 16 OrgDetails sel_Nation >Nation OrgDetails check_Pre >Preffered OrgDetails click_Save >SaveSucess Add1 sel_Nation >Add1+Nation Footer Page 83 of 113 Header Page 84 of 113 65 Với liệu đầu vào 15 tr ng thái 33 transition bảng 5.10, áp dụng thuật toán 4.1 4.2 kết 11 đường dẫn kiểm thử bảng 5.11 Cột bên trái c a bảng số th tự đường dẫn cột bên tiết t ng đường dẫn Bảng 5.11 Các test path (đường dẫn kiểm thử) sinh t mô hình trang Organisation Details - Tab Information # Test path Test path 1: S_index*add_User=UserName*del_User=S_index*add_Password=Password*del_Password=S_ index*add_User=UserName*del_User=S_index*add_Password=Password*del_Password=S_in dex Test path 2: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*del_User=Password*add_User=Use r+Pass*del_Password=UserName*add_Password=User+Pass*del_User=Password Test path 3: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*login=MenuList*select_MenuOrg= OrgList*click_Org=OrgDetails*edit_Add1=Add1*sel_Nation=Add1+Nation*unselect_Nation= Add1*click_Save=SaveSucess Test path 4: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*login=MenuList*select_MenuOrg= OrgList*click_Org=OrgDetails*edit_Add1=Add1*sel_Nation=Add1+Nation*check_Pre=Add1 +Nation+Pre*click_Save=SaveSucess Test path 5: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*login=MenuList*select_MenuOrg= OrgList*click_Org=OrgDetails*edit_Add1=Add1*sel_Nation=Add1+Nation*check_Pre=Add1 +Nation+Pre*uncheck_Pre=Add1+Nation*click_Save=SaveSucess Test path 6: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*login=MenuList*select_MenuOrg= OrgList*click_Org=OrgDetails*sel_Nation=Nation*unselect_Nation=OrgDetails*check_Pre=Pr effered*uncheck_Pre=OrgDetails*click_Save=SaveSucess Footer Page 84 of 113 Header Page 85 of 113 66 Test path 7: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*login=MenuList*select_MenuOrg= OrgList*click_Org=OrgDetails*sel_Nation=Nation*unselect_Nation=OrgDetails*check_Pre=Pr effered*sel_Nation=Nation+Preffered*uncheck_Pre=Nation*click_Save=SaveSucess Test path 8: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*login=MenuList*select_MenuOrg= OrgList*click_Org=OrgDetails*sel_Nation=Nation*unselect_Nation=OrgDetails*check_Pre=Pr effered*sel_Nation=Nation+Preffered*uncheck_Pre=Nation*check_Pre=Nation+Preffered*clic _Save=SaveSucess Test path 9: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*login=MenuList*select_MenuOrg= OrgList*click_Org=OrgDetails*sel_Nation=Nation*unselect_Nation=OrgDetails*check_Pre=Pr effered*sel_Nation=Nation+Preffered*uncheck_Pre=Nation*check_Pre=Nation+Preffered*unse lect_Nation=Preffered*click_Save=SaveSucess 10 Test path 10: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*login=MenuList*select_MenuOrg= OrgList*click_Org=OrgDetails*sel_Nation=Nation*unselect_Nation=OrgDetails*check_Pre=Pr effered*sel_Nation=Nation+Preffered*uncheck_Pre=Nation*check_Pre=Nation+Preffered*edit _Add1=Add1+Nation+Pre*click_Save=SaveSucess 11 Test path 11: S_index*add_User=UserName*del_User=S_index*add_Password=Password*add_User=User+ Pass*del_Password=UserName*add_Password=User+Pass*login=MenuList*select_MenuOrg= OrgList*click_Org=OrgDetails*sel_Nation=Nation*unselect_Nation=OrgDetails*check_Pre=Pr effered*sel_Nation=Nation+Preffered*uncheck_Pre=Nation*edit_Add1=Add1+Nation*unselect _Nation=Add1*sel_Nation=Add1+Nation*check_Pre=Add1+Nation+Pre*uncheck_Pre=Add1+ Nation*click_Save=SaveSucess Footer Page 85 of 113 Header Page 86 of 113 67 Hình 5.31 Kết thực đường dẫn kiểm thử hiển thị tệp tin đầu Kết sau duyệt đồ thị thỏa mãn điều kiện sau: - Đảm bảo tất c nh duyệt qua - M i test path bắt đầu b ng tr ng thái khởi đầu c a đồ thị - Tr ng thái cuối c ng c a test path tr ng thái n m tập tr ng thái kết thúc c a đồ thị Như vậy, sinh tất đường dẫn kiểm thử t mô hình ô-tô-mát hữu h n tr ng thái c a Organisation - Tab Information Với đường dẫn kiểm thử sinh ra, công cụ sử dụng Selenium WebDriver để kết nối với trình duyệt Web tiến hành ch y đường dẫn kiểm thử Quá trình thực kiểm thử thực thông qua đường dẫn kiểm thử Các đường dẫn kiểm thử coi kịch đầu vào cho công cụ Selenium Footer Page 86 of 113 Header Page 87 of 113 68 Với kịch có, công cụ Selenium sử dụng API trình bày phần 5.1.1 để tiến hành kết nối đến trình duyệt Sau thực kiểm thử ng dụng Web b ng công cụ kiểm thử tự động tương tác giao diện Web, kết thực xuất tệp tin Excel Nội dung tệp tin cho người d ng biết chi tiết ca kiểm thử bao gồm: đường dẫn kiểm thử, kết c a đường dẫn kiểm thử đường dẫn không thực thành công nguyên nhân Hình 5.31 số kết sau thực đường dẫn kiểm thử tệp tin đầu 5.2.6 Kết áp dụng cải tiến công cụ Dựa đề xuất t [3] việc phát triển công cụ t [2], luận văn áp dụng thành công vào Website c a công ty FPT Software Ngoài việc áp dụng thành công, luận văn thực phát triển tự động phần đầu vào cho công cụ Dưới chi tiết phần kết áp dụng cải tiến công cụ 5.2.6.1 Kết áp dụng Phương pháp kiểm thử tự động tương tác giao diện người d ng, cụ thể phương pháp sinh kiểm thử tự động dựa mô hình áp dụng thành công vào trang Web FPT Service c a Công ty phần mềm FPT đặc biệt giai đo n kiểm thử chấp nhận Trước đây, Website FPT Service thực với mô hình truyền thống, sau giai đo n kiểm thử m c hệ thống hoàn tất, toàn trang Web gửi cho ph a đơn vị kiểm thử chấp nhận Có hai hình th c kiểm thử chấp nhận là, kiểm thử alpha kiểm thử beta Kiểm thử alpha thường thực đội phát triển ch nh đơn vị phát triển Kiểm thử beta người sử dụng thật d ng thử đánh giá t i máy c a người sử dụng nơi làm việc, môi trường thật [1] Tuy nhiên, theo xu hướng phát triển nay, hầu hết đơn vị t i FPT Sofware thực áp dụng phát triển theo mô hình Agile, mô hình phát triển nhanh Không giống dự án truyền thống, kiểm thử chấp nhận dự án Agile khác biệt so với dự án truyền thống, nơi kiểm thử chấp nhận xảy phần cuối c a vòng đời phần mềm Trong dự án Agile kiểm thử chấp nhận thực trước phần mềm chuyển giao Theo [13], kiểm thử chấp nhận có xu hướng tự động hóa để h ch y kiểm thử hồi quy (regression test) Kiểm thử tự động quan tr ng m i dự án Agile Các gói sản phẩm phát triển thường xuyên yêu cầu chu kỳ phản hồi ngắn, kiểm thử hồi quy phải nhanh chóng xác Footer Page 87 of 113 Header Page 88 of 113 69 Luận văn áp dụng phương pháp sinh kiểm thử t o kiểm thử áp dụng kiểm thử chấp nhận cho mô hình Agile Việc xây dựng kiểm thử thực dần qua t ng giai đo n phát triển (sprint) c a mô hình (hình 5.32) Hình 5.32 Thực kiểm thử qua t ng giai đo n theo mô hình Agile Mỗi sprint, kiểm thử viên t o mô hình đầu vào Đến giai đo n cuối sprint cuối, kiểm thử t ch hợp kiểm thử (Hình 5.35) Việc phát triển dần đỡ tốn công s c thực hiệu công việc kiểm thử hồi quy Kết thực nghiệm trình bày t i mục 5.2.4 5.2.6.2 Cải tiến công cụ Luận văn việc áp dụng thành công cho trang Web FPT Service cải tiến công cụ để thực tiến dần tới tự động hóa cách hoàn toàn cho công cụ kiểm thử tự động [2] đề xuất Cải tiến công cụ JFLAP tạo tệp tin đầu vào Công cụ JFLAP trình bày t i mục 5.2.2, công cụ JFLAP trước d ng l i cho việc thực sinh bảng transition bốn bảng c a đầu vào Các phần tử Web, tr ng thái tr ch dẫn t mô hình dựa cách đặc tả đầu vào cho mô hình T i tr ng thái kiện, phần tử cần lấy phân tách dấu “|” (Định nghĩa 5.2.2.1 mục b) V dụ: Tên_tr ng thái|Html_id_tr ngthái|Kiểu_Htmlid Tên_sựkiện|Html_id_sựkiện|Sựkiệntác động_htmlid Footer Page 88 of 113 Header Page 89 of 113 70 Hình 5.33 T o kiểm thử qua t ng sprint Hình 5.34 Sinh đầu vào t mô hình theo [3] Footer Page 89 of 113 Header Page 90 of 113 71 Như hình 5.34 mô tả việc sinh đầu vào t công cụ JFLAP, công cụ thực sinh bảng Transition T i hình 5.35, luận văn cải tiến công cụ b ng việc đặc tả kiểu nên sinh đầu vào bao gồm tất bốn bảng Hình 5.35 Cải tiến sinh đầu vào t mô hình t đề xuất c a [3] 5.2.7 Ý nghĩa công cụ thực nghiệm Công cụ kiểm thử tự động ng dụng Web c a giải pháp cho việc kiểm thử tự động tương tác giao diện cho ng dụng Web Thực nghiệm cho thấy hướng phát triển tiềm đặc biệt xu phát triển mô hình Agile ngày m nh Cách thiết kế mô hình, kiểm thử tự động nhanh chóng cho giai đo n kiểm thử chấp nhận c a mô hình Agile mang ý nghĩa lớn Phương pháp công cụ h n chế có ý nghĩa quan tr ng việc kiểm thử tự động tương tác giao diện ng dụng Web Công cụ tự động sinh thực thi ca kiểm thử hầu hết phần tử Web c a ng dụng Web Đây giải pháp mang t nh hiệu có tính xác cao, giảm kinh ph rút ngắn thời gian cho trình kiểm thử Web Ý nghĩa ch nh công cụ kiểm thử tự động tương tác giao diện người d ng ch nh thay phải bỏ công s c lớn để viết kiểm thử theo ch quan c a người kiểm thử công cụ cho ph p t o t ng kiểm thử riêng lẻ có khả thực kiểm thử cách gh p nối Trong trường hợp kiểm thử hồi quy, kiểm thử chấp nhận, việc thay đổi cập nhật ch c c a trang Web điều Footer Page 90 of 113 Header Page 91 of 113 72 tránh khỏi, với công cụ kiểm thử tự động ATWA, việc thực thi kiểm thử giảm thiểu công s c chi ph thực Theo thực nghiệm, đo đ c với tần suất thực thi cho thấy với 11 đường dẫn kiểm thử, đường dẫn kiểm thử có khoảng 33 đường chuyển tr ng thái, thời gian thực ~ 3phút thực th công với đường dẫn kiểm thử phút, gấp 10 lần so với kiểm thử th công Như với kiểm thử công cụ, thời gian nhanh kiểm thử th công, đảm bảo t nh ch nh xác t nh bao ph c a ca kiểm thử, thực toàn ca kiểm thử cho toàn hệ thống nhanh chóng Việc áp dụng công cụ để kiểm thử tự động thực mang l i nhiều lợi ch Ngoài ý nghĩa c a thực áp dụng công cụ, việc phát triển tiện ch JFLAP cho ph p người d ng tiến hành đặc tả thiết kế cách dễ dàng Với giao diện trực quan dễ sử dụng, kiểm thử viên cần vẽ l i thiết kế d ng máy hữu h n tr ng thái Tiện ch xuất tệp tin excel đầu vào cho công cụ kiểm thử Với lợi ưu điểm nêu, tương lai công cụ có khả áp dụng hiệu cho ng dụng Web lớn thực tế Hiện t i công cụ triển khai thử nghiệm với số ng dụng Web t i công ty FPT Software nhận kết t ch cực Footer Page 91 of 113 Header Page 92 of 113 73 Chƣơng 6: KẾT LUẬN Kiểm thử tự động dường trở thành xu hướng tất yếu việc phát triển phần mềm nhanh, mô hình Agile hay Scrum v dụ Chúng ta ph nhận việc áp dụng kiểm thử tự động làm cho hiệu công việc cao hơn, giảm thiểu r i ro sai sót, giảm chi ph Kiểm thử tự động tương tác giao diện người d ng xem giải pháp hữu hiệu khác với kiểm thử tự động thường sử dụng kiểm thử hiệu năng, kiểm thử bảo mật, kiểm thử chịu tải.v.v Kiểm thử tương tác giao diện người d ng cho hiệu khác biệt thực cách tự động việc kiểm tra t nh đắn c a chương trình so với tài liệu thiết kế tài liệu đặc tả ban đầu Không thế, kiểm thử tự động tương tác giao diện người d ng giúp kiểm thử nhanh chuẩn xác Luận văn áp dụng phát triển dựa đề xuất c a [2] [3] Đề xuất c a [2] [3] đưa t nh sau: kiểm thử luồng giao diện, xác định phần tử định danh, xác định phần tử có kiểu name, class , giao diện popup, kiểm thử lo i phần tử Web Dropdownlist, Checkboxlist, RadioList, v.v Tuy nhiên, dựa vào công cụ [3] cải tiến c a [2] việc kiểm thử tự động gặp nhiều khó khăn khâu thiết kế đầu vào, t o tệp tin excel, đặc biệt người lần đầu sử dụng khó không tránh khỏi sai sót Luận văn việc áp dụng thành công cải tiến c a [3] [2] cải tiến việc t o tệp tin đầu vào b ng việc phát triển công cụ JFLAP Đối với [2] tệp tin đầu vào t o b ng cách th công Đối với [3], công cụ JFLAP đưa vào sử dụng, d ng t i việc xuất tệp tin excel có bảng, việc t o th công cho phần gặp h n chế, dễ xảy sai sót Phương pháp kiểm thử tự động dựa vào hành vi tương tác giao diện ng dụng Web trình bày có ưu điểm bật như: phụ thuộc vào phần hiển thị HTML mà không phụ thuộc vào ngôn ngữ lập trình Web, kiểm thử cho hầu hết lo i phần tử Web dễ dàng t o tệp tin đầu vào giúp giảm chi ph công s c thực Với ưu điểm trên, phương pháp h a hẹn sớm áp dụng rộng rãi thực tế, trở thành công cụ hữu hiệu cho việc kiểm thử ng dụng Web Về thực nghiệm, áp dụng công cụ kiểm thử tự động tương tác giao diện ng dụng Web cho số hệ thống t i FPT Software Dựa vào kết thực nghiệm, công cụ cho thấy t nh khả dụng khả t o đường dẫn kiểm thử bao ph hầu hết trường hợp xảy hệ thống Footer Page 92 of 113 Header Page 93 of 113 74 Trong tương lai, áp dụng công cụ cho hệ thống ph c t p nh m ch ng minh t nh hiệu c a phương pháp Đồng thời, khắc phục cải tiến công cụ để kiểm thử tự động trình duyệt có phiên cao Cải thiện công cụ JFLAP để t ch hợp với công cụ ATWA với mục đ ch đ c trực tiếp t mô hình mà không cần phải thông qua tệp tin excel t tiến tới công cụ mang ý nghĩa tự động cách hoàn toàn Footer Page 93 of 113 Header Page 94 of 113 75 TÀI LIỆU THAM KHẢO Tiếng Việt [1] [2] Ph m Ng c H ng, Trương Anh Hoàng, Đặng Văn Hưng (2014), Giáo tr nh kiểm thử ph n mềm, NXB Đ i h c Quốc gia Hà Nội Lê Thị Phượng (2015), Nghiên cứu kiểm thử dựa m h nh ứng dụng, Luận văn thạc sĩ, Trường Đ i H c Công Nghệ, Đ i h c Quốc Gia Hà Nội Tiếng Anh [3] [4] [5] [6] Khanh Trinh Le, Hieu Dinh Vo and Pham Ngoc Hung (2015), “A Method for Automated User Interaction Testing of Web Applications”, Journal on Information and Communications Technology (JoICT), vol E-3, no 8(12), pp 28-37 Mark Fewster , Dorothy Graham (2006), “Software Test Automation”, The First Combined International Conference on Formal Approaches to Software Testing and Runtime Verification, FATES’06/RV’06, pp 115–132 Ann Millikin (2014), What Types of Software Testing Can and Should Be Automated, http://www.seguetech.com/ Ana Cristina Ramada Paiva Pimenta (2006), Automated Specification-Based Testing of Graphical User Interface, Thesis of Porto University, Portugal [7] Selenium Document Team (2010), “Selenium Documetation version 1.0”, Note to the reader on Website http://www.seleniumhq.org/docs [8] JFLAP Tutorial, Guideline for user on Website http://jflap.org/tutorial/ [9] Baiju Muthukadan (2016), “Selenium Python Bindings”, 2, Guideline from http://selenium-python.readthedocs.org/, pp.15-20 [10] Selenium-WebDriver API Commands and Operations, Guideline for user on Website http://www.seleniumhq.org [11] Vineet Kumar (2015), Action Class in Selenium, Journal on Website http://www.seleniumwebdriver.in [12] Anneliese A Andrews, Je Outt, Roger T Alexander (2001), “Testing Web Application by Modeling with FSMs” [13] Report of David consulting group, (2013), How can we make intergration/acceptance testing truly Agile, Report from http://www.softwarevalue.com/ Footer Page 94 of 113 ... Phƣơng pháp đặc tả tƣơng tác giao diện cho ứng dụng Web Như chương đề cập, phương pháp kiểm thử tự động tương tác giao diện cho ng dụng Web phương pháp kiểm thử sử dụng rộng rãi phổ biến Để kiểm. .. kiểm thử tự động, so sánh kiểm thử tự động kiểm thử th công, kiểu kiểm thử tự động, nêu lý thuyết c a kiểm thử tự động dựa mô hình Chương mô tả phương pháp đặc tả tương tác giao diện cho ng dụng. .. reality) Phƣơng pháp iểm thử tự động tƣơng tác giao diện ngƣời dùng Đối với kiểm thử tương tác giao diện người d ng, thực th công, phân t ch tĩnh, sử dụng công cụ kiểm thử tự động như: kiểm thử b

Ngày đăng: 25/03/2017, 21:29

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