Nghiên cứu về kiểm thử dựa trên mô hình và ứng dụng

12 328 0
Nghiên cứu về kiểm thử dựa trên mô hình và ứng dụng

Đ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Ệ LÊ THỊ PHƢỢNG NGHIÊN CỨU VỀ KIỂM THỬ DỰA TRÊN MÔ HÌNH VÀ ỨNG DỤNG 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Ĩ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN VIỆT HÀ Hà Nội – 2015 i MỤC LỤC MỤC LỤC i LỜI CẢM ƠN iii LỜI CAM ĐOAN iv DANH MỤC THUẬT NGỮ VIẾT TẮT v DANH MỤC HÌNH VẼ vi DANH MỤC BẢNG vii Chương 1: Giới thiệu Chương 2: Phương pháp đặc tả tương tác giao diện cho ứng dụng Web 10 2.1 Đặc tả tương tác giao diện trang Web ôtômát hữu hạn trạng thái 10 2.2 Xây dựng mô hình đặc tả tương tác giao diện cho toàn ứng dụng WebError! Bookmark 2.3 Biểu diễn mô hình đặc tả dạng tệp tin MS ExcelError! Bookmark not defined Chương 3: Sinh thực thi ca kiểm thử tự động Error! Bookmark not defined 3.1 Sinh ca kiểm thử từ mô hình đặc tả hình thức Error! Bookmark not defined 3.1.1 Đường dẫn kiểm thử Error! Bookmark not defined 3.1.2 Thuật toán sinh tự động đường dẫn kiểm thửError! Bookmark not defined 3.2 Thực ca kiểm thử Error! Bookmark not defined 3.4 Đánh giá phương pháp Error! Bookmark not defined Chương 4: Công cụ thực nghiệm Error! Bookmark not defined 4.1 Giới thiệu công cụ bổ trợ Error! Bookmark not defined 4.1.1 Giới thiệu Selenium số API WebDriver sử dụngError! Bookmark not de 4.1.2 Giới thiệu Jsoup Error! Bookmark not defined 4.2 Giới thiệu công cụ kiểm thử tự động tương tác giao diện cho ứng dụng WebError! Boo 4.2.1 Kiến trúc công cụ Error! Bookmark not defined 4.2.2 Đầu vào công cụ Error! Bookmark not defined 4.2.3 Đầu công cụ Error! Bookmark not defined 4.3 Thực nghiệm Error! Bookmark not defined 4.4 Kết cải tiến công cụ Error! Bookmark not defined 4.5 Ý nghĩa công cụ thực nghiệm Error! Bookmark not defined ii Chương 5: KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 11 iii 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 Nguyễn Việt Hà thầy giáo 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ô quý giá, tạo điều kiện tốt cho suốt trình học tập, nghiên cứu trường Đồng thời xin chân thành cảm ơn người thân gia đình 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 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ục Công nghệ thông tin - Tổng cục IV - Bộ Công an giúp đỡ, 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ĩ Đại học Công nghệ, ĐH QGHN iv LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sĩ công nghệ thông tin “Nghiên cứu kiểm thử dựa mô hình ứng dụng” công trình nghiên cứu riêng hướng dẫn thầy giáo PGS.TS Nguyễn Việt Hà thầy giáo TS Phạm Ngọc Hùng, không chép lại người khác Trong toàn nội dung luận văn, điều trình bày 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 hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày 09 tháng năm 2015 Lê Thị Phượng v 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 Ôtômát hữu hạn trạng thái MBT Model- base testing Kiểm thử dựa mô hình vi DANH MỤC HÌNH VẼ Hình 2.1 Trạng thái bắt đầu trang tìm kiếm cán Hình 2.2 Trạng thái nhập họ tên tìm kiếm Hình 2.3 Ôtômát hữu hạn trạng thái M1 Hình 2.4 Kết tìm kiếm cán nút sửa thông tin cán Hình 2.5 Giao diện trang Web cập nhật thông tin cán (update) Hình 2.6 Ôtômát hữu hạn trạng M2 Hình 2.7 Mô hình M sau thực thuật toán ghép nối M1 M2 Hình 4.1 Kiến trúc công cụ Auto Testing Web Application Hình 4.2 Lưu trữ tệp tin đầu vào Hình 4.3 Cài đặt ôtômát hữu hạn trạng thái Hình 4.4 Giao diện nhập liệu đầu vào công cụ Hình 4.5 Kết kiểm thử Hình 4.6 Ứng dụng Web quản lý thông tin cán Hình 4.7 Giao diện trang đăng nhập Hình 4.8 Giao diện chức người quản trị hệ thống Hình 4.9 Trang quản lý người dùng Hình 4.10 Giao diện trang tìm kiếm cán Hình 4.11 Trang thêm thông tin cán Hình 4.12 Trang cập nhật thông tin cán Hình 4.13 Thư mục tệp tin đặc tả ứng dụng Quản lý thông tin cán Hình 4.14 Giao diện công cụ Hinh 4.15 Các đường dẫn kiểm thử sinh tự động Hình 4.16 Kết thực đường dẫn kiểm thử hiển thị tệp tin đầu Hình 4.17 Giao diện chức tạo menu động Hình 4.18 Giao diện pop-up vii DANH MỤC BẢNG Bảng 2.1 Các trạng thái Web trang tìm kiếm cán Bảng 2.2 Các kiện trang tìm kiếm cán Bảng 2.3 Bảng phần tử Web trang tìm kiếm cán Bảng 2.4 Bảng trạng thái trang tìm kiếm cán Bảng 2.5 Bảng kiện trang tìm kiếm cán Bảng 2.6 Bảng transition trang tìm kiếm cán Bảng 2.7 tệp tin Excel đặc tả trang Web tìm kiếm cán Bảng 3.1 Các transition trang tìm kiếm thông tin cán Bảng 3.2 Các testparth sinh từ mô hình trang tìm kiếm thông tin cán Chƣơng 1: Giới thiệu Trong ngành công nghiệp phát triển phần mềm ngày nay, hầu hết phần mềm ứng dụng phát triển Web Do đó, việc kiểm thử đảm bảo chất lượng ứng dụng Web vấn đề quan trọng Tuy nhiên, ứng dụng Web ngày trở nên phức tạp, việc kiểm thử thủ công bao gồm tạo ca kiểm thử thực thi chúng trang Web, công việc tốn thời gian công sức Hơn nữa, có cập nhật lại phiên phần mềm, để tránh rủi ro phát sinh lỗi thay đổi mã nguồn kiểm thử viên phải kiểm thử lại toàn phần mềm, kể tính kiểm thử tốt Vì vậy, để hoàn thành công việc kiểm thử tín độ, công ty phần mềm cần phải áp dụng phương pháp công cụ nhằm tự động hóa hoạt động kiểm thử Kiểm thử tự động giải pháp hữu hiệu nhằm nâng cao tính xác hiệu quả, giảm kinh phí rút ngắn thời gian trình kiểm thử sản phẩm phần mềm nói chung ứng dụng Web nói riêng [1] Kiểm thử dựa mô hình xem phương pháp kiểm thử có khả tự động hóa cao Kiểm thử dựa mô hình phương pháp kiểm thử, ca kiểm thử sinh từ mô hình đặc tả hành vi hệ thống kiểm thử [1] Vì vậy, kiểm thử dựa mô hình ứng dụng để giải số vấn đề khó khăn hoạt động kiểm thử sản phẩm phần mềm Một ứng dụng kiểm thử tương tác giao diện người dùng cho ứng dụng Web Để ứng dụng phương pháp kiểm thử này, trước tiên cần xây dựng mô hình đặc tả hành vi tương tác giao diện ứng dụng Web Mô hình thường biểu diễn máy hữu hạn trạng thái ôtômát hữu hạn trạng thái Tiếp đến, ca kiểm thử tự động sinh từ mô hình Cuối cùng, ca kiểm thử thực thi ứng dụng nhằm phát lỗi lập trình liên quan đến tương tác giao diện người dùng Trong thực tế, có nhiều hướng nghiên cứu kiểm thử dựa mô hình cho ứng dụng Web kiểm thử khả chịu tải, tính bảo mật, hiệu năng, kiểm thử chức năng, v.v [2,3,5,6] Tuy nhiên, việc kiểm thử chức (theo luồng tương tác giao diện người dùng) chưa có giải pháp thỏa đáng Một số nghiên cứu trước đề xuất phương pháp công cụ thực việc kiểm thử chức ứng dụng Web [4,5,9] Mặc dù vậy, nghiên cứu thực kiểm thử tự động cho trang Web, cho Website tĩnh [5] mà chưa có nhiều nghiên cứu hỗ trợ cho kiểm thử luồng tương tác người dùng Trong số đó, phương pháp công cụ kiểm thử tự động cho ứng dụng Web đề xuất [5] giải phần vấn đề nêu Tuy nhiên, phương pháp thực kiểm thử cho số phần tử Web chúng phải có thuộc tính id định danh Trong khi, hệ thống ứng dụng Web thực tế cần công cụ kiểm thử tự động, có khả kiểm thử cho nhiều loại phần tử Web phần tử Web thiết kế cách linh động Nghiên cứu đưa nhằm giải vấn đề Đề tài đưa phương pháp đặc tả hình thức giao diện cho ứng dụng Web Từ đó, xây dựng thuật toán sinh tự động ca kiểm thử từ đặc tả Cuối cùng, đề tài dùng phương pháp đề xuất [5] làm sở để xây dựng công cụ kiểm thử tự động tương tác giao diện ứng dụng Web Công cụ kiểm thử cho ứng dụng Web có nhiều loại phần tử Web như: DropDownList, CheckBoxList, RadioList, DataGrid, v.v.; kể với phần tử Web thuộc tính định danh (id) giao diện pop-up Phần lại luận văn cấu trúc sau Chương trình bày phương pháp đặc tả giao diện cho ứng dụng Web ôtômát hữu hạn trạng thái biểu diễn dạng tệp tin MS Excel Ở chương 3, luận văn trình bày phương pháp sinh tự động ca kiểm thử từ ôtômát hữu hạn trạng thái thực thi chúng trên ứng dụng Web Tiếp đến, chương trình bày công cụ kết thực nghiệm Cuối cùng, kết luận luận văn định hướng nghiên cứu trình bày chương 10 Chƣơng 2: Phƣơng pháp đặc tả tƣơng tác giao diện cho ứng dụng Web Để áp dụng phương pháp kiểm thử dựa mô hình, cần xây dựng mô hình đặc tả xác hành vi hệ thống cần kiểm thử Mô hình biểu đồ hóa, mô tả chi tiết hệ thống, đồng thời mô tả chi tiết khía cạnh, đặc tính hệ thống Mô hình cần phải đủ chi tiết để giúp ta hiểu đoán nhận hành vi hệ thống Có nhiều phương pháp đặc tả mô hình như: máy hữu hạn trạng thái, ôtômát trạng thái, máy trạng thái UML, chuỗi Markov, văn phạm, bảng định, v.v [1] Phụ thuộc vào phương pháp công cụ kiểm thử, lựa chọn phương pháp đặc tả hệ thống tương ứng Trong chương 2, trình bày phương pháp đặc tả tương tác giao diện ứng dụng Web sử dụng cho nghiên cứu 2.1 Đặc tả tƣơng tác giao diện trang Web ôtômát hữu hạn trạng thái Theo quy trình kiểm thử dựa mô hình [1] việc phải làm số hoạt động kiểm thử tự động ứng dụng Web xây dựng mô hình đặc tả hành vi ứng dụng Web Có nhiều hành vi sử dụng để đặc tả luận văn này, đề cập đến hành vi tương tác người dùng hệ thống ứng dụng Web, thông qua thay đổi trạng thái (hay thay đổi giao diện) ứng dụng Web [5] Chúng dùng ôtômát trạng thái làm phương pháp đặc tả hình thức giao diện ứng dụng Web Khi đó, giao diện người dùng trang Web, thời điểm mô hình hóa trạng thái Mỗi yêu cầu người dùng mô hình hóa hành động tạo hàm chuyển trạng thái Vậy, để mô hình hóa hành vi tương tác giao diện người dùng ứng dụng Web ôtômát trạng thái, cần thực bước sau: (1) Chia nhỏ hệ thống thành mô-đun; (2) với mô-đun cần xác định giao diện người dùng; (3) với giao diện người dùng đặc tả ôtômát trạng thái; (4) nối ôtômát trạng thái lại thành đặc tả hoàn chỉnh cho hệ thống Phương pháp coi giao diện người dùng trang Web biểu diễn ôtômát trạng thái định nghĩa 2.1 [5] Định nghĩa 2.1: Hành vi tương tác giao diện trang Web đặc tả ôtômát trạng thái (Finite State Automaton - FSA) M = < S, s0, ∑, δ, F >, tro 11 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 Tiếng Anh [2] A Armando, R Carbone, L Compagna, K Li, and G Pellegrino (2010), “Model-checking driven security testing of web-based applications”, International Conference on Software Testing, Verification, and Validation Workshops, ICSTW ’10, pp 361–370 [3] A Vernotte (2013), “Research questions for model-based vulnerability testing of web applications”, International Conference on Software Testing, Verification and Validation, ICST ’13, pp 505–506 [4] J Ernits, R Roo, J Jacky, and M Veanes (2009), ”Modelbased testing of web applications using nmodel”, The 21st IFIP WG 6.1 International Conference on Testing of Software and Communication Systems and 9th International FATES Workshop, TESTCOM ’09/FATES ’09, pp 211–216 [5] Khanh Trinh Le, Hieu Dinh Vo and Pham Ngoc Hung, “A Method for Automated User Interaction Testing of Web Applications”,Journal on Information and Communications Technology (JoICT) (accepted 2015) [6] M Anisetti, C A Ardagna, E Damiani, and F Saonara (May 2013), “A test-based security certification scheme for web services” ACM Transactions on the Web (TWEB) 7(2), 5:1–5:41 [7] M Broy, B Jonsson, J.-P Katoen, M Leucker, and A Pretschner (2005), “Model-Based Testing of Reactive Systems: Advanced Lectures (Lecture Notes in Computer Science)” Springer-Verlag New York, Inc [8] M Utting and B Legeard (2007), “Practical Model-Based Testing: A Tools Approach”, Morgan Kaufmann Publishers Inc [9] P Koopman, R Plasmeijer, and P Achten (2006), “Modelbased testing of thin-client web applications”, The First Combined International Conference on Formal Approaches to Software Testing and Runtime Verification, FATES’06/RV’06, pp 115–132

Ngày đăng: 27/08/2016, 09:08

Từ khóa liên quan

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

Tài liệu liên quan