Tóm tắt Luận văn Kiểm chứng giao diện phần mềm bằng phương pháp mô hình hóa Event – B

6.1. Kết luận Khi các hệ thống tin học hoá ngày càng đi vào đời sống con người thì vấn đề thiết kế giao diện càng trở nên quan trọng trong việc phát triển phần mềm. Trên cơ sở đó luận văn đã tập trung vào nghiên cứu phương pháp kiểm chứng giao diện ứng dụng bằng phương pháp mô hình hóa Event-B. Có nhiều phương pháp kiểm chứng giao diện đã và đang được người phát triển sử dụng như kiểm thử bằng tay, kiểm thử tự động. Mỗi một phương pháp điều có những ưu nhược điểm riêng. Kiểm thử bằng tay thường sử dụng cho việc thử nghiệm lần đầu, thăm dò nhưng tỏ ra không hiệu quả khi quá trình kiểm thử cần lặp lại ca kiểm thử nhiều lần. Kiểm thử tự động khắc phục được những hạn chế của kiểm thử bằng tay nhưng tốn kém hơn, chi phí đầu tư ban đầu lớn. Kiểm thử thủ công bằng tay là không thể thay thế vì chúng ta không thể tự động hóa mọi thứ. Hiện tại hầu như tất cả các tổ chức, công ty phát triển phần mềm đều lựa chọn kiểm thử thủ công cho mọi sản phẩm. Tuy nhiên các công cụ kiểm thử tự động cũng có những điểm mạnh nhất định mà kiểm thử thủ công bằng tay không có, nên cần xem xét hoàn cảnh để có thể áp dụng kiểm thử tự động cho quá trình kiểm thử phần mềm. Trong quá trình nghiên cứu luận văn đã tập trung vào tìm hiểu về giao diện phần mềm, các cơ chế, đặc điểm, các phương pháp kiểm chứng hiện có. Nghiên cứu phương pháp mô hình hóa Event-B và công cụ kiểm chứng tự động Rodin. Xây dựng một quy trình tổng quát để mô hình hóa và kiểm chứng thứ tự xuất hiện của giao diện ứng dụng phần mềm, xây dựng các định nghĩa, luật chuyển đổi từ mô hình giao diện trừu tượng sang Event-B tổng quát. Áp dụng vào kiểm chứng giao diện của ứng dụng Note trên thiết bị di động. Nghiên cứu bước đầu dừng lại ở việc kiểm chứng thứ tự xuất hiện của các cửa sổ giao diện mà chưa thể kiểm chứng các ràng buộc trên các đối tượng của từng cửa sổ giao diện.24 6.2. Hướng phát triển Từ những quy trình, mô hình, phương pháp tổng quát đã xây dựng và áp dụng kiểm chứng tự động trên ứng dụng cụ thể với công cụ Rodin. Với những nghiên cứu đạt được của luận văn. Có thể nghiên cứu phát triển để xây dựng thêm và bổ sung thêm các mô hình quy trình tổng quát và áp dụng để kiểm chứng không chỉ thứ tự của cửa sổ giao diện mà còn trên nhiều thành phần khác nhau của giao diện ứng dụng và trên nhiều loại giao diện ứng dụng hơn không chỉ là mobile mà có thể là Window Form hoặc là giao diện Web.

pdf25 trang | Chia sẻ: yenxoi77 | Lượt xem: 621 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Tóm tắt Luận văn Kiểm chứng giao diện phần mềm bằng phương pháp mô hình hóa Event – B, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 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 TÓM TẮT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI, 2016 2 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) và con người sẽ làm việc thông qua tương tác với giao diện của phần mềm. Người sử dụng thường quan tâm tới giao diện dễ sử dụng và có tính thẩm mỹ đảm bảo được các chức năng. 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ư dự kiến hay trả lại kết quả như mong muốn. Những lỗi phát sinh 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 có thể nguy hại tới tính mạng con người và thiệt hại về kinh tế,... 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 và sửa chữa kịp thời các lỗi hoặc bất cứ vấn đề bất thường nào có thể có trước khi đưa ra lưu hành, làm giảm các chi phí sửa chữa và bảo trì. Lỗi hiển thị sai các cửa sổ giao diện là tương đối nghiêm trọng. Các cửa sổ giao diện đại diện cho bộ mặt của ứng dụng phần mềm, là nơi chứa và hiển thị các phần tử giao diện thông qua đó người dùng có thể tương tác, trao đổi nhập xuất thông tin. 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 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 3 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. 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 người dùng, 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 thứ tự của các cửa sổ giao diện phần mềm một cách tự động dựa trên Event-B và thực hiện áp dụng cho giao diện ứng dụng trên thiết bị di động. 1.2. Nội dung nghiên cứu Đề tài tập trung vào việc nghiên cứu giao diện phần mềm, các vấn đề liên quan tới kiểm chứng giao diện phần mềm, các phương pháp kiểm chứng giao diện nghiên cứu mô hình. Nghiên cứu cấu trúc, ký pháp của phương pháp mô hình hóa Event-B. Tìm hiểu nguyên lý, cách sử dụng công cụ Rodin. Từ những nghiên cứu có được đưa ra một phương pháp mô hình hóa và kiểm chứng chung cho kiểm chứng thứ tự xuất hiện của các cửa sổ giao diện người dùng, toàn bộ quá trình nghiên cứu được triển khai gồm các công việc: xây dựng quy trình thực hiện, xây dựng các mô hình tổng quát thông qua các định nghĩa, xây dựng các bộ quy tắc chuyển đổi tham chiếu tương ứng từ mô hình vào trong Event-B. Áp dụng vào kiểm chứng tự động thứ tự thực hiện của các cửa sổ giao diện của ứng dụng tạo ghi chú Note chạy trên hệ điều hành Android của thiết bị di động. 1.3. Đóng góp của đề tài Nghiên cứu đề xuất phương pháp để kiểm chứng giao diện người dùng phần mềm bằng phương pháp mô hình hóa Event-B, đó chính là kiểm chứng sự tuân thủ về thứ tự của các cửa sổ giao diện, giúp các nhà phát triển có thể phát hiện và tránh các lỗi không mong muốn của giao diện hoặc những giả thiết 4 không hợp lý về thiết kế của giao diện trong quá trình xây dựng phần mềm trước khi cài đặt. 1.4. Cấu trúc của luận văn Phần nội dung của luận văn được cấu trúc thành 7 chương chính như sau: Chương 1. GIỚI THIỆU Giới thiệu về các yêu cầu khách quan, chủ quan, cơ sở khoa học, thực tiễn nghiên cứu và xây dựng đề tài. Chương 2. TỔNG QUAN VỀ KIỂM CHỨNG GIAO DIỆN PHẦN MỀM Giới thiệu một cách chi tiết về giao diện phần mềm cũng như các vấn đề về kiểm chứng giao diện phần mềm, các phương pháp kiểm chứng giao diện. Chương 3. PHƯƠNG PHÁP MÔ HÌNH HÓA EVENT-B Bao gồm những kiến thức tổng quan về phương pháp mô hình hóa Event- B, mô tả cấu trúc của mô hình, các thành phần, giải thích ý nghĩa của các thành phần, cấu trúc của mệnh đề chứng minh và phân loại. Nêu rõ tập các ký hiệu toán học trong cú pháp của mô hình. Trình bày cách sử dụng và kiểm chứng tự động với công cụ Rodin. Chương 4: KIỂM CHỨNG GIAO DIỆN PHẦN MỀM BẰNG PHƯƠNG PHÁP EVENT-B Tập trung vào việc xây dựng mô hình kiểm chứng chung cho các giao diện ứng dụng như: xây dựng quy trình thực hiện, xây dựng mô hình chung trên các định nghĩa, đưa ra các luật chuyển đổi tổng quát và mệnh đề chứng minh tổng quát chung. Chương 5. ÁP DỤNG PHƯƠNG PHÁP KIỂM CHỨNG GIAO DIỆN ỨNG DỤNG NOTE VỚI EVENT-B 5 Trình bày tổng quan về Android và ứng dụng Note. Áp dụng phương pháp đã nghiên cứu được vào mô hình hóa và kiểm chứng thứ tự các cửa sổ cửa ứng dụng Note. Soạn thảo mô hình thu được và kiểm chứng tự động với công cụ Rodin. Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận tổng thể về các kết quả đã đạt được của luận văn và hướng phát triển tiếp theo. Chương 7. PHỤ LỤC Trình bày một cách chi tiết về các mô hình trong Event-B của ứng dụng Note đã chuyển đổi và mô hình hóa 6 Chương 2. TỔNG QUAN VỀ KIỂM CHỨNG GIAO DIỆN PHẦN MỀM 2.1. Giao diện người dùng GUI cung cấp cho người dùng một giao tiếp khác với các chương trình máy, biến các chương trình phức tạp trở nên dễ dùng hơn so với giao diện dòng lệnh. Một ví dụ minh họa về GUI và giao diện dòng lện thể hiện trong Hình 2.3 và Hình 2.4. Hình 2.3 Giao diện đồ họa người dùng Hình 2.4 Giao diện dòng lệnh 2.2. Các phương pháp kiểm chứng giao diện 2.2.1. Kiểm chứng giao diện người dùng bằng tay 2.2.2. Kiểm chứng giao diện người dùng tự động 7 Chương 3. PHƯƠNG PHÁP MÔ HÌNH HÓA EVENT-B 3.1. Tổng quan về Event-B Một mô hình có thể chỉ chứa các contexts hoặc các machines hoặc là cả hai loại. Mối quan hệ và cấu trúc của machines và contexts được thể hiện trong Hình 3.1 [4]. Hình 3.1. Cấu trúc mối và quan hệ của các thành phần mô hình trong Event-B. 3.2 Context Context dùng để đặc tả những phần tĩnh của mô hình, mỗi context trong Event-B có một tên duy nhất. Context được tạo thành từ các mệnh đề được mô tả trong Hình 3.2 [4]: Hình 3.2. Cấu trúc của một context. MACHINE .. REFINES .. SEES . VARIABLES .. INVARIANTS .. VARIANT . EVENTS .. END CONTEXT .. EXTENDS .. SETS .. CONSTANTS . AXIOMS .. THEOREMS .. END Sees CONTEXT .. EXTENDS .. SETS .. CONSTANTS . AXIOMS .. THEOREMS .. END 8 3.3 Machine Một machine trong Event-B phải có một tên duy nhất và khác với tất cả các context và machine trong mô hình. Một machine được cấu tạo bởi các thành phần là các mệnh đề được mô tả trong Hình 3.4 [4]. Hình 3.4. Cấu trúc của machine trong Event-B. Hình 3.5. Cấu trúc của Event trong Event-B. 3.4 Ký hiệu toán học trong Event-B  Các phép toán logic bậc nhất: Bảng 3.1 mô tả các phép toán. Từ các phép toán logic cơ sở tạo nên các biểu thức logic được gọi là các vị từ trong các invariants và trong các ràng buộc (guards) của event trong mô hình của Event-B. Bảng 3.1: Các phép toán logic Tên phép toán Ký hiệu Tuyển  MACHINE .. REFINES .. SEES . VARIABLES .. INVARIANTS .. VARIANT . EVENTS .. END EVENT REFINES ANY WHERE WITH THEN END 9 Hội  Phủ định  Kéo theo  Tương đương  Lượng từ với mọi  Lượng từ tồn tại   Các phép toán tập hợp: phép hợp , phép giao , phép hiệu \, quan hệ bao hàm , quan hệ thuộc .  Các kiểu dữ liệu  Kiểu nguyên là kiểu dữ liệu số được ký hiệu là ℤ.  Kiểu logic ký hiệu là BOOL chỉ nhận một trong 2 giá trị BOOL={TRUE, FALSE}.  Kiểu tập hợp do người dùng định nghĩa.  Kiểu tập con của một tập ký hiệu là ℙ. 3.5 Tinh chỉnh Tinh chỉnh (refinement) là giai đoạn cài đặt hay cụ thể hóa một machine hoặc một context trừu tượng thành một machine hoặc một context cụ thể hơn, chi tiết hơn bằng việc bổ sung vào các yếu tố cụ thể [9] [4]. Hình 3.8 là ví dụ mô tả mối quan hệ giữa machine và context trừu tượng và các tinh chỉnh của chúng. Hình 3.8 Ví dụ về mối quan hệ Refinement trong Event-B M M M C0 1 C0 1 C refines extend see s see s see s see s refines 10 3.6 Mệnh đề chứng minh Mệnh đề cần chứng minh POs (Proof Obligations) là những biểu thức logic mà cần được chứng minh trong mô hình Event-B, việc chứng minh nhằm đảm bảo các machine là an toàn. POs được thực hiện một cách tự động nhờ công cụ Rodin Platform vì vậy người ta còn gọi là chứng minh tự động. Các mệnh đề chứng minh trong Event-B được mô tả thành các luật chứng minh và được định nghĩa thành các loại khác nhau như: Invariant preservation (INV), Variant (VAR), Deadlock Freeness (DLF), Theorem (THM), well-definedness (WD),, chúng được sinh ra tự động trong Rodin. Để xác định các luật theo từng sự kiện thì ta sử dụng hệ thống sơ đồ định nghĩa sự kiện như Hình 3.9 [9] [4]. Hình 3.9 Sơ đồ định nghĩa sự kiện 3.7 Công cụ Rodin Trong luận văn này sử dụng phiên bản Rodin 3.2 cập nhật ngày 22/09/2015 là một IDE dựa trên Eclipse được cung cấp hỗ trợ xây dựng, tinh chỉnh, mô hình hóa và chứng minh các mô hình trong Event-B [9]. Hình 3.11 là ví dụ về giao diện của bộ công cụ này [9]. Hình 3.11. Giao diện đồ họa của công cụ Rodin. 11 Chương 4. KIỂM CHỨNG GIAO DIỆN PHẦN MỀM BẰNG PHƯƠNG PHÁP MÔ HÌNH HÓA EVENT-B 4.1. Phương pháp chung Quy trình mô hình hóa vào kiểm chứng giao diện với phương pháp Event- B là quá trình chuyển đổi các thành phần tương ứng của giao diện như các yêu cầu, thuộc tính, đặc tả, ràng buộc sang các yếu tố, thành phần trong cấu trúc mô hình của Event-B, sau đó biên tập và kiểm chứng tự động bằng công cụ Rodin. Quy trình tổng quát của phương pháp được thể hiện trong sơ đồ Hình 4.1. Hình 4.1. Quy trình kiểm chứng tổng quát Từ quy trình tổng quát của phương pháp trong Hình 4.1 ta đi thực hiện cụ thể hóa nó bằng các bước cụ thể hơn được mô tả trong Hình 4.2. 12 Hình 4.2 Quy trình kiểm chứng chi tiết 4.2. Mô hình hóa giao diện phần mềm Giao diện người sử dụng của một phần mềm nó bao gồm các cửa sổ đối tượng thuộc cửa sổ, trạng thái của các cửa sổ và đối tượng, sự kiện hoặc tập các sự kiện trên các đối tượng cửa sổ, các thông báo. Chúng ta có thể mô hình hóa và định nghĩa một cách trừu tượng các thành phần của giao diện qua một số định nghĩa như sau:  Định nghĩa 1: Một giao điện ứng dụng cơ bản là một bộ 6 UI=<G, A, S, E, C, M> trong đó G là tập các cửa sổ giao điện, A là tập các hành động, S là tập các trạng thái, E là tập các sự kiện, C là tập các ràng buộc, M là tập các thông báo.  Định nghĩa 2: Một cửa sổ giao diện là một bộ 7 g ∈ G, g=<P, A, O, S_g, E_g, C_g, M_g> trong đó P là tập các thuộc tính, A là tập các hành động, O là tập các đối tượng trên giao diện, S_g là tập các trạng thái của cửa sổ, E_g là tập các sự kiện của g, C_g là tập các ràng buộc của g, M_g là tập các thông báo có trong g. 13  Định nghĩa 3: Một đối tượng trên giao diện o ∈ O là một bộ 5 o = <p_o, a_o, s_o, e_o, c_o> trong đó p_o là tập các thuộc tính của đối tượng o, a_o là tập các hành vi có thể có của o, s_o là tập các trạng thái của o, e_o là tập các sự kiện của o, c_o là tập các ràng buộc mà o cần tuân theo. Từ các định nghĩa cơ bản trên đi xây dựng một tập các luật chuyển đổi, để chuyển đổi từ một mô hình giao diện ứng dụng sang một mô hình trong Event- B, chuyển đổi được thể hiện trong Bảng 4.1. Các luật chuyển đổi được mô tả cụ thể như sau:  Luật 1: Giao diện ứng dụng UI= sẽ được chuyển thành một machine và một context trừu tượng trong Event-B: <UM, UC>. Trong đó e ∈ E là một sự kiện của máy UM.  Luật 2: Các thuộc tính của cửa sổ và các đối tượng trên cửa sổ sẽ được chuyển thành các biến VARIABLES.  Luật 3: Các thành phần hằng, tĩnh không thay đổi của giao diện sẽ chuyển thành các CONSTANTS, SET và quy định, quy ước phải tuân theo của chúng tương ứng thành AXIOMS trong context.  Luật 4: Các ràng buộc về thứ tự xuất hiện của cửa sổ sẽ được chuyển thành các INVARIANTS.  Luật 5: Các hành động của các cửa sổ khi sự kiện xảy ra sẽ được chuyển thành các sự kiện EVENT và các Action trong sự kiện của machine trong Event-B. Bảng 4.1. Chuyển đổi từ GUI tới Event-B Tên Mô tả Mô hình hóa Luật 1 UI = UC, UM Luật 2 O, Properties Variables Luật 3 Thành phần tĩnh, hằng Constants, Set, Axiom Luật 4 Ràng buộc Invariant Luật 5 Action, sự kiện Event, Action 14 4.3. Mệnh đề chứng minh Giao diện phần mềm UI = ta có chuyển tương ứng thành máy UM và UC với x ∈ 𝐺 là một biến trạng thái của mô hình thể hiện cửa sổ hiện tại, e ∈ 𝐸 là sự kiện và x’ là cửa sổ mới được chuyển tới khi sự kiện e xảy ra. Trạng thái cửa sổ hiện tại trước và sau khi sự kiện xảy ra có thể mô tả một cách không hình thức x :| E(x, x’) Dựa trên luật 4 ta có ràng buộc bất biến tương ứng I(x) và I(x’). Điều kiện để sự kiện xảy ra được ký hiệu là Grd(x). Ta có thể định nghĩa nhiệm vụ chứng minh POs như sau: Grd(x)  E(x, x’)  I(x’) Hay có thể viết Grd(x), I(x) I(x’) 15 Chương 5. ÁP DỤNG PHƯƠNG PHÁP KIỂM CHỨNG GIAO DIỆN ỨNG DỤNG NOTE VỚI EVENT-B 5.1. Tổng quan về các ứng dụng trên điện thoại di động 5.1.1 Các thành phần cơ bản của một ứng dụng Android Các thành phần tạo nên một ứng dụng Android được chia làm 6 loại bao gồm [10]:  Activity.  Service.  Content Provider.  Intent.  Broadcast Receiver.  Notification. 5.1.2. Cơ chế quản lý các Activity Actitvity là thành phần quan trọng nhất và đóng vai trò chính trong xây dựng ứng dụng Android. Hệ điều hành Android quản lý Activity theo dạng stack. Mỗi lần một Activity mới được khởi chạy thì Activity trước đó bị stop và hệ thống sẽ lưu Activity stop này vào một back stack. Back stack kể trên được mô tả trong Hình 5.1, được tổ chức theo đúng tiêu chí của một stack, đó là “vào sau, ra trước” [10]. Hình 5.1 Cơ chế Back Stack Vòng đời của một Activity được thể hiện qua sơ đồ Activity State Hình 5.2 [10]. 16 Hình 5.2 Activity State 5.2. Ứng dụng Note 5.2.1. Giới thiệu chung 5.2.2 Ứng dụng Note Ứng dụng bao gồm 4 cửa sổ giao diện chính (4 Activity) gồm: MainActivity, EditActivity, CreateActivity, ViewActivity trong đó MainActivity là màn hình giao diện chính xuất hiện đầu tiên khi ứng dụng bắt đầu khởi động được mở [12] các đặc tả của từng giao diện được mô tả như sau:  MainActivity  EditActivity  CreateActivity 17  ViewActivity 5.3. Mô hình hóa và kiểm chứng giao diện ứng dụng Note Áp dụng các bước trong quy trình của phương pháp giao diện ứng dụng được mô hình hóa thành 2 thành phần trong Event-B machine và context: . Dựa vào đặc tả thiết kế giao diện trong mục 5.2.2 và cơ chế hoạt động của một ứng dụng Android trong mục 5.2.1, ta thực hiện xây dựng sơ đồ hoạt động “Activity Diagram” quy trình này mô tả bởi Hình 5.7. Hình 5.7. Quy trình xây dựng Activity Diagram Sơ đồ Activity Diagram cho ứng dụng Note sau khi xây dựng được mô tả trong Hình 5.8 Đặc tả, bản thiết kế GUI của ứng dụng Android Sự kiện & Hành động Activity & Thành phần Vòng đời Activity Mô hình back stack Sơ đồ hoạt động của GUI Chuyển đổi 18 Hình 5.8. Sơ đồ Activity Diagram MainActivity Start CreateActivity Start MainActivity Stop MainActivity Stop MainActivity Stop MainActivity Pause EditActivity Start ViewActivity Start CreateActivity Stop EditActivity Stop ViewActivity Stop [Exit Application] [Select MenuContext] Cancel Save Cancel Save [Create true] [Create false] [Edit true] [Edit false] [View true] [Delete true] [D e lete N o te ] 19 Quá trình mô hình hóa có thể được mô tả một cách khái quát qua Hình 5.9. Hình 5.9 Quá trình mô hình hóa từ Activity Diagram tới Event-B Mô hình hóa và chuyển đổi vào context Note_C ta định nghĩa tập các giao diện G={ main , Create , Edit , View}, tập các trạng thái của các cửa sổ giao diện S={start, active, stop, pause, killed}. Hình 5.10 là đoạn chương trình mô tả context trong Rodin. Event-B Đặc tả, bản thiết kế của GUI Action:  Click  Chagne Properties:  Security Constraints Machine Variables  Invariants Events Context  SET  CONSTANT  AXIOMS EVENT-B Constant  Statuts Properties Object  Window  Controller  stop Mô hình Event-B trừu tượng Mô hình Event-B cho ứng dụng cụ thể Sự kiện & Ràng buộc & thành phần mô hình Tinh chỉnh Luật chuyển đổi 20 Hình 5.10. Context Note_C Mô hình hóa và chuyển đổi vào machine Note_M ta có các biến main_activity, Create_activity, Edit_activity, View_activity, các ràng buộc về thứ tự của các giao diện từ Activity Diagram, các sự kiện sẽ được chuyển đổi thành các INVARIANTS, EVENT, ACTION tương ứng:  INVARIANTS 21  Hình 5.11. Một phần của machine Note_M  EVENT, ACTION  Event thoát ứng dụng.  Event chọn chức năng gọi cửa sổ Create.  Event chọn chức năng gọi cửa sổ Edit.  Event chọn chức năng gọi cửa sổ View.  Event chọn chức năng xóa và chuyển về cửa sổ Main.  Các sự kiện trên trên các đối tượng. của các cửa sổ. MACHINE Note_M SEES Note_C VARIABLES Main_activity Edit_activity View_activity Create_activity Select INVARIANTS inv1 : Main_activity ∈ S inv2 : Edit_activity ∈ S inv3 : View_activity ∈S inv4 : Create_activity ∈ S inv5 : Main_activity=active ∧ Create_activity=stop ∧ Edit_activity=stop ∧ View_activity=stop inv6 : Main_activity=stop ∧ Create_activity=active ∧ Edit_activity=stop ∧ View_activity=stop inv7 : Main_activity=stop ∧ Create_activity=stop ∧ Edit_activity=active ∧ View_activity=stop inv8 : Main_activity=stop ∧ Create_activity=stop ∧ Edit_activity=stop ∧ View_activity=active inv9 : Main_activity=start ⇒ (Create_activity=start) ∧ (Edit_activity=start) ∧ (View_activity=start) inv10 : ¬(Main_activity=start) ⇒¬(Create_activity=start) ∧ ¬(Edit_activity=start) ∧ ¬(View_activity=start) inv11 : Select ∈ Menu EVENTS INITIALISATION ≙ STATUS ordinary BEGIN act1 : Main_activity ≔ start act2 : Edit_activity ≔ start act3 : View_activity ≔ start act4 : Create_activity ≔ start act5 : Select ≔ Null END 22 Thực hiện soạn thảo trong công cụ Rodin, sinh và kiểm chứng tự động các mệnh đề cần chứng minh. Hình 5.18. Cửa sổ sinh kiểm chứng tự động Kết quả của quá trình sinh và kiểm chứng tự động được thể hiện qua bảng Statistics, Hình 5.19 cho thấy toàn bộ các ràng buộc được chứng minh đảm bảo mục tiêu thiết kế thứ tự của các giao diện đã đặt ra. Hình 5.19. Bảng kết quả Statistics 23 Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1. Kết luận Khi các hệ thống tin học hoá ngày càng đi vào đời sống con người thì vấn đề thiết kế giao diện càng trở nên quan trọng trong việc phát triển phần mềm. Trên cơ sở đó luận văn đã tập trung vào nghiên cứu phương pháp kiểm chứng giao diện ứng dụng bằng phương pháp mô hình hóa Event-B. Có nhiều phương pháp kiểm chứng giao diện đã và đang được người phát triển sử dụng như kiểm thử bằng tay, kiểm thử tự động. Mỗi một phương pháp điều có những ưu nhược điểm riêng. Kiểm thử bằng tay thường sử dụng cho việc thử nghiệm lần đầu, thăm dò nhưng tỏ ra không hiệu quả khi quá trình kiểm thử cần lặp lại ca kiểm thử nhiều lần. Kiểm thử tự động khắc phục được những hạn chế của kiểm thử bằng tay nhưng tốn kém hơn, chi phí đầu tư ban đầu lớn. Kiểm thử thủ công bằng tay là không thể thay thế vì chúng ta không thể tự động hóa mọi thứ. Hiện tại hầu như tất cả các tổ chức, công ty phát triển phần mềm đều lựa chọn kiểm thử thủ công cho mọi sản phẩm. Tuy nhiên các công cụ kiểm thử tự động cũng có những điểm mạnh nhất định mà kiểm thử thủ công bằng tay không có, nên cần xem xét hoàn cảnh để có thể áp dụng kiểm thử tự động cho quá trình kiểm thử phần mềm. Trong quá trình nghiên cứu luận văn đã tập trung vào tìm hiểu về giao diện phần mềm, các cơ chế, đặc điểm, các phương pháp kiểm chứng hiện có. Nghiên cứu phương pháp mô hình hóa Event-B và công cụ kiểm chứng tự động Rodin. Xây dựng một quy trình tổng quát để mô hình hóa và kiểm chứng thứ tự xuất hiện của giao diện ứng dụng phần mềm, xây dựng các định nghĩa, luật chuyển đổi từ mô hình giao diện trừu tượng sang Event-B tổng quát. Áp dụng vào kiểm chứng giao diện của ứng dụng Note trên thiết bị di động. Nghiên cứu bước đầu dừng lại ở việc kiểm chứng thứ tự xuất hiện của các cửa sổ giao diện mà chưa thể kiểm chứng các ràng buộc trên các đối tượng của từng cửa sổ giao diện. 24 6.2. Hướng phát triển Từ những quy trình, mô hình, phương pháp tổng quát đã xây dựng và áp dụng kiểm chứng tự động trên ứng dụng cụ thể với công cụ Rodin. Với những nghiên cứu đạt được của luận văn. Có thể nghiên cứu phát triển để xây dựng thêm và bổ sung thêm các mô hình quy trình tổng quát và áp dụng để kiểm chứng không chỉ thứ tự của cửa sổ giao diện mà còn trên nhiều thành phần khác nhau của giao diện ứng dụng và trên nhiều loại giao diện ứng dụng hơn không chỉ là mobile mà có thể là Window Form hoặc là giao diện Web. Chương 7. PHỤ LỤC 7.1. Đặc tả context Note_C của ứng dụng Note 7.2. Đặc tả machine Note_M của ứng dụng Note 25 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] [9] [10] [11] lap-trinh-android-voi-database-sqlite. [12]

Các file đính kèm theo tài liệu này:

  • pdftom_tat_luan_van_kiem_chung_giao_dien_phan_mem_bang_phuong_p.pdf
Luận văn liên quan