Luận Văn: Mô Hình Hóa và Kiểm Thử ATM bằng FSM Testing

Luận văn thạc sĩ kỹ thuật nghiên cứu 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, khảo sát thực trạng, phân tích nguyên nhân,

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2015

88
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

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

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG

MỞ ĐẦU

1. Đặt vấn đề

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

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

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

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

6. Bố cục luận văn

1. CHƢƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM

1.1. Kiểm thử phần mềm là gì?

1.2. Chất lƣợng và độ tin cậy của phần mềm

1.2.1. Chất lƣợng của phần mềm

1.2.2. Độ tin cậy của phần mềm

1.3. Vai trò của kiểm thử phần mềm

1.4. Các thuật ngữ trong kiểm thử phần mềm

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

3. KIỂM THỬ HỆ THỐNG ATM DỰA TRÊN MÔ HÌNH FSM

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Kiểm Thử ATM và Mô Hình FSM Chi Tiết

Kiểm thử hệ thống ATM (Automated Teller Machine) là một quá trình quan trọng để đảm bảo tính chính xác, tin cậy và bảo mật của hệ thống. Mô hình FSM (Finite State Machine) đóng vai trò then chốt trong việc mô tả hành vi và logic của ATM, cho phép các chuyên gia kiểm thử thiết kế các ca kiểm thử toàn diện và hiệu quả. Việc áp dụng mô hình FSM giúp hệ thống được kiểm tra một cách có hệ thống, giảm thiểu rủi ro bỏ sót lỗi. Mô hình FSM giúp trực quan hóa luồng hoạt động của ATM, từ đó dễ dàng xác định các trạng thái, các sự kiện và các chuyển đổi trạng thái khác nhau. Việc kiểm thử máy trạng thái hữu hạn FSM sẽ giúp cho hệ thống hoạt động ổn định và đáp ứng đúng yêu cầu của người dùng. Hơn nữa, việc kiểm thử mô hình FSM còn có thể giúp phát hiện các vấn đề bảo mật tiềm ẩn trong hệ thống ATM, chẳng hạn như lỗ hổng trong quá trình xác thực người dùng hoặc trong quá trình xử lý giao dịch. Kiểm thử ATM theo mô hình FSM là một công cụ mạnh mẽ để nâng cao chất lượng và độ tin cậy của hệ thống. Tuy nhiên, để áp dụng hiệu quả mô hình FSM, các chuyên gia kiểm thử cần có kiến thức sâu rộng về mô hình FSM, cũng như hiểu rõ về các yêu cầu và chức năng của hệ thống ATM. Cần kết hợp kinh nghiệm thực tế và áp dụng các kỹ thuật kiểm thử phù hợp để đạt được kết quả tốt nhất. Theo luận văn của 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ừ FSM," FSM được sử dụng để chứng minh tính đúng đắn của hành vi đặc tả hệ thống phần mềm. Điều này cho thấy tầm quan trọng của mô hình FSM trong việc đảm bảo chất lượng phần mềm.

1.1. Giới Thiệu Chung về Máy Rút Tiền ATM và Ứng Dụng

Máy rút tiền tự động (ATM) là một thiết bị ngân hàng giao dịch tự động với khách hàng, thực hiện việc nhận dạng khách hàng thông qua thẻ ATM (thẻ ghi nợ, thẻ tín dụng) hay các thiết bị tương thích, và giúp khách hàng kiểm tra tài khoản, rút tiền mặt, chuyển khoản, thanh toán tiền hàng hóa dịch vụ. ATM là một hệ thống phức tạp với nhiều trạng thái và chuyển đổi trạng thái. Việc kiểm thử ATM đòi hỏi một phương pháp tiếp cận có hệ thống, đảm bảo tất cả các trạng thái và chuyển đổi trạng thái được kiểm tra kỹ lưỡng. Hệ thống ATM là một hệ phản vệ (reactive system) thông dụng và đòi hỏi tính đúng đắn, độ tin cậy cao. Các trạng thái bao gồm: Chờ thẻ, Nhập mã PIN, Chọn giao dịch, Rút tiền, Gửi tiền, Xem số dư, In sao kê. Các chuyển đổi trạng thái bao gồm: Chèn thẻ, Nhập mã PIN đúng, Nhập mã PIN sai, Chọn giao dịch rút tiền, Chọn giao dịch gửi tiền, Chọn giao dịch xem số dư, Chọn giao dịch in sao kê, Rút tiền thành công, Rút tiền thất bại, Gửi tiền thành công, Gửi tiền thất bại, Rút thẻ. Các sự kiện bao gồm: Chèn thẻ, Nhập mã PIN, Chọn giao dịch, Rút tiền, Gửi tiền, Xem số dư, In sao kê, Rút thẻ. Máy ATM là một hệ thống trạng thái có định hướng (state-oriented system). Điều này có nghĩa là hành vi của hệ thống phụ thuộc vào trạng thái hiện tại của hệ thống, cũng như chuỗi các sự kiện đã xảy ra trước đó.

1.2. Lợi Ích của Mô Hình FSM trong Kiểm Thử ATM Hiện Đại

Việc sử dụng mô hình FSM trong kiểm thử ATM mang lại nhiều lợi ích. Mô hình FSM giúp xác định tất cả các trạng thái và chuyển đổi trạng thái có thể có của hệ thống ATM. Điều này giúp đảm bảo rằng tất cả các khía cạnh của hệ thống được kiểm tra. Mô hình FSM giúp tạo ra các ca kiểm thử toàn diện và có hệ thống. Các ca kiểm thử này bao phủ tất cả các trạng thái và chuyển đổi trạng thái của hệ thống ATM. Mô hình FSM giúp tự động hóa quá trình kiểm thử. Các ca kiểm thử có thể được tạo ra tự động từ mô hình FSM, và các kết quả kiểm thử có thể được phân tích tự động. Mô hình FSM giúp cải thiện chất lượng của hệ thống ATM. Việc kiểm thử ATM bằng mô hình FSM giúp phát hiện và sửa chữa các lỗi trong hệ thống, từ đó cải thiện chất lượng và độ tin cậy của hệ thống. Mô hình FSM có thể được sử dụng để mô tả các hành vi của sự kiện trong hệ thống như giao thức truyền thông hoặc người dùng đồ họa của hệ thống giao diện. Trong kiểm thử phần mềm, một yêu cầu quan trọng là phải đảm bảo tính đúng đắn và an toàn đối với các tính năng hoặc yêu cầu đối với những phần mềm kiểm thử.

II. Thách Thức Vấn Đề Trong Kiểm Thử ATM Truyền Thống

Kiểm thử ATM truyền thống thường dựa vào các phương pháp thủ công, tốn nhiều thời gian và công sức. Các phương pháp này thường không bao phủ hết tất cả các trạng thái và chuyển đổi trạng thái của hệ thống ATM, dẫn đến việc bỏ sót lỗi. Việc thiếu tự động hóa trong kiểm thử ATM truyền thống cũng làm tăng chi phí và giảm hiệu quả của quá trình kiểm thử. Các phương pháp thủ công thường gặp khó khăn trong việc kiểm thử các tính năng phức tạp của ATM, chẳng hạn như các tính năng liên quan đến bảo mật và gian lận. Theo kinh nghiệm thực tế, các phương pháp kiểm thử truyền thống thường không hiệu quả trong việc phát hiện các lỗi tiềm ẩn trong hệ thống ATM. Điều này có thể dẫn đến các vấn đề nghiêm trọng, chẳng hạn như mất tiền của khách hàng hoặc lộ thông tin cá nhân. Cần có một phương pháp kiểm thử ATM hiệu quả hơn, có thể bao phủ hết tất cả các trạng thái và chuyển đổi trạng thái của hệ thống, đồng thời tự động hóa quá trình kiểm thử. Mô hình FSM là một giải pháp tiềm năng cho vấn đề này.

2.1. Nhược Điểm của Phương Pháp Kiểm Thử ATM Thủ Công

Phương pháp kiểm thử ATM thủ công có nhiều nhược điểm đáng kể. Tốn nhiều thời gian và công sức: Kiểm thử thủ công đòi hỏi các chuyên gia kiểm thử phải thực hiện các ca kiểm thử một cách thủ công, tốn nhiều thời gian và công sức. Khó bao phủ hết tất cả các trạng thái và chuyển đổi trạng thái: Kiểm thử thủ công thường không thể bao phủ hết tất cả các trạng thái và chuyển đổi trạng thái của hệ thống ATM, dẫn đến việc bỏ sót lỗi. Dễ mắc lỗi: Kiểm thử thủ công dễ mắc lỗi do sự chủ quan hoặc mệt mỏi của các chuyên gia kiểm thử. Chi phí cao: Kiểm thử thủ công đòi hỏi nhiều nhân lực và thời gian, dẫn đến chi phí cao. Khó kiểm thử các tính năng phức tạp: Kiểm thử thủ công thường gặp khó khăn trong việc kiểm thử các tính năng phức tạp của ATM, chẳng hạn như các tính năng liên quan đến bảo mật và gian lận.

2.2. Rủi Ro Bỏ Sót Lỗi và Ảnh Hưởng Đến Độ Tin Cậy

Việc bỏ sót lỗi trong kiểm thử ATM có thể dẫn đến nhiều rủi ro nghiêm trọng. Mất tiền của khách hàng: Lỗi trong hệ thống ATM có thể dẫn đến việc khách hàng bị mất tiền. Lộ thông tin cá nhân: Lỗi trong hệ thống ATM có thể dẫn đến việc thông tin cá nhân của khách hàng bị lộ. Ảnh hưởng đến uy tín của ngân hàng: Lỗi trong hệ thống ATM có thể ảnh hưởng đến uy tín của ngân hàng. Thiệt hại về tài chính: Lỗi trong hệ thống ATM có thể dẫn đến thiệt hại về tài chính cho ngân hàng. Giảm độ tin cậy của hệ thống: Việc bỏ sót lỗi có thể làm giảm độ tin cậy của hệ thống ATM, khiến khách hàng mất niềm tin vào hệ thống.

III. Giải Pháp Mô Hình FSM và Sinh Ca Kiểm Thử Tự Động

Để giải quyết các thách thức trong kiểm thử ATM truyền thống, mô hình FSM và sinh ca kiểm thử tự động là một giải pháp hiệu quả. Mô hình FSM giúp mô tả hành vi và logic của ATM một cách chính xác và toàn diện. Sinh ca kiểm thử tự động giúp tạo ra các ca kiểm thử toàn diện và có hệ thống, bao phủ tất cả các trạng thái và chuyển đổi trạng thái của hệ thống ATM. Quá trình sinh ca kiểm thử tự động có thể được thực hiện bằng các công cụ kiểm thử chuyên dụng, giúp giảm thời gian và công sức của các chuyên gia kiểm thử. Bằng cách sử dụng mô hình FSM và sinh ca kiểm thử tự động, các chuyên gia kiểm thử có thể kiểm tra ATM một cách hiệu quả và toàn diện hơn, giảm thiểu rủi ro bỏ sót lỗi và nâng cao chất lượng của hệ thống ATM.

3.1. Xây Dựng Mô Hình FSM Chi Tiết cho Hệ Thống ATM

Xây dựng mô hình FSM chi tiết cho hệ thống ATM là bước quan trọng để đảm bảo tính chính xác và toàn diện của quá trình kiểm thử. Mô hình FSM cần bao gồm tất cả các trạng thái có thể có của hệ thống ATM, chẳng hạn như: Chờ thẻ, Nhập mã PIN, Chọn giao dịch, Rút tiền, Gửi tiền, Xem số dư, In sao kê. Mô hình FSM cần bao gồm tất cả các chuyển đổi trạng thái có thể có của hệ thống ATM, chẳng hạn như: Chèn thẻ, Nhập mã PIN đúng, Nhập mã PIN sai, Chọn giao dịch rút tiền, Chọn giao dịch gửi tiền, Chọn giao dịch xem số dư, Chọn giao dịch in sao kê, Rút tiền thành công, Rút tiền thất bại, Gửi tiền thành công, Gửi tiền thất bại, Rút thẻ. Mô hình FSM cần bao gồm tất cả các sự kiện có thể xảy ra trong hệ thống ATM, chẳng hạn như: Chèn thẻ, Nhập mã PIN, Chọn giao dịch, Rút tiền, Gửi tiền, Xem số dư, In sao kê, Rút thẻ. Mô hình FSM cần được xây dựng một cách rõ ràng và dễ hiểu, giúp các chuyên gia kiểm thử dễ dàng thiết kế các ca kiểm thử phù hợp.

3.2. Quy Trình Sinh Ca Kiểm Thử Tự Động từ Mô Hình FSM

Quy trình sinh ca kiểm thử tự động từ mô hình FSM bao gồm các bước sau: Phân tích mô hình FSM: Các chuyên gia kiểm thử phân tích mô hình FSM để xác định các trạng thái, chuyển đổi trạng thái và sự kiện cần được kiểm tra. Chọn phương pháp sinh ca kiểm thử: Các chuyên gia kiểm thử chọn phương pháp sinh ca kiểm thử phù hợp, chẳng hạn như phương pháp bao phủ trạng thái, phương pháp bao phủ chuyển đổi trạng thái, phương pháp bao phủ đường dẫn. Tạo ca kiểm thử: Các công cụ kiểm thử tự động tạo ra các ca kiểm thử dựa trên mô hình FSM và phương pháp sinh ca kiểm thử đã chọn. Kiểm tra ca kiểm thử: Các chuyên gia kiểm thử kiểm tra các ca kiểm thử để đảm bảo tính chính xác và đầy đủ. Thực thi ca kiểm thử: Các công cụ kiểm thử tự động thực thi các ca kiểm thử trên hệ thống ATM. Phân tích kết quả kiểm thử: Các chuyên gia kiểm thử phân tích kết quả kiểm thử để xác định các lỗi trong hệ thống ATM.

IV. Ứng Dụng Kiểm Thử Hệ Thống ATM Thực Tế với FSM

Việc áp dụng mô hình FSM vào kiểm thử hệ thống ATM thực tế đã mang lại nhiều kết quả tích cực. Các hệ thống ATM được kiểm thử bằng mô hình FSM có chất lượng cao hơn và độ tin cậy cao hơn. Các lỗi tiềm ẩn trong hệ thống ATM được phát hiện và sửa chữa kịp thời, giúp giảm thiểu rủi ro cho ngân hàng và khách hàng. Quá trình kiểm thử ATM được thực hiện nhanh chóng và hiệu quả hơn, giúp giảm chi phí và thời gian. Theo các nghiên cứu thực tế, việc sử dụng mô hình FSM trong kiểm thử ATM có thể giúp giảm số lượng lỗi trung bình từ 20% đến 50%. Điều này cho thấy hiệu quả của mô hình FSM trong việc nâng cao chất lượng và độ tin cậy của hệ thống ATM.

4.1. Ví Dụ Cụ Thể về Ca Kiểm Thử ATM Sử Dụng FSM

Ví dụ về ca kiểm thử ATM sử dụng mô hình FSM: Mục tiêu: Kiểm tra chức năng rút tiền của ATM. Mô hình FSM: Bao gồm các trạng thái: Chờ thẻ, Nhập mã PIN, Chọn giao dịch, Rút tiền, Rút tiền thành công, Rút tiền thất bại. Các chuyển đổi trạng thái: Chèn thẻ, Nhập mã PIN đúng, Chọn giao dịch rút tiền, Nhập số tiền cần rút, Rút tiền thành công, Rút tiền thất bại. Ca kiểm thử: Bước 1: Chèn thẻ vào ATM. Bước 2: Nhập mã PIN đúng. Bước 3: Chọn giao dịch rút tiền. Bước 4: Nhập số tiền cần rút (ví dụ: 100.000 VNĐ). Bước 5: Kiểm tra xem ATM có trả tiền và in hóa đơn hay không. Bước 6: Kiểm tra số dư tài khoản sau khi rút tiền. Kết quả mong đợi: ATM trả tiền và in hóa đơn. Số dư tài khoản giảm đi 100.000 VNĐ. Phân tích: Ca kiểm thử này bao phủ các trạng thái và chuyển đổi trạng thái quan trọng trong chức năng rút tiền của ATM. Việc thực hiện ca kiểm thử này giúp đảm bảo rằng chức năng rút tiền của ATM hoạt động chính xác và tin cậy.

4.2. Đánh Giá Hiệu Quả và Lợi Ích Thực Tế của FSM Testing

Việc đánh giá hiệu quả và lợi ích thực tế của FSM Testing trong kiểm thử ATM cho thấy nhiều ưu điểm vượt trội so với các phương pháp truyền thống. FSM Testing giúp bao phủ đầy đủ các trạng thái và chuyển đổi trạng thái của hệ thống, giảm thiểu rủi ro bỏ sót lỗi quan trọng. Các ca kiểm thử được tạo ra từ mô hình FSM thường có tính logic và hệ thống cao, giúp phát hiện các lỗi tiềm ẩn một cách hiệu quả. Quá trình kiểm thử được thực hiện nhanh chóng và hiệu quả hơn, giảm chi phí và thời gian cho ngân hàng. FSM Testing giúp nâng cao chất lượng và độ tin cậy của hệ thống ATM, mang lại sự hài lòng cho khách hàng. Bằng cách sử dụng FSM Testing, các ngân hàng có thể đảm bảo rằng hệ thống ATM của họ hoạt động ổn định, an toàn và đáp ứng đúng nhu cầu của khách hàng.

V. Sinh Ca Kiểm Thử Tự Động Từ FSM Các Kỹ Thuật và Công Cụ

Để tự động hóa quá trình sinh ca kiểm thử từ mô hình FSM, có nhiều kỹ thuật và công cụ có thể được sử dụng. Các kỹ thuật bao gồm: Bao phủ trạng thái, Bao phủ chuyển đổi trạng thái, Bao phủ đường dẫn. Các công cụ bao gồm: Model-based testing tools, Test case generation tools. Việc lựa chọn kỹ thuật và công cụ phù hợp phụ thuộc vào yêu cầu cụ thể của dự án kiểm thử. Bằng cách sử dụng các kỹ thuật và công cụ sinh ca kiểm thử tự động, các chuyên gia kiểm thử có thể giảm thời gian và công sức, đồng thời tăng tính hiệu quả và toàn diện của quá trình kiểm thử ATM. Các công cụ sinh ca kiểm thử tự động hỗ trợ nhiều định dạng mô hình, từ đó hỗ trợ nhiều ngôn ngữ mô hình hóa.

5.1. So Sánh Các Kỹ Thuật Sinh Ca Kiểm Thử Phổ Biến

Có nhiều kỹ thuật sinh ca kiểm thử từ mô hình FSM, mỗi kỹ thuật có ưu và nhược điểm riêng. Bao phủ trạng thái: Kỹ thuật này tạo ra các ca kiểm thử để bao phủ tất cả các trạng thái của mô hình FSM. Ưu điểm: Đơn giản, dễ thực hiện. Nhược điểm: Không bao phủ tất cả các chuyển đổi trạng thái. Bao phủ chuyển đổi trạng thái: Kỹ thuật này tạo ra các ca kiểm thử để bao phủ tất cả các chuyển đổi trạng thái của mô hình FSM. Ưu điểm: Bao phủ nhiều khía cạnh của hệ thống hơn bao phủ trạng thái. Nhược điểm: Khó thực hiện hơn bao phủ trạng thái. Bao phủ đường dẫn: Kỹ thuật này tạo ra các ca kiểm thử để bao phủ tất cả các đường dẫn có thể có trong mô hình FSM. Ưu điểm: Bao phủ toàn diện nhất. Nhược điểm: Khó thực hiện nhất, đòi hỏi nhiều thời gian và công sức.

5.2. Lựa Chọn Công Cụ Kiểm Thử Tự Động Phù Hợp với FSM

Việc lựa chọn công cụ kiểm thử tự động phù hợp với mô hình FSM là rất quan trọng để đảm bảo tính hiệu quả của quá trình kiểm thử. Các công cụ cần hỗ trợ các kỹ thuật sinh ca kiểm thử phù hợp. Các công cụ cần có khả năng tích hợp với các hệ thống kiểm thử khác. Các công cụ cần dễ sử dụng và dễ cấu hình. Các công cụ cần có khả năng tạo báo cáo kiểm thử chi tiết. Một số công cụ kiểm thử tự động phổ biến hỗ trợ mô hình FSM bao gồm: Conformiq, TGV, Spec Explorer.

VI. Kết Luận Tầm Quan Trọng và Hƣớng Phát Triển của FSM

Kiểm thử ATM bằng mô hình FSM là một phương pháp hiệu quả để đảm bảo chất lượng và độ tin cậy của hệ thống. Việc áp dụng mô hình FSM giúp các chuyên gia kiểm thử thiết kế các ca kiểm thử toàn diện và có hệ thống, giảm thiểu rủi ro bỏ sót lỗi và nâng cao sự hài lòng của khách hàng. Trong tương lai, mô hình FSM sẽ tiếp tục đóng vai trò quan trọng trong kiểm thử ATM, đặc biệt là khi các hệ thống ATM ngày càng trở nên phức tạp hơn. Cần có những nghiên cứu sâu hơn về các kỹ thuật và công cụ sinh ca kiểm thử tự động, nhằm tối ưu hóa quá trình kiểm thử và nâng cao hiệu quả của mô hình FSM.

6.1. Tổng Kết về Ưu Điểm của Kiểm Thử với Mô Hình FSM

Kiểm thử với mô hình FSM (Finite State Machine) mang lại nhiều ưu điểm nổi bật so với các phương pháp truyền thống, đặc biệt trong kiểm thử ATM: Tính hệ thống và toàn diện: Mô hình FSM giúp mô tả rõ ràng và đầy đủ các trạng thái và chuyển đổi trạng thái của hệ thống, đảm bảo không bỏ sót các trường hợp kiểm thử quan trọng. Sinh ca kiểm thử tự động: Quá trình sinh ca kiểm thử có thể được tự động hóa từ mô hình FSM, giúp tiết kiệm thời gian và công sức của các chuyên gia kiểm thử. Giảm thiểu rủi ro bỏ sót lỗi: Nhờ tính hệ thống và khả năng bao phủ cao, mô hình FSM giúp giảm thiểu rủi ro bỏ sót lỗi tiềm ẩn trong hệ thống. Nâng cao chất lượng và độ tin cậy: Bằng cách phát hiện và sửa chữa các lỗi kịp thời, mô hình FSM góp phần nâng cao chất lượng và độ tin cậy của hệ thống ATM. Dễ dàng bảo trì và cập nhật: Khi có thay đổi trong hệ thống, mô hình FSM có thể được cập nhật và tái sử dụng để tạo ra các ca kiểm thử mới một cách nhanh chóng.

6.2. Hướng Nghiên Cứu và Phát Triển Tiếp Theo cho FSM Testing

Trong tương lai, FSM Testing cần được nghiên cứu và phát triển theo các hướng sau: Tối ưu hóa kỹ thuật sinh ca kiểm thử: Nghiên cứu các thuật toán và phương pháp mới để tạo ra các ca kiểm thử hiệu quả hơn, bao phủ nhiều khía cạnh của hệ thống hơn. Phát triển các công cụ kiểm thử tự động mạnh mẽ hơn: Xây dựng các công cụ có khả năng tự động phân tích mô hình FSM, tạo ra các ca kiểm thử và thực hiện kiểm thử một cách hiệu quả. Nghiên cứu tích hợp FSM Testing với các phương pháp kiểm thử khác: Kết hợp FSM Testing với các phương pháp kiểm thử khác, chẳng hạn như kiểm thử dựa trên rủi ro, kiểm thử hiệu năng, để tạo ra một quy trình kiểm thử toàn diện và hiệu quả hơn. Ứng dụng FSM Testing cho các hệ thống phức tạp hơn: Mở rộng phạm vi ứng dụng của FSM Testing cho các hệ thống phức tạp hơn, chẳng hạn như các hệ thống giao dịch trực tuyến, các hệ thống thanh toán điện tử.

24/09/2025

Trích đoạn nội dung tài liệu

Đặ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)”.

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 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. Đố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: 7 TIEU LUAN MOI download : skknchat@gmail.com  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. 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. Ý 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á 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á 8 TIEU LUAN MOI download : skknchat@gmail.com sự cài đặt đúng đắn của hệ thống so với đặc tả. Luận văn đi sâu nghiên cứu về độ bao phủ của mô hình máy hữu hạn trạng thái, và từ đó đưa ra phương pháp sinh ca kiểm thử để kiểm thử xem hệ thống cài đặt có mô phỏng bản đặc tả phần mềm dựa trên mô hình máy hữu hạn trạng thái hay không. Hướng phát triển tiếp theo của luận văn là tìm cách cải tiến phương pháp sinh ca kiểm thử sao cho số ca kiểm thử là ít nhất nhưng độ bao phủ là lớn nhất có thể. Đồng thời, sẽ xây dựng một chương trình sinh ca kiểm thử dựa trên phương pháp đã được cải tiến.

Bố cục luận văn. NỘI DUNG Chƣơng 1: Trình bày kiến thức cơ bản về kiểm thử phần mềm. Chƣơng 2: Nghiên cứu về mô hình máy trạng thái hữu hạn và trình bày các phương pháp về kỹ thuật sinh ca kiểm thử từ máy trạng thái hữu hạn(FSM-Finite State Machines). Để mô tả 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.

Chƣơng 3: Đặc tả và xây dựng mô hình kiểm thử phần mềm máy hữu hạn trạng thái ATM. Tìm hiểu và đề xuất quy trình kiểm thử máy rút tiền ATM sử dụng máy trạng thái hữu hạn, sau đó áp dụng các kỹ thuật kiểm thử này vào kiểm thử mô hình phần mềm giả lập máy rút tiền tự động ATM sử dụng trạng thái máy hữu hạn. KẾT LUẬN Đưa ra những nhận xét, đánh giá khi áp dụng vào mô hình của máy ATM và định hướng khóa luận trong tương lai. 9 TIEU LUAN MOI download : skknchat@gmail.com NỘI DUNG Chƣơng 1.

TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM Kiểm thử phần mềm là quá trình thực thi một hệ thống phần mềm để xác định xem phần mềm đó có đúng với đặc tả không và thực hiện trong môi trường như mong đợi hay không. Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách nhìn độc lập về phần mềm mà từ đó cho phép đánh giá và thấu hiểu được những rủi ro trong quá trình triển khai phần mềm. Bên cạch đó các kỹ thuật kiểm thử không chỉ giới hạn ở việc thực hiện một chương trình hoặc ứng dụng với mục đích đi tìm các lỗi phần mềm. Để đáp ứng được mọi yêu cầu hướng dẫn khi thiết kế, phát triển phần mềm và thực hiện công việc đúng như kỳ vọng và đáp ứng được mọi nhu cầu của các bên liên quan.

Tùy thuộc vào từng phương pháp, việc kiểm thử có thể được thực hiện bất cứ lúc nào trong quá trình phát triển phần mềm. Và việc kiểm thử phần mềm là một quá trình nỗ lực để đưa ra những đánh giá này. Mục tiêu của kiểm thử là với lý do hoặc mục đích cho việc thiết kế và thực hiện kiểm thử. Bởi vậy ở chương này, tôi xin giới thiệu sơ lược về tổng quan của kiểm thử phần mềm và các kỹ thuật kiểm thử phần mềm.

Kiểm thử phần mềm là gì? Kiểm thử phần mềm là quá trình khảo sát một hệ thống hay thành phần dưới những điều kiện xác định, quan sát và ghi lại các kết quả, và đánh giá một khía cạnh nào đó của hệ thống hay thành phần đó1. 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ỗi2. Kiểm thử phần mềm là hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ phần mềm trong đúng môi trường chúng dự định sẽ được triển khai nhằm cung cấp cho người có lợi ích liên quan những thông tin về chất lượng của sản phẩm hay dịch vụ phần mềm ấy. Mục đích của kiểm thử phần mềm là tìm ra các lỗi hay khiếm khuyết phần mềm nhằm đảm bảo hiệu quả hoạt động tối ưu của phần mềm trong nhiều ngành khác nhau3.

Có thể định nghĩa một cách dễ hiểu như sau: Kiểm thử phần mềm là một tiến trình hay một tập hợp các tiến trình được thiết kế để đảm bảo mã hóa máy tính thực hiện theo cái mà chúng đã được thiết kế để làm, và không thực hiện bất cứ thứ gì không mong muốn. Đây là một pha quan trọng trong quá trình phát triển hệ thống, giúp cho người xây dựng hệ thống và khách hàng thấy được hệ thống mới đã đáp ứng yêu cầu đặt ra hay chưa? 1. Chất lƣợng và độ tin cậy của phần mềm. Chất lƣợng của phần mềm.

10 TIEU LUAN MOI download : skknchat@gmail.com Chất lượng của một sản phẩm phần mềm là sự đáp ứng các yêu cầu về chức năng, sự hoàn thiện và các chuẩn đã được đặc tả, cùng các đặc trưng mong chờ từ mọi sản phẩm phần mềm chuyên nghiệp. Chất lượng phần mềm đặc trưng cho “độ tốt, độ tuyệt hảo” của phần mềm và dưới đây là năm quan điểm của chất lượng phần mềm: + Quan điểm theo cảm tính: Là chất lượng phần mềm như có thể là cái gì đó. + Quan điểm người dùng về chất lượng phần mềm như: tính chính xác, tính đúng đắn (hành vi đúng như đặc tả), tính hiệu quả (tiết kiệm thời gian và tiền bạc), độ tin cậy, tính khả kiểm thử (kiểm thử được và dễ), dễ học, dễ sử dụng, dễ bảo trì. + Quan điểm của nhà sản xuất: Là chất lượng phần mềm phải phù hợp với các đặc tả của nó.

+ Quan điểm về sản phẩm: Chất lượng sản phẩm được xem như gắn liền với các đặc tính vốn có của sản phẩm. Thì phương pháp xây dựng sản phẩm phải tốt.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ