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

Kiểm chứng giao diện phần mềm bằng phương pháp mô hình hóa event b (tt)

13 121 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 13
Dung lượng 794,56 KB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN XUÂN TRƢỜNG KIỂM CHỨNG GIAO DIỆN PHẦN MỀM BẰNG PHƢƠNG PHÁP HÌNH HĨA EVENTB LUẬN VĂN THẠC SĨ 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Ệ NGUYỄN XUÂN TRƢỜNG KIỂM CHỨNG GIAO DIỆN PHẦN MỀM BẰNG PHƢƠNG PHÁP HÌNH HĨA EVENTB 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 TRƢƠNG NINH THUẬN HÀ NỘI, 2016 LỜI CAM ĐOAN Tôi xin cam đoan tồn nội dung luận văn tơi tìm hiểu, nghiên cứu, tham khảo tổng hợp từ nguồn tài liệu khác làm theo hướng dẫn người hướng dẫn khoa học Các nguồn tài liệu tham khảo, tổng hợp có nguồn gốc rõ ràng trích dẫn theo quy định Tơi xin chịu hoàn toàn trách nhiệm lời cam đoan Nếu có điều sai trái, tơi xin chịu hình thức kỷ luật theo quy định Hà Nội, tháng 06 năm 2016 Ngƣời cam đoan Nguyễn Xuân Trường LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến 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 dạy dỗ, truyền đạt cho chúng em nhiều kiến thức, kinh nghiệm quý báu suốt thời gian học tập trường Em xin gửi lời cảm ơn sâu sắc tới thầy PGS.TS Trương Ninh Thuận – Phó chủ nhiệm khoa cơng nghệ thông tin – Trường Đại học Công nghệ – ĐHQGHN tận tình bảo, hướng dẫn, định hướng cho em để em hoàn thành luận văn tốt nghiệp Cuối em xin cảm ơn gia đình, bạn bè, đồng nghiệp động viên ủng hộ tạo điều kiện tốt suốt trình học tập hoàn thành luận văn Với việc tìm hiểu nghiên cứu lĩnh vực, cơng cụ tương đối mẻ với kiến thức nhiều hạn chế, nên khơng tránh khỏi thiếu sót Em mong nhận ý kiến đóng góp quý báu thầy cô bạn để luận văn hoàn thiện Hà Nội, tháng 06 năm 2016 Học viên Nguyễn Xuân Trường MỤC LỤC MỤC LỤC DANH MỤC KÝ HIỆU VÀ CHỮ 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 1.1 Sự cần thiết đề tài 1.2 Nội dung nghiên cứu 1.3 Đóng góp đề tài 1.4 Cấu trúc luận văn Chƣơng TỔNG QUAN VỀ KIỂM CHỨNG GIAO DIỆN PHẦN MỀM VÀ PHƢƠNG PHÁP HÌNH HĨA EVENT-B 11 2.1 Giao diện người dùng 11 2.2 Các phương pháp kiểm chứng giao diện 12 2.2.1 Phương pháp tĩnh 14 2.2.2 Phương pháp động 14 2.3 Tổng quan Event-B 16 2.3.1 Context 17 2.3.2 Machine 18 2.3.3 Ký hiệu toán học Event-B 21 2.3.4 Tinh chỉnh 22 2.3.5 Mệnh đề chứng minh 23 2.3.6 Công cụ Rodin 24 Chƣơng KIỂM CHỨNG GIAO DIỆN PHẦN MỀM BẰNG PHƢƠNG PHÁP HÌNH HĨA EVENT-B 27 3.1 Phương pháp chung 27 3.2 Phương pháp chi tiết 28 3.3 hình hóa giao diện phần mềm 31 3.4 Mệnh đề chứng minh 32 Chƣơng ÁP DỤNG PHƢƠNG PHÁP KIỂM CHỨNG GIAO DIỆN ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG VỚI EVENT-B 34 4.1 Tổng quan ứng dụng điện thoại di động 34 4.1.1 Các thành phần ứng dụng Android 35 4.1.2 Cơ chế quản lý Activity 35 4.2 Ứng dụng Note 38 4.2.1 Giới thiệu chung 38 4.2.2 Ứng dụng Note 38 4.3 hình hóa kiểm chứng giao diện ứng dụng Note 44 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 56 Kết luận 56 Hướng phát triển 57 PHỤ LỤC 58 A Đặc tả context Note_C ứng dụng Note 58 B Đặc tả machine Note_M ứng dụng Note 58 TÀI LIỆU THAM KHẢO 62 DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT IDE Integrated Development Environment GUI Graphical User Interface POS Proof Obligations INV Invariant DLF Deadlock Freeness VAR Variant WD well-definedness DANH MỤC CÁC BẢNG Bảng 2.1 Các phép toán logic 21 Bảng 2.2 Luật chứng minh INV với kiện evt 24 Bảng 3.1 Chuyển đổi từ GUI tới Event-B 32 Bảng 4.1 Bảng CSDL ghi Note 38 Bảng 4.2 tả cửa sổ giao diện MainActivity 39 Bảng 4.3 tả sơ đối tượng cửa sổ giao diện CreateActivity 40 Bảng 4.4 tả sơ đối tượng cửa sổ giao diện EditActivity 41 Bảng 4.5 tả sơ đối tượng cửa sổ giao diện ViewActivity 43 DANH MỤC CÁC HÌNH VẼ Hình 2.1 Giao diện đồ họa người dùng 11 Hình 2.2 Giao diện dòng lệnh 12 Hình 2.3 Cấu trúc mối quan hệ thành phần hình EventB 17 Hình 2.4 Cấu trúc context 18 Hình 2.5 Ví dụ context Event-B 18 Hình 2.6 Cấu trúc machine Event-B 20 Hình 2.7 Cấu trúc Event Event-B 20 Hình 2.8 Ví dụ machine Event-B 20 Hình 2.9 Ví dụ Event Event-B 21 Hình 2.10 Ví dụ mối quan hệ Refinement Event-B 22 Hình 2.11 Sơ đồ định nghĩa kiện 23 Hình 2.12 Định nghĩa kiện evt 24 Hình 2.13 Giao diện đồ họa công cụ Rodin 25 Hình 2.14 Symbols View 36 Hình 2.15 Event-B Explorer 36 Hình 2.16 Menu bar 36 Hình 3.1 Quy trình kiểm chứng tổng quát 27 Hình 3.2 Quy trình kiểm chứng chi tiết 30 Hình 4.1 Cơ chế Back Stack 36 Hình 4.2 Activity State 37 Hình 4.3 MainActivity.XML 40 Hình 4.4 CreateActivit.XML 41 Hình 4.5 EditActivit.XML 42 Hình 4.6 ViewActivity.XML 43 Hình 4.7 Quy trình xây dựng Activity Diagram 44 Hình 4.8 Sơ đồ Activity Diagram 45 Hình 4.9 Q trình hình hóa từ đặc tả vào Event-B 46 Hình 4.10 Context Note_C 47 Hình 4.11 Một phần machine Note_M 49 Hình 4.12 Event ứng dụng 50 Hình 4.13 Event chọn chức Create 50 Hình 4.14 Event chọn chức Edit 50 Hình 4.15 Event chọn chức View 51 Hình 4.16 Event chọn chức Delete 51 Hình 4.17 Các Event đối tượng cửa sổ 51 Hình 4.18 Cửa sổ sinh kiểm chứng tự động 53 Hình 4.19 Bảng kết Statistics 53 Hình 4.20 Thơng báo mệnh đề chưa chứng minh tự động 54 Hình 4.21 Cửa sổ Goal 54 Hình 4.22 Cửa sổ Statistics trường hợp lỗi 55 Hình 4.23 Cửa sổ Statistics trường hợp lỗi 55 Chƣơng GIỚI THIỆU 1.1 Sự cần thiết đề tài Ngày phần mềm có mặt hầu hết lĩnh vực: Giáo dục, truyền thông, ngân hàng, sản xuất chế tạo, quản trị, y tế, khoa học kỹ thuật, hàng khơng vũ trụ, giải trí, … Giúp người giải hầu hết công việc dần thay người Đại đa số phần mềm xây dựng với giao diện đồ họa người dùng Graphical User Interface (GUI) thân thiện người sử dụng việc tương tác với giao diện phần mềm Việc phát triển phần mềm dần hướng tới đưa sản phẩm có giao diện dễ sử dụng, có tính thẩm mỹ cao đảm bảo chức cần thiết Tuy nhiên lúc GUI phần mềm xây dựng điều đảm bảo tính dễ dùng, bố cục hợp lý, chức hoạt động cách xác mong muốn Lỗi phần mềm chủ yếu xuất trình tương tác như: Các phần tử GUI hiển thị bất thường khó quan sát thao tác, chức thực không dự định, thông báo hiển thị sai, thứ tự xuất cửa sổ khơng xác,…, dẫn tới thực sai, gây mát liệu, gây an tồn thiệt hại kinh tế nguy hại tới tính mạng người sử dụng, Vì vậy, Cần phải thực kiểm thử giao diện phần mềm để kiểm tra chức năng, qn, khả tầm nhìn, khả tương thích đảm bảo phù hợp với thông số đặc tả thiết kế, phát lỗi sửa chữa kịp thời vấn đề bất thường có giao diện vơ quan trọng thách thức lớn trình xây dựng phần mềm Kiểm chứng giao diện phần mềm quy trình gồm nhiều cơng việc khác nhiều đối tượng giao diện Trong việc kiểm chứng thứ tự hiển thị cửa sổ giao diện yếu tố quan trọng cần thiết, thấy người sử dụng làm việc với phần mềm chủ yếu thông qua cửa sổ giao diện qua người dùng giao tiếp, tương tác, trao đổi nhập xuất thông tin với phần mềm Từ chức cửa sổ gọi tới nhiều cửa sổ khác, thời điểm có cửa sổ làm việc Các trạng thái thứ tự xuất giao diện cần đảm bảo xác với lời gọi tới Khi cửa sổ hiển thị khơng với thứ tự ứng chức định sẵn đưa tới người dùng thông tin hành động sai điều gây hậu khó lường Từ trước tới có nhiều phương pháp kiểm chứng, kiểm thử áp dụng để kiểm chứng, kiểm thử đặc tả thiết kế giao diện phần mềm kiểm chứng tĩnh, kiểm chứng động, kiểm thử hộp đen, Tuy nhiên phương pháp lại bộc lộ ưu nhược điểm riêng Với kiểm chứng tĩnh lại phụ thuộc chủ yếu vào kiến thức với kinh nghiệm khả phân tích người kiểm thử thường tốn nhiều thời gian Trong kiểm chứng động lại áp dụng trình thực phần mềm sử dụng kỹ thuật kiểm thử tùy theo cấp độ kiểm thử modul hay kiểm thử đơn vị, phương pháp tốt cho việc tìm lỗi lại đòi hỏi thực chương trình tức việc kiểm chứng thực sau có mã nguồn Phương pháp Event-B phương pháp hình hóa cho phép hình hóa thành phần, đối tượng hệ thống phần mềm dựa ký hiệu toán học, logic mệnh đề lý thuyết tập hợp kết hợp với công cụ mã nguồn mở Rodin cho phép sinh kiểm chứng cách tự động Nhận thấy tầm quan trọng việc kiểm chứng giao diện người dùng phần mềm mà cụ thể kiểm chứng thứ tự xuất cửa sổ giao diện với ưu điểm phương pháp Event-B công cụ Rodin, nên tác giả mạnh dạn đề xuất đề tài “Kiểm chứng giao diện phần mềm phƣơng pháp hình hóa Event – B” nhằm nghiên cứu phương pháp kiểm chứng giao diện chung tập trung vào xây dựng phương pháp kiểm chứng thứ tự xuất cửa sổ giao diện phần mềm cho ứng dụng thiết bị di động 62 TÀI LIỆU THAM KHẢO [1] GUI Testing Techniques: A Survey Imran Ali Qureshi an AamerNadeem, International Journal of Future Computer and Communication, Vol 2, No 2, April 2013 [2] Cem Kaner, James Bach, Bret Pettichord, Lessons Learned in Software Testing A Context-Driven Approach, John Wiley & Sons, 2001 [3] [BEI90] Beizer, B., Software Testing Techniques, 2d ed., Van Nostrand Reinhold, 1990 [4] J.-R Abrial, Modeling in Event-B: System and Software Engi-neering Cambridge University Press, 2010 [5] A.F Memon, GUI testing pitfalls and process, Computer, University of Maryland, 2002 [6] D Jackson Software Abstractions: Logic, Language, and Analysis MIT Press, 2006 [7] Christophe M´etayer, Laurent Voisin, the Event-B Mathematical Language, 2007 [8] http://code.google.com/events/io/ [9] http://www.Event-B.org/ [10] http://www.android.com/ [11] http://o7planning.org/web/fe/default/vi/document/1283892/huong-danlap-trinh-android-voi-database-sqlite [12] http://android.vn/forums/ ... giao diện phần mềm phƣơng pháp mơ hình hóa Event – B” nhằm nghiên cứu phương pháp kiểm chứng giao diện chung tập trung vào xây dựng phương pháp kiểm chứng thứ tự xuất cửa sổ giao diện phần mềm. .. QUAN VỀ KIỂM CHỨNG GIAO DIỆN PHẦN MỀM VÀ PHƢƠNG PHÁP MƠ HÌNH HĨA EVENT-B 11 2.1 Giao diện người dùng 11 2.2 Các phương pháp kiểm chứng giao diện 12 2.2.1 Phương pháp tĩnh... có nhiều phương pháp kiểm chứng, kiểm thử áp dụng để kiểm chứng, kiểm thử đặc tả thiết kế giao diện phần mềm kiểm chứng tĩnh, kiểm chứng động, kiểm thử hộp đen, Tuy nhiên phương pháp lại bộc lộ

Ngày đăng: 11/11/2017, 09:47

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

TÀI LIỆU LIÊN QUAN

w