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 123 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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

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 MÔ HÌNH HÓA EVENT – B LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI,

Trang 1

ĐẠ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

MÔ HÌNH HÓA EVENT – B

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI, 2016

Trang 2

ĐẠ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

MÔ HÌNH HÓA EVENT – B

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

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan toàn bộ nội dung bản luận văn là do tôi tìm hiểu, nghiên cứu, tham khảo và tổng hợp từ các nguồn tài liệu khác nhau và làm theo hướng dẫn của người hướng dẫn khoa học Các nguồn tài liệu tham khảo, tổng hợp đều

có nguồn gốc rõ ràng và trích dẫn theo đúng quy định

Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình Nếu có điều gì sai trái, tôi xin chịu mọi 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

Trang 4

LỜI CẢM ƠN

Em xin gửi lời cảm ơn chân thành đến các thầy, các 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 trong suốt quá thời gian học tập tại 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 chỉ bảo, hướng dẫn, định hướng cho em để em hoàn thành luận văn tốt nghiệp này

Cuối cùng em xin cảm ơn gia đình, bạn bè, đồng nghiệp đã luôn động viên ủng hộ và tạo mọi điều kiện tốt nhất trong suốt quá trình học tập và hoàn thành luận văn này Với việc tìm hiểu và nghiên cứu về lĩnh vực, công cụ còn tương đối mới mẻ cùng với kiến thức còn nhiều hạn chế, nên không tránh khỏi những thiếu sót Em rất mong nhận được những ý kiến đóng góp quý báu của thầy cô và các bạn để luận văn được hoàn thiện hơn

Hà Nội, tháng 06 năm 2016

Học viên

Nguyễn Xuân Trường

Trang 5

MỤC LỤC

MỤC LỤC 1

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT 3

DANH MỤC CÁC BẢNG 4

DANH MỤC CÁC HÌNH VẼ 5

Chương 1 GIỚI THIỆU 7

1.1 Sự cần thiết của đề tài 7

1.2 Nội dung nghiên cứu 9

1.3 Đóng góp của đề tài 9

1.4 Cấu trúc của luận văn 9

Chương 2 TỔNG 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 14

2.2.2 Phương pháp động 14

2.3 Tổng quan về Event-B 16

2.3.1 Context 17

2.3.2 Machine 18

2.3.3 Ký hiệu toán học trong 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

Trang 6

Chương 3 KIỂM CHỨNG GIAO DIỆN PHẦN MỀM BẰNG PHƯƠNG

PHÁP MÔ 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 Mô hình hóa giao diện phần mềm 31

3.4 Mệnh đề chứng minh 32

Chương 4 Á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 về các ứng dụng trên điện thoại di động 34

4.1.1 Các thành phần cơ bản của một ứng dụng Android 35

4.1.2 Cơ chế quản lý các 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 Mô hình hóa và 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 của ứng dụng Note 58

B Đặc tả machine Note_M của ứng dụng Note 58

TÀI LIỆU THAM KHẢO 62

Trang 7

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Trang 8

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 sự 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 chú Note 38

Bảng 4.2 Mô tả cửa sổ giao diện MainActivity 39

Bảng 4.3 Mô tả sơ bộ các đối tượng của cửa sổ giao diện CreateActivity 40

Bảng 4.4 Mô tả sơ bộ các đối tượng của cửa sổ giao diện EditActivity 41

Bảng 4.5 Mô tả sơ bộ các đối tượng của cửa sổ giao diện ViewActivity 43

Trang 9

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 và mối quan hệ của các thành phần mô hình trong Event-B 17

Hình 2.4 Cấu trúc context 18

Hình 2.5 Ví dụ về context trong Event-B 18

Hình 2.6 Cấu trúc machine trong Event-B 20

Hình 2.7 Cấu trúc của Event trong Event-B 20

Hình 2.8 Ví dụ machine trong Event-B 20

Hình 2.9 Ví dụ Event trong Event-B 21

Hình 2.10 Ví dụ về mối quan hệ Refinement trong Event-B 22

Hình 2.11 Sơ đồ định nghĩa sự kiện 23

Hình 2.12 Định nghĩa sự kiện evt 24

Hình 2.13 Giao diện đồ họa củ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

Trang 10

Hình 4.9 Quá trình mô hình hóa từ đặc tả vào trong Event-B 46

Hình 4.10 Context Note_C 47

Hình 4.11 Một phần của machine Note_M 49

Hình 4.12 Event thoát ứng dụng 50

Hình 4.13 Event chọn chức năng Create 50

Hình 4.14 Event chọn chức năng Edit 50

Hình 4.15 Event chọn chức năng View 51

Hình 4.16 Event chọn chức năng Delete 51

Hình 4.17 Các Event trên các đối tượng của các 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 quả Statistics 53

Hình 4.20 Thông báo mệnh đề chưa chứng minh được tự động 54

Hình 4.21 Cửa sổ Goal 54

Hình 4.22 Cửa sổ Statistics trong trường hợp lỗi 55

Hình 4.23 Cửa sổ Statistics trong trường hợp lỗi 55

Trang 11

Chương 1 GIỚI THIỆU

1.1 Sự cần thiết của đề tài

Ngày nay phần mềm có mặt trong hầu hết các 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 con người giải quyết hầu hết các công việc và dần thay thế con người Đại đa số phần mềm hiện nay được xây dựng với một giao diện

đồ họa người dùng Graphical User Interface (GUI) thân thiện và người sử dụng chỉ việc tương tác với giao diện của phần mềm

Việc phát triển phần mềm dần hướng tới đưa ra sản phẩm có giao diện dễ

sử dụng, có tính thẩm mỹ cao và đảm bảo được các chức năng cần thiết Tuy nhiên không phải lúc nào các GUI của phần mềm khi được xây dựng điều đảm bảo được tính dễ dùng, bố cục hợp lý, các chức năng hoạt động một cách chính xác như mong muốn Lỗi phần mềm chủ yếu xuất hiện trong quá trình tương tác như: Các phần tử trên GUI hiển thị bất thường khó quan sát và thao tác, các chức năng thực hiện không như dự định, các thông báo hiển thị sai, thứ tự xuất hiện của các cửa sổ không chính xác,…, dẫn tới thực hiện sai, gây mất mát dữ liệu, gây mất an toàn thiệt hại về kinh tế và có thể nguy hại tới tính mạng của người sử dụng, Vì vậy, Cần phải thực hiện kiểm thử giao diện phần mềm để kiểm tra các chức năng, sự nhất quán, khả năng tầm nhìn, khả năng tương thích đảm bảo phù hợp với các thông số trong đặc tả thiết kế, phát hiện lỗi và sửa chữa kịp thời hoặc bất cứ vấn đề bất thường nào có thể có của giao diện là vô cùng quan trọng và là một thách thức lớn trong quá trình xây dựng phần mềm

Kiểm chứng giao diện phần mềm là một quy trình gồm nhiều công việc khác nhau trên nhiều đối tượng của giao diện Trong đó việc kiểm chứng thứ tự hiển thị của các cửa sổ giao diện là một yếu tố quan trọng và cần thiết, có thể thấy người sử dụng làm việc với phần mềm chủ yếu thông qua các cửa sổ giao diện qua đó người dùng có thể giao tiếp, tương tác, trao đổi nhập xuất thông tin với phần mềm Từ một chức năng trong cửa sổ này có thể gọi tới một hoặc nhiều

Trang 12

cửa sổ khác, tại mỗi một thời điểm chỉ có một cửa sổ được làm việc Các trạng thái và thứ tự xuất hiện của các giao diện cần đảm bảo chính xác với lời gọi tới

nó Khi cửa sổ hiển thị không đúng với thứ tự ứng chức năng định sẵn sẽ đưa tới người dùng những thông tin và hành động sai điều này gây ra những hậu quả khó lường

Từ trước tới nay có nhiều phương pháp kiểm chứng, kiểm thử được áp dụng để kiểm chứng, kiểm thử các bản đặc tả thiết kế giao diện phần mềm như kiểm chứng tĩnh, kiểm chứng động, kiểm thử hộp đen, Tuy nhiên mỗi phương pháp lại bộc lộ những ưu và 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ả năng phân tích của người kiểm thử và thường tốn nhiều thời gian Trong khi đó kiểm chứng động thì lại được áp dụng trong quá trình thực hiện của phần mềm và sử dụng các kỹ thuật kiểm thử tùy theo cấp độ như kiểm thử modul hay kiểm thử đơn vị, phương pháp này tốt cho việc tìm lỗi nhưng lại đòi hỏi thực hiện chương trình tức là việc kiểm chứng chỉ thực hiện sau khi đã có mã nguồn Phương pháp Event-B là một phương pháp mô hình hóa cho phép mô hình hóa các thành phần, đối tượng của

hệ thống phần mềm dựa trên các ký hiệu toán học, logic mệnh đề và 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 và kiểm chứng một cách tự động

Nhận thấy được tầm quan trọng của việc kiểm chứng giao diện người dùng của phần mềm mà cụ thể là kiểm chứng thứ tự xuất hiện của các cửa sổ giao diện cùng với ưu điểm của phương pháp Event-B và 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 bằng 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 và tập trung vào xây dựng phương pháp kiểm chứng thứ

tự xuất hiện của các cửa sổ giao diện phần mềm cho các ứng dụng trên thiết bị di động

Trang 13

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-dan-lap-trinh-android-voi-database-sqlite

[12] http://android.vn/forums/

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

🧩 Sản phẩm bạn có thể quan tâm

w