1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mô hình hóa và kiểm thử máy rút tiền ATM bằng kỹ thuật sinh ca kiểm thử từ máy trạng thái hữu hạn (FSM FINITE state machines testing)

12 480 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 12
Dung lượng 415,73 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 THỊ MINH THÚY MÔ HÌNH HÓA VÀ KIỂM THỬ MÁY RÚT TIỀN ATM BẰNG KỸ THUẬT SINH CA KIỂM THỬ TỪ MÁY TRẠNG THÁI HỮU HẠN FSM – FINITE S

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THỊ MINH THÚY

MÔ HÌNH HÓA VÀ KIỂM THỬ MÁY RÚT TIỀN ATM BẰNG KỸ THUẬT

SINH CA KIỂM THỬ TỪ MÁY TRẠNG THÁI HỮU HẠN

(FSM – FINITE STATE MACHINES TESTING)

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

HÀ NỘI, 2015

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THỊ MINH THÚY

MÔ HÌNH HÓA VÀ KIỂM THỬ MÁY RÚT TIỀN ATM BẰNG KỸ THUẬT

SINH CA KIỂM THỬ TỪ MÁY TRẠNG THÁI HỮU HẠN

(FSM – FINITE STATE MACHINES TESTING)

Nghành : Công nghệ thông tin Chuyên nghành : Kỹ thuật phần mềm

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

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS ĐẶNG VĂN HƯNG

HÀ NỘI, 2015

Trang 3

1

LỜI CẢM ƠN

Đầu tiên tôi xin được bày tỏ sự trân trọng và lòng biết ơn sâu sắc và gửi lời cảm ơn đặc biệt nhất tới TS Đặng Văn Hưng, giảng viên Bộ môn Công nghệ phần mềm – Khoa Công nghệ thông tin – Trường Đại học Công nghệ - ĐHQGHN Trong thời gian học và nhận đề tài, thầy đã định hướng đề tài, cung cấp cho tôi những kiến thức, những tài liệu, để thực hiện đề tài luận văn cao học này, từ những ý tưởng trong

đề cương nghiên cứu, phương pháp nghiên cứu, phương pháp giải quyết vấn đề trong luận văn cao học Thầy đã dành nhiều thời gian quý giá và tận tình chỉ bảo, hướng dẫn tôi trong suốt quá trình triển khai, việc nghiên cứu cho đến những lần kiểm tra cuối cùng để hoàn thành đề tài: “Mô hình hóa và kiểm thử máy rút tiền ATM bằng kỹ thuật sinh ca kiểm thử từ FSM”

Tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc tới Trường Đại học Công nghệ - ĐHQGHN, phòng đào tạo sau đại học đã tạo điều kiện cho tôi được học tập và hoàn thiện quá trình học tập được đào tạo tại nhà trường.

Tôi xin chân thành cảm ơn tới GS, TS là các Thầy, Cô giáo trong bộ môn Kỹ thuật phần mềm, Khoa công nghệ thông tin, những người đã trực tiếp giảng dạy và truyền đạt giúp tôi mở rộng những kiến thức khoa học về công nghệ thông tin nói chung và Kỹ thuật phần mềm nói riêng Các thầy đã giúp tôi hiểu thấu đáo hơn lĩnh vực mà tôi nghiên cứu để có thể vận dụng các kiến thức đó trong thực tế và công việc của mình Đó là những kiến thức quý báu và rất có ích với tôi trong giai đoạn hiện tại

và trong tương lai

Tôi xin gửi lời cảm ơn đến gia đình, bạn bè những người đã luôn động viên khuyến khích tôi trong suốt quá trình học tập cũng như thực hiện đề tài luận văn của mình

Tôi xin chân thành cảm ơn!

Tác giả

Nguyễn Thị Minh Thúy

Trang 4

2

LỜI CAM ĐOAN

Tôi xin cam đoan rằng, nội dung trình bày trong luận văn này là do tôi tự nghiên cứu tìm hiểu dựa trên các tài liệu và tôi trình bày theo ý hiểu của bản thân dưới

sự hướng dẫn trực tiếp của Thầy TS Đặng Văn Hưng Các nội dung nghiên cứu, tìm hiểu và kết quả trong đề tài này là hoàn toàn trung thực

Luận văn này của tôi chưa từng được ai công bố trong bất cứ công trình nào

Trong quá trình thực hiện luận văn này tôi đã tham khảo đến các tài liệu của một số tác giả, tôi đã ghi rõ tên tài liệu, nguồn gốc tài liệu, tên tác giả và tôi đã liệt kê trong mục “TÀI LIỆU THAM KHẢO” ở cuối luận văn

Hà nội, tháng 11 năm 2015

Tác giả

Nguyễn Thị Minh Thúy

Trang 5

3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

BẢNG CHỮ VIẾT TẮT VÀ THUẬT NGỮ 5

DANH MỤC HÌNH VẼ 6

DANH MỤC BẢNG 6

MỞ ĐẦU 7

1 Đặt vấn đề 7

2 Mục tiêu và nhiệm vụ nghiên cứu 7

3 Đối tượng và phạm vi nghiên cứu 7

4 Phương pháp nghiên cứu 8

5 Ý nghĩa khoa học và thực tiễn của luận văn 8

6 Bố cục luận văn Error! Bookmark not defined NỘI DUNG Error! Bookmark not defined Chương 1 TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM Error! Bookmark not

defined

1.1 Kiểm thử phần mềm là gì? Error! Bookmark not defined 1.2 Chất lượng và độ tin cậy của phần mềm Error! Bookmark not defined 1.3 Vai trò của kiểm thử phần mềm Error! Bookmark not defined 1.4 Các thuật ngữ trong kiểm thử phần mềm Error! Bookmark not defined 1.5 Ca kiểm thử (test case) là gì? Error! Bookmark not defined 1.6 Trường hợp (Use case) kiểm thử trong phần mềm là gì? Error! Bookmark

not defined

1.7 Các mức kiểm thử phần mềm Error! Bookmark not defined 1.8 Kỹ thuật kiểm thử tĩnh và tiến trình kiểm thử Error! Bookmark not

defined

Trang 6

4

Chương 2 MÔ HÌNH MÁY TRẠNG THÁI HỮU HẠN VÀ KỸ THUẬT SINH

CA KIỂM THỬ TỪ FSM Error! Bookmark not defined 2.1 Giới thiệu về mô hình hóa Error! Bookmark not defined 2.2 Mô hình định hướng trạng thái Error! Bookmark not defined 2.3 Máy trạng thái hữu hạn Error! Bookmark not defined 2.4 Một số cách biểu diễn cho FSM Error! Bookmark not defined 2.5 Kiểm thử dựa trên mô hình Error! Bookmark not defined 2.6 Thuận lợi và khó khăn của kiểm thử dựa trên mô hình Error! Bookmark not

defined

2.7 Kiểm thử với trạng thái kiểm chứng Error! Bookmark not defined.

2.7.1 Chuỗi vào – ra duy nhất (Unique Input - Output sequence) Error!

Bookmark not defined.

2.7.2 Chuỗi phân biệt (Distinguishing sequence) Error! Bookmark not defined 2.7.3 Chuỗi đặc trưng (Characterizing sequence) Error! Bookmark not defined.

2.8 Độ bao phủ mô hình máy hữu hạn trạng thái Error! Bookmark not defined.

2.8.1 Một số đặc trưng của máy hữu hạn trạng thái Error! Bookmark not

defined.

2.8.2 Độ bao phủ của máy hữu hạn trạng thái Error! Bookmark not defined.

a Độ bao phủ trạng thái (State coverage) Error! Bookmark not defined.

b Độ bao phủ chuyển trạng thái (transition coverage) Error! Bookmark not defined.

2.9 Kỹ thuật sinh ca kiểm thử Error! Bookmark not defined.

2.9.1 Sinh cây kiểm thử và tìm tập bao phủ chuyển trạng thái Error! Bookmark

not defined.

2.9.2 Sinh ca kiểm thử dựa trên hành vi chuyển đổi trạng thái của FSM Error!

Bookmark not defined.

Chương 3 KIỂM THỬ HỆ THỐNG ATM DỰA TRÊN MÔ HÌNH FSM Error!

Bookmark not defined

3.1 Mô tả hệ thống ATM Error! Bookmark not defined 3.2 Đặc tả của ATM từ mô hình FSM Error! Bookmark not defined.

Trang 7

5

3.2.1 Đặc tả yêu cầu hệ thống Error! Bookmark not defined 3.2.2 Xây dựng mô hình FSM của ATM Error! Bookmark not defined.

3.3 Thuận lợi và khó khăn của máy rút tiền ATM bằng kỹ thuật sinh ca kiểm thử từ FSM Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 9

BẢNG CHỮ VIẾT TẮT VÀ THUẬT NGỮ

ATM Automated Teller Machine

FSM Finite State Machines

VER State Verification

UIO Unique Input Output sequence

DS Distinguishing sequence

Trang 8

6

DANH MỤC HÌNH VẼ Hình 1.1 Qui trình phát triển và các mức kiểm thử trong mô hình chữ V Error! Bookmark not defined

Hình 2.1 Hình ảnh của hệ thống phần mềm Error! Bookmark not defined Hình 2.2 Tương tác giữa hệ thống và môi trường mô hình hóa như FSM Error! Bookmark not defined

Hình 2.3 Mô hình chuyển trạng thái của FSM Error! Bookmark not defined Hình 2.4 Mô hình nhận dạng mã PIN của ATM Error! Bookmark not defined Hình 2.5 FSM của ATM biểu diễn bằng đồ thị Error! Bookmark not defined Hình 2.6 Quy trình kiểm thử dựa trên mô hình Error! Bookmark not defined Hình 2.7 Mô hình kiểm thử với việc kiểm chứng trạng thái Error! Bookmark not defined

Hình 2.8 FSM quá trình chuyển đổi trạng thái cho ATM Error! Bookmark not defined

Hình 2.9 Một đường đi bao phủ tất cả các trạng thái của FSM ATM Error! Bookmark not defined

Hình 3 1 Mô hình hoạt động giao dịch hệ thống ATM.Error! Bookmark not defined Hình 3 2 Mô hình FSM chuyển đổi trạng thái của ATM Error! Bookmark not defined

Hình 3 3 Cây kiểm thử của máy trạng thái hữu hạn ATM Error! Bookmark not defined

DANH MỤC BẢNG Bảng 1 1 Mô tả nhập mã PIN của ATM Error! Bookmark not defined Bảng 2 1 Biểu diễn FSM bằng dạng bảng Error! Bookmark not defined Bảng 3 1 Bảng biểu diễn trạng thái FSM của ATM Error! Bookmark not defined Bảng 3 2 Bảng gán nhãn cho các trạng thái Error! Bookmark not defined Bảng 3 3 Bảng gán nhãn cho kết quả đầu vào/ đầu ra cho hệ thống ATM Error! Bookmark not defined.

Bảng 3 4 Bảng gán nhãn cho quá trình chuyển đổi Error! Bookmark not defined.

Trang 9

7

Bảng 3 5 Thông tin chi tiết của quá trình chuyển đổi cho hệ thống ATM Error! Bookmark not defined.

Bảng 3 6 Dãy chuyển đổi bao phủ tất cả các trạng thái trong hình 3.2 Error! Bookmark not defined.

Bảng 3 7 Dãy chuyển đổi bao phủ tất cả các trạng thái chuyển đổi trong hình 3.2

Error! Bookmark not defined Bảng 3 8 Chuỗi vào – ra duy nhất cho mỗi trạng thái của ATM Error! Bookmark not defined.

Bảng 3 9 Các chuỗi kiểm thử cho mỗi trạng thái chuyển tiếp của ATM Error! Bookmark not defined.

MỞ ĐẦU

1 Đặt vấn đề

Trong xã hội ngày nay phần mềm đóng vai trò rất quan trọng và có độ phức tạp gia tăng Vì thế con người ngày càng phụ thuộc chặt chẽ vào các sản phẩm phần mềm

và do vậy đòi hỏi về chất lượng của sản phẩm phần mềm ngày càng cao, tức là các phần mềm phải được sản xuất với giá thành thấp, dễ dùng, an toàn và có độ tin cậy cao Do đó việc kiểm thử là một phần trọng yếu của quá trình phát triển và đảm bảo chất lượng phần mềm

Hiện nay việc kiểm thử phần mềm đang sử dụng một đặc tả hình thức đóng vai trò như các mô hình ngữ nghĩa chẳng hạn như máy trạng thái hữu hạn, biểu đồ chuyển trạng thái Các mô hình đặc tả này được sử dụng làm mục đích để chứng minh tính đúng đắn của hành vi đặc tả hệ thống phần mềm hay các đối tượng và cũng được dùng

để sinh các ca kiểm thử Việc sinh ca kiểm thử từ đặc tả máy trạng thái hữu hạn (FSM

- Finite State Machines) được áp dụng trong lĩnh vực kiểm thử các hệ thống phần mềm cho các hệ phản vệ (reactive system) Máy rút tiền ATM là một hệ phản vệ thông dụng và đòi hỏi tính đúng đắn, độ tin cậy cao Đặc tả trực quan nhất của máy ATM là máy trạng thái hữu hạn, vì thế để kiểm thử máy ATM tôi sử dụng kỹ thuật sinh

ca kiểm thử từ máy trạng thái hữu hạn, trong luận văn này tôi chọn đề tài “Mô hình hóa và kiểm thử máy rút tiền ATM bằng kỹ thuật sinh ca kiểm thử từ máy trạng thái hữu hạn (FSM-Finite State Machines Testing)”

2 Mục tiêu và nhiệm vụ nghiên cứu

Luận văn này đề cập các vấn đề về kiểm thử máy trạng thái hữu hạn (Finite State Machines Testing) và ứng dụng kiểm thử máy rút tiền ATM Sau khi mô hình hóa máy ATM bằng một máy trạng thái hữu hạn, luận văn cũng nghiên cứu các

Trang 10

8

phương pháp sinh ca kiểm thử từ máy trạng thái (FSM) đồng thời đưa ra những nhận xét, đánh giá khi áp dụng vào mô hình của máy ATM

3 Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu:

 Nghiên cứu cơ sở lý thuyết về kiểm thử mô hình máy trạng thái

 Nghiên cứu về kỹ thuật mô hình hóa phần mềm phản vệ bằng máy hữu hạn trạng thái hữu hạn (FSM)

Phạm vi nghiên cứu:

 Cơ sở lý thuyết về kiểm thử mô hình phần mềm cho hệ thống máy rút tiền tự động

 Giới thiệu kỹ thuật sinh ca kiểm thử, phân tích để lựa chọn kiểm thử để xác minh mô hình

 Nghiên cứu máy trạng thái hữu hạn FSM và đưa ra phương pháp tìm chuỗi kiểm thử trạng thái

 Kiểm thử dựa trên mô hình FSM

 Thử nghiệm kiểm thử mô hình cho hệ thống máy rút tiền tự động ATM

4 Phương pháp nghiên cứu

 Đọc tài liệu, lựa chọn nội dung phù hợp từ tài liệu tham khảo và nhiều bài báo khoa học có liên quan mật thiết về đề tài nghiên cứu

 Phân tích, xác định trọng tâm và xây dựng cơ sở lý luận về vấn đề nghiên cứu

và trên cơ sở đó thực hiện giải quyết vấn đề thông qua việc thiết kế bộ kiểm thử máy rút tiền ATM bằng kỹ thuật sinh ca kiểm thử từ máy trạng thái hữu hạn

 Nghiên cứu, tìm hiểu các kỹ thuật, chiến lược kiểm thử phần mềm

 Đưa ra tài liệu kế hoạch kiểm thử và đặc tả kiểm thử, xây dựng chương trình thực thi kiểm thử

 Đánh giá và rút ra bài học kinh nghiệm thực tiễn

5 Ý nghĩa khoa học và thực tiễn của luận văn

Ý nghĩa khoa học: Đứng trước sự gia tăng mức độ phức tạp của phần mềm,

việc trực quan hoá, mô hình hóa và kiểm thử phần mềm ngày càng trở nên chính yếu trong cách tiếp cận xem xét về một hệ thống Mô hình hóa là một dạng thức trừu tượng của một hệ thống, được hình thành để hiểu hệ thống trước khi xây dựng hoặc thay đổi

hệ thống đó Mô hình hóa cung cấp một phương tiện để quan niệm hóa vấn đề và giúp chúng ta có thể trao đổi các ý tưởng trong một hình thức cụ thể, không mơ hồ Kiểm thử phần mềm là quá trình thực thi một chương trình với mục đích tìm lỗi, còn là quá

Trang 11

9

trình khảo sát hệ thống hay phần mềm dưới những điều kiện xác định, để quan sát và ghi lại kết quả, và đánh giá một khía cạnh nào đó của hệ thống Mục đích chính của đề tài là trình bày phương pháp mô hình hóa bằng FSM của ATM và sinh ca kiểm thử từ

đặc tả máy trạng thái FSM (Finite State Machines Testing) của ATM Việc mô hình

hóa bằng FSM là làm sáng tỏ vấn đề để có thể đưa ra được các lỗi hoặc các thiếu sót của hệ thống từ việc tiếp cận trực quan đồ họa hơn là các dạng trình bày như văn bản,

đoạn mã,…

Ý nghĩa thực tiễn: Luận văn trình bày phương pháp kiểm thử dựa trên mô hình

máy hữu hạn trạng thái và dùng khái niệm mô phỏng như là một tiêu chí để đánh giá

TÀI LIỆU THAM KHẢO

[1] Giáo trình kiểm thử phần mềm - Tác giả: Đặng Văn Hưng, Phạm Ngọc Hùng và Trương Anh Hoàng – Tháng 1 năm 2014

[2] Đoàn Thị Thùy Linh (2012), Nghiên cứu phương pháp sinh ca kiểm thử từ mô hình máy hữu hạn trạng thái Luận văn Thạc sĩ, Trường Đại học Công Nghệ, Đại học Quốc Gia Hà Nội, tr.18-29

[3] Kshirasagar Naik, Priyadarshi Tripathy (2008), Software Testing and Quality Assurance Theory and Practice, John Wiley & Sons,inc page 265-318

[4] Incremental Model-based Test Suite Reduction with Formal Concept Analysis Pin Ng*, Richard Y K Fung** and Ray W M Kong***

[5] Test ready UML statechart models CONFERENCE PAPER · JANUARY 2006 Available from: Rajesh Subramanyan Retrieved on: 08 October 2015

[6] Modeling Discretional Access Control in Automatic Teller Machine Using Denotational Mathematics Machine Using Denotational Mathematics Rufai M M., Adigun J O and Yekini N A Department of Computer Technology, Yaba College of Technology

[7] State-Based Model Slicing: A Sur vey of KELLY ANDROUTSOPOULOS, DAVID CLARK, MARK HARMAN, JENS KRINKE, University College London LAURENCE TRATT, King’s College London

[8] EFSM-based Test Case Generation: Seq uence, Data, and Oracle Rui Yang State Key Laboratory for Novel Software Technology, Nanjing University, Department of Computer Science and Technology, Nanjing University Nanjing, 210046, Chinaruizi2000@gmail.com

[9] http://www.testingvn.com/

[10] http://istqbexamcertification.com

Trang 12

10 [11].http://www.softwaretestingclass.com/design-test-cases-using-state-transition-testing-technique/

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

HÌNH ẢNH LIÊN QUAN

BẢNG CHỮ VIẾT TẮT VÀ THUẬT NGỮ - Mô hình hóa và kiểm thử máy rút tiền ATM bằng kỹ thuật sinh ca kiểm thử từ máy trạng thái hữu hạn (FSM   FINITE state machines testing)
BẢNG CHỮ VIẾT TẮT VÀ THUẬT NGỮ (Trang 7)

TỪ KHÓA LIÊN QUAN

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