1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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 30 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 94
Dung lượng 9,56 MB

Nội dung

ĐẠ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 ĐẠ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 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 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 tồ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 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 Web 39 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 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 tơi h c tập, nghiên c u t bắt đầu nghiên c u đề tài đến hồ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 tơi suốt q 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 tồ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 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ị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 hồn tồ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ử 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 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ơi 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 hồn tồ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 DANH MỤC THUẬT NGỮ VIẾT TẮT STT Từ viết tắt Từ đầy đủ Ý nghĩa API Application Interface Programming Giao diện lập trình ng dụng 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 Cơng cụ kiểm thử tự động cho ng dụng Web 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 Testing Web -tơ-mát hữu h n tr ng thái 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 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 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 tố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 tồ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 64 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 Add1click_Save>SaveSucess S_index add_Password >Password 18 Nationunselect_Nation >OrgDetails UserName 19 Nation edit_Add1 UserName add_Password ->User+Pass 20 Password del_Password >S_index 21 Nationclick_Save >SaveSucess Password add_User >User+Pass 22 Preffered uncheck_Pre >OrgDetails User+Pass del_Password ->UserName 23 User+Pass del_User >Password 24 Prefferedclick_Save >SaveSucess User+Pass login >MenuList 25 Add1+Nationunselect_Nation >Add1 26 Add1+Nationcheck_Pre del_User>S_index 10 Nationcheck_Pre Preffered MenuList select_MenuOrg >OrgList 11 OrgList click_Org >OrgDetails 12 OrgDetails edit_Add1 >Add1 13 OrgDetails sel_Nation Add1+Nationclick_Save >SaveSucess 28 Nation+Preffereduncheck_Pre >Nation 29 Nation+Preffered unselect_Nation ->Preffered OrgDetails check_Pre >Preffered >SaveSucess 16 Nation+Preffered edit_Add1 ->Add1+Nation+Pre 31 OrgDetails click_Save >Nation+Preffered 27 30 15 >Nation+Preffered >Add1+Nation+Pre >Nation 14 sel_Nation >Add1+Nation Nation+Preffered click_Save ->SaveSucess 32 Add1 sel_Nation >Add1+Nation Add1+Nation+Pre uncheck_Pre ->Add1+Nation 33 Add1+Nation+Pre click_Save ->SaveSucess 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 Details - Tab Information # mơ hình trang Organisation 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 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 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ử Q 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 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 Ngồ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 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 ngồi việc áp dụng thành công cho trang Web FPT Service cịn cải tiến cơng cụ để thực tiến dần tới tự động hóa cách hồn tồ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 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] 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ụ cịn 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 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ụ, ngồi thời gian nhanh kiểm thử th cơng, cịn đảm bảo t nh ch nh xác t nh bao ph c a ca kiểm thử, thực tồn ca kiểm thử cho tồ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 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 cịn 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 ngồi 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 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 75 TÀI LIỆU THAM KHẢO Tiếng Việt [1] 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 [2] 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] 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 [4] 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 [5] Ann Millikin (2014), What Types of Software Testing Can and Should Be Automated, http://www.seguetech.com/ [6] 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/ ... 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 thử tự động ng dụng Web b ng... 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: 30/07/2020, 10:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w