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)

88 1.2K 0
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)

Đ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

ĐẠ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 ĐẠ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 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: TS ĐẶNG VĂN HƢNG HÀ NỘI, 2015 LỜI CẢM ƠN Đầu tiên xin bày tỏ trân trọng lòng biết ơn sâu sắc gửi lời cảm ơn đặc biệ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 nhận đề tài, thầy định hướng đề tài, cung cấp cho kiến thức, tài liệu, để thực đề tài luận văn cao học này, từ ý tưởng đề cương nghiên cứu, phương pháp nghiên cứu, phương pháp giải vấn đề luận văn cao học Thầy dành nhiều thời gian quý giá tận tình bảo, hướng dẫn suốt trình triển khai, việc nghiên cứu lần kiểm tra cuối để hoàn thành đề tài: “Mô hình hóa kiểm thử máy rút tiền ATM 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 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 học tập hoàn thiện trình học tập đào tạo nhà trường Tôi xin chân thành cảm ơn tới GS, TS Thầy, Cô giáo môn Kỹ thuật phần mềm, Khoa công nghệ thông tin, người trực tiếp giảng dạy truyền đạt giúp mở rộng kiến thức khoa học công nghệ thông tin nói chung Kỹ thuật phần mềm nói riêng Các thầy giúp hiểu thấu đáo lĩnh vực mà nghiên cứu để vận dụng kiến thức thực tế công việc Đó kiến thức quý báu có ích với giai đoạn tương lai Tôi xin gửi lời cảm ơn đến gia đình, bạn bè người động viên khuyến khích suốt trình học tập thực đề tài luận văn Tôi xin chân thành cảm ơn! Tác giả Nguyễn Thị Minh Thúy LỜI CAM ĐOAN Tôi xin cam đoan rằng, nội dung trình bày luận văn tự nghiên cứu tìm hiểu dựa tài liệu trình bày theo ý hiểu thân hướng dẫn trực tiếp Thầy TS Đặng Văn Hưng Các nội dung nghiên cứu, tìm hiểu kết đề tài hoàn toàn trung thực Luận văn chưa công bố công trình Trong trình thực luận văn tham khảo đến tài liệu số tác giả, ghi rõ tên tài liệu, nguồn gốc tài liệu, tên tác giả liệt kê 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 MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC BẢNG CHỮ VIẾT TẮT VÀ THUẬT NGỮ DANH MỤC HÌNH VẼ .6 DANH MỤC BẢNG MỞ ĐẦU Đặt vấn đề Mục tiêu nhiệm vụ nghiên cứu Đối tƣợng phạm vi nghiên cứu Phƣơng pháp nghiên cứu Ý nghĩa khoa học thực tiễn luận văn Bố cục luận văn .9 NỘI DUNG 10 Chƣơng TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM .10 1.1 Kiểm thử phần mềm gì? 10 1.2 Chất lƣợng độ tin cậy phần mềm 10 1.3 Vai trò kiểm thử phần mềm 11 1.4 Các thuật ngữ kiểm thử phần mềm 12 1.5 Ca kiểm thử (test case) gì? 13 1.6 Trƣờng hợp (Use case) kiểm thử phần mềm gì? 14 1.7 Các mức kiểm thử phần mềm 16 1.8 Kỹ thuật kiểm thử tĩnh tiến trình kiểm thử 23 Chƣơng MÔ HÌNH MÁY TRẠNG THÁI HỮU HẠN VÀ KỸ THUẬT SINH CA KIỂM THỬ TỪ FSM 30 2.1 Giới thiệu mô hình hóa 30 2.2 Mô hình định hƣớng trạng thái 32 2.3 Máy trạng thái hữu hạn 34 2.4 Một số cách biểu diễn cho FSM .37 2.5 Kiểm thử dựa mô hình 39 2.6 Thuận lợi khó khăn kiểm thử dựa mô hình 43 2.7 Kiểm thử với trạng thái kiểm chứng 44 2.7.1 Chuỗi vào – (Unique Input - Output sequence) .46 2.7.2 Chuỗi phân biệt (Distinguishing sequence) 48 2.7.3 Chuỗi đặc trưng (Characterizing sequence) .50 2.8 Độ bao phủ mô hình máy hữu hạn trạng thái 51 2.8.1 Một số đặc trưng máy hữu hạn trạng thái 51 2.8.2 Độ bao phủ máy hữu hạn trạng thái .51 a Độ bao phủ trạng thái (State coverage) .53 b Độ bao phủ chuyển trạng thái (transition coverage) 55 2.9 Kỹ thuật sinh ca kiểm thử 57 2.9.1 Sinh kiểm thử tìm tập bao phủ chuyển trạng thái 57 2.9.2 Sinh ca kiểm thử dựa hành vi chuyển đổi trạng thái FSM 58 Chƣơng KIỂM THỬ HỆ THỐNG ATM DỰA TRÊN MÔ HÌNH FSM 61 3.1 Mô tả hệ thống ATM 61 3.2 Đặc tả ATM từ mô hình FSM .61 3.2.1 Đặc tả yêu cầu hệ thống 61 3.2.2 Xây dựng mô hình FSM ATM 63 3.3 Thuận lợi khó khăn máy rút tiền ATM kỹ thuật sinh ca kiểm thử từ FSM 84 KẾT LUẬN 85 TÀI LIỆU THAM KHẢO 86 BẢNG CHỮ VIẾT TẮT VÀ THUẬT NGỮ Tên đầy đủ Viết tắt ATM Automated Teller Machine FSM Finite State Machines CFG Control Flow Graph PV Path Vector IV Initial Vector B State Block VER State Verification RI Reset sequence UIO Unique Input Output sequence DS Distinguishing sequence W Characterizing sequence Seq Sequence DANH MỤC HÌNH VẼ Hình 1.1 Qui trình phát triển mức kiểm thử mô hình chữ V 17 Hình 2.1 Hình ảnh hệ thống phần mềm 33 Hình 2.2 Tương tác hệ thống môi trường mô hình hóa FSM 34 Hình 2.3 Mô hình chuyển trạng thái FSM 35 Hình 2.4 Mô hình nhận dạng mã PIN ATM 36 Hình 2.5 FSM ATM biểu diễn đồ thị 38 Hình 2.6 Quy trình kiểm thử dựa mô hình 40 Hình 2.7 Mô hình kiểm thử với việc kiểm chứng trạng thái 45 Hình 2.8 FSM trình chuyển đổi trạng thái cho ATM .53 Hình 2.9 Một đường bao phủ tất trạng thái FSM ATM 54 Hình Mô hình hoạt động giao dịch hệ thống ATM 61 Hình Mô hình FSM chuyển đổi trạng thái ATM .66 Hình 3 Cây kiểm thử máy trạng thái hữu hạn ATM .83 DANH MỤC BẢNG Bảng 1 Mô tả nhập mã PIN ATM 15 Bảng Biểu diễn FSM dạng bảng 39 Bảng Bảng biểu diễn trạng thái FSM ATM .65 Bảng Bảng gán nhãn cho trạng thái 67 Bảng 3 Bảng gán nhãn cho kết đầu vào/ đầu cho hệ thống ATM 68 Bảng Bảng gán nhãn cho trình chuyển đổi 69 Bảng Thông tin chi tiết trình chuyển đổi cho hệ thống ATM .71 Bảng Dãy chuyển đổi bao phủ tất trạng thái hình 3.2 72 Bảng Dãy chuyển đổi bao phủ tất trạng thái chuyển đổi hình 3.2 .74 Bảng Chuỗi vào – cho trạng thái ATM 76 Bảng Các chuỗi kiểm thử cho trạng thái chuyển tiếp ATM .82 MỞ ĐẦU Đặt vấn đề Trong xã hội ngày phần mềm đóng vai trò quan trọng có độ phức tạp gia tăng Vì người ngày phụ thuộc chặt chẽ vào sản phẩm phần mềm đòi hỏi chất lượng sản phẩm phần mềm ngày cao, tức phần mềm phải sản xuất với giá thành thấp, dễ dùng, an toàn có độ tin cậy cao Do việc kiểm thử phần trọng yếu trình phát triển đảm bảo chất lượng phần mềm Hiện việc kiểm thử phần mềm sử dụng đặc tả hình thức đóng vai trò mô hình ngữ nghĩa chẳng hạn 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ả sử dụng làm mục đích để chứng minh tính đắn hành vi đặc tả hệ thống phần mềm hay đối tượng dùng để sinh 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) áp dụng lĩnh vực kiểm thử hệ thống phần mềm cho hệ phản vệ (reactive system) Máy rút tiền ATM hệ phản vệ thông dụng đòi hỏi tính đắn, độ tin cậy cao Đặc tả trực quan máy ATM máy trạng thái hữu hạn, để kiểm thử máy ATM sử dụng kỹ thuật sinh ca kiểm thử từ máy trạng thái hữu hạn, luận văn chọn đề tài “Mô hình hóa kiểm thử máy rút tiền ATM 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 nhiệm vụ nghiên cứu Luận văn đề cập vấn đề kiểm thử máy trạng thái hữu hạn (Finite State Machines Testing) ứng dụng kiểm thử máy rút tiền ATM Sau mô hình hóa máy ATM máy trạng thái hữu hạn, luận văn nghiên cứu phương pháp sinh ca kiểm thử từ máy trạng thái (FSM) đồng thời đưa nhận xét, đánh giá áp dụng vào mô hình máy ATM Đối tƣợng phạm vi nghiên cứu Đối tƣợng nghiên cứu:  Nghiên cứu sở lý thuyết kiểm thử mô hình máy trạng thái  Nghiên cứu kỹ thuật mô hình hóa phần mềm phản vệ 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 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 đưa phương pháp tìm chuỗi kiểm thử trạng thái  Kiểm thử dựa 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 nhiều báo khoa học có liên quan mật thiết đề tài nghiên cứu  Phân tích, xác định trọng tâm xây dựng sở lý luận vấn đề nghiên cứu sở thực giải vấn đề thông qua việc thiết kế kiểm thử máy rút tiền ATM 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 kỹ thuật, chiến lược kiểm thử phần mềm  Đưa tài liệu kế hoạch kiểm thử đặc tả kiểm thử, xây dựng chương trình thực thi kiểm thử  Đánh giá rút học kinh nghiệm thực tiễn Ý nghĩa khoa học thực tiễn luận văn Ý nghĩa khoa học: Đứng trước gia tăng mức độ phức tạp phần mềm, việc trực quan hoá, mô hình hóa kiểm thử phần mềm ngày trở nên yếu cách tiếp cận xem xét hệ thống Mô hình hóa dạng thức trừu tượng hệ thống, hình thành để hiểu hệ thống trước xây dựng thay đổi hệ thống Mô hình hóa cung cấp phương tiện để quan niệm hóa vấn đề giúp trao đổi ý tưởng hình thức cụ thể, không mơ hồ Kiểm thử phần mềm trình thực thi chương trình với mục đích tìm lỗi, trình khảo sát hệ thống hay phần mềm điều kiện xác định, để quan sát ghi lại kết quả, đánh giá khía cạnh hệ thống Mục đích đề tài trình bày phương pháp mô hình hóa FSM ATM sinh ca kiểm thử từ đặc tả máy trạng thái FSM (Finite State Machines Testing) ATM Việc mô hình hóa FSM làm sáng tỏ vấn đề để đưa lỗi thiếu sót hệ thống từ việc tiếp cận trực quan đồ họa dạng trình bày 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 mô hình máy hữu hạn trạng thái dùng khái niệm mô tiêu chí để đánh giá ; ; ;; ; ; ; ; ; ; ; ; ; ; S0, S1, S2, S3, S4, S5, S6, S7, S8 ; ; ; ; ; Bảng Dãy chuyển đổi bao phủ tất trạng thái hình 3.2 Dãy chuyển đổi bao phủ tất trạng thái chuyển đổi hình 3.2: Serial Number Transition Tours (Dãy chuyển đổi) ; ; ; ; ; ; ; ; ; ; ; ; ; ; 72 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 73 ; ; ; ; ; ; ; ; 10 ; ; ; ; ; ; ; ; 11 ; ; ; ; ; ; ; ; 12 ; ; ; ; ; ; ; ; 13 ; ; ; ; Bảng Dãy chuyển đổi bao phủ tất trạng thái chuyển đổi hình 3.2 Bởi vậy, thực nghiệm dựa vào phương pháp kiểm chứng chuỗi vào (UIO) để thực cho toán mô hình hóa ATM, vì, trạng thái mô hình cặp chuỗi input/ output Input/ Output Si Sj 74 Do vây, chuỗi kiểm tra để kiểm thử trình chuyển đổi trạng thái xây dựng phương pháp chuỗi kiểm chứng UIO Việc xây dựng r hành động để thiết lập lại I, cho I thiết lập lại trạng thái ban đầu, để tạo chuỗi chuyển tiếp ngắn dẫn từ trạng thái q0 đến trạng thái qi Việc áp dụng đầu vào để kích hoạt trình chuyển đổi để kiểm tra, sinh trạng thái sau qj kiểm chứng chuỗi Với phương pháp chuỗi kiểm chứng UIO, việc sinh ca kiểm thử cho mô hình FSM ATM tập hợp đầy đủ chuỗi kiểm thử cho trạng thái chuyển đổi mô hình trạng thái FSM ATM thể hình 3.2 Việc sử dụng phương pháp chuỗi kiểm chứng UIO để kiểm chứng xem chuỗi input/output trạng thái ATMI có đặc tả trạng thái ATMS không? Dựa vào chuỗi input/output cho trạng thái để sinh ca kiểm thử Chuỗi UIO cho trạng thái thể bảng 3.8, chuỗi sinh bảng 3.9 Dưới bảng chuỗi vào – cho trạng thái mô hình FSM ATM: Trạng thái S0 Chuỗi UIO Insert card/− Card(pin,sb,cb)/ Enter Pin; Pin!=pin/ Wrong pin, Re-enter Pin, Prompt for pin; S1 Pin!=pin/ wrong pin, Eject card; Pin=pin/ Select a language; English/ Menu English; S2 Vietnamese/ Menu Vietnmaese; Exit/ Eject card; S3 Current/− ; Saving/ −; Done/−; Withdraw(w)/ cb=cb-w; S4 Deposit(d)/ cb=cb+d; Balance(English)/ (English,cb); Balance(Vietnamese)/ (Vietnamese,cb); Print(English)/ Receipt(English), English=cb, current; S5 Print(Vietnamese)/ Receipt(Vietnamese), Vietnamese=cb, current; 75 Done/−; Withdrawal(w)/ sb=sb-w; S6 Deposit(p)/ sb=sb+d; Balance(English)/ (English,sb); Balance(Vietnamese)/ (Vietnamese,sb); Print(English)/ Receipt(English), English=sb, saving; S7 S8 Print(Vietnamese)/ Receipt(Vietnamese), Vietnamese=sb, saving; Exit/ Eject card; Bảng Chuỗi vào – cho trạng thái ATM Bảng chuỗi kiểm thử cho trạng thái chuyển tiếp mô hình FSM ATM: Test Case_ID TC1 Test trạng thái chuyển tiếp T1: S0->S1 Đầu vào (Input) Đầu mong đợi (Expected output) Card(pin,sb,cb), Enter pin, wrong pin, Pin!=pin Re-enter pin, Chuỗi chuyển tiếp trạng thái (Transition Sequence) T1, T2 Prompt for pin TC2 T2: S1->S1 Card(pin,sb,cb), Enter pin; wrong pin, Pin!=pin Re-enter pin, Prompt for T1, T2, T3 pin; Eject card; TC3 T3: S1->S8 TC4 T4:S1->S2 TC5 T5: S2->S3 Card(pin,sb,cb), Enter pin; wrong pin; Pin!=pin Eject card; Card(pin,sb,cb), Enter pin; Pin=pin Select a language; Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; Cancel Menu English; T1, T3 T1, T4, T23 76 T1, T4, T5, T24 Eject card TC6 Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; T1, T4, T6, Cancel Menu Vietnamese; T24 T6: S2->S3 Eject card TC7 Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; T1, T4, T5, Current, Done Menu Vietnamese; T7, T9, T24 T7: S3->S4 Eject card TC8 Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; T1, T4, T5, T8, Saving, Done Menu English; T10, T24 T8: S3->S6 Eject card TC9 Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; T1, T4, T6, Current, Done Menu Vietnamese; T7, T9, T24 T9: S4->S3 Eject card TC10 Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; T1, T4, T6, T8, Saving, Done Menu Vietnamese; T10, T24 T10:S6->S3 Eject card TC11 Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; T1, T4, T5, T7, Current, Menu English; T11 Balance(English) (English,cb); T11:S4->S5 77 TC12 Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; T1, T4, T6, T7, Current, Menu Vietnamese; T12 Balance(Vietnamese) (Vietnamese,cb); Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; T1, T4, T5, T7, Current, Deposit(d) Menu English; T13 T12:S4->S5 cb=cb+d; TC13 T13:S4->S5 Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; T1, T4, T6, T7, Current, Deposit(d) Menu Vietnamese; T13 cb=cb+d; TC14 TC15 Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; T1, T4, T5, T7, Current, Menu English; T14 withdrawal(w) cb=cb-w; Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; T1, T4, T6, T7, Current, Menu Vietnamese; T14 Withdrawal(w) cb=cb-w; Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; T1, T4, T5, T7, Current, Deposit(d), Menu English; T13, T15, T9, Print(English) cb=cb+d; T14:S4->S5 T15:S5->S4 Receipt(English), 78 T24 English=cb, current; Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; Current, Menu English; Withdrawal(w), cb=cb-w; Print(English) Receipt(English), T1, T4, T5, T7, T14, T15, T9, T24 English=cb, current; Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; Current, Deposit(d), Menu Vietnamese; Print(Vietnamese) cb=cb+d; T1, T4, T6, T7, T13, T16, T19, T24 Receipt(Vietnamese), Vietnamese=cb, current; TC16 T16:S5->S4 Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; Current, Menu Vietnamese; Withdrawal(w), cb=cb-w; Print(Vietnamese) Receipt(Vietnamese), T1, T4, T6, T7, T14, T16, T19, T24 Vietnamese=cb, current; TC17 T17:S6->S7 Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; T1, T4, T5, T8, Saving, Menu English; T17 withdrawal(w) sb=sb-w; Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; Saving, Menu Vietnamese; 79 T1, T4, T6, T8, T17 withdrawal(w) sb=sb-w; Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; T1, T4, T5, T8, Saving, Deposit(d) Menu English; T18 sb=sb+d; TC18 T18:S6->S7 Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; T1, T4, T6, T8, Saving, Deposit(d) Menu Vietnamese; T18 sb=sb+d; TC19 TC20 TC21 Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; T1, T4, T5, T8, Saving, Menu English; T19 Balance(English) (English,sb); Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; T1, T4, T6, T8, Saving, Menu Vietnamese; T20 Balance(Vietnamese) (Vietnamese,sb); Card(pin,sb,cb), Enter pin; Pin=pin, English, Select a language; Saving, Menu English; T1, T4, T5, T8, Withdrawal(w) sb=sb-w; T17, T21 Print(English) Receipt(English), T19:S6->S7 T20:S6->S7 T21:S7->S6 English=sb, current; Card(pin,sb,cb), Enter pin; T1, T4, T5, T8, Pin=pin, English, Select a language; T18, T21 80 Saving, Deposit(d), Menu English; Print(English) sb=sb+d; Receipt(English), English=sb, current; Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; Saving, Menu vietnamese; T1, T4, T6, T8, Withdrawal(w) sb=sb-w; T17, T22 Print(Vietnamese) Receipt(Vietnamese), Vietnamese=sb, current; TC22 T22:S7->S6 Card(pin,sb,cb), Enter pin; Pin=pin, Vietnamese, Select a language; Saving, Deposit(d), Menu vietnamese; T1, T4, T6, T8, Print(Vietnamese) sb=sb+d; current; T18, T22 Receipt(Vietnamese), Vietnamese=sb; TC23 TC24 T23:S2->S8 T24:S3->S8 Card(pin,sb,cb), Enter Pin; Pin=pin, Select a language; Exit Eject card; Card(pin,sb,cb), Enter Pin; Pin=pin, Select a language; Saving, sb=sb-w; Saving; withdarawal(w), Receipt(English); T1, T4, T23 T1, T4, T5, T8, T17, T21, T10, Print(English) T24 English=sb; Eject card; Card(pin,sb,cb), Enter Pin; T1, T4, T5, T8, T18, T21, T10, 81 Pin=pin, Select a language; Saving, Deposit(d), sb=sb+d; Saving; Print(English) Receipt(English); T24 English=sb; Eject card; Card(pin,sb,cb), Enter Pin; Pin=pin, Select a language; Saving, sb=sb-w; Saving; T1, T4, T6, T8, T17, T22, T10, withdarawal(w), Receipt(Vietnamese); Print(Vietnamese) T24 Vietnamese=sb; Eject card; Card(pin,sb,cb), Enter Pin; Pin=pin, Select a language; Saving, Deposit(d), sb=sb+d; Saving; Print(Vietnamese) Receipt(Vietnamese); T1, T4, T6, T8, T18, T22, T10, T24 Vietnamese=sb; Eject card; Bảng Các chuỗi kiểm thử cho trạng thái chuyển tiếp ATM Với phương pháp chuỗi kiểm chứng UIO, thực nghiệm tạo đầy đủ tập hợp chuỗi kiểm thử cho chuyển tiếp máy trạng thái hữu ATM thể hình 3.2 Chuỗi UIO cho trạng thái thể rõ bảng 3.8 chuỗi kiểm thử sinh từ mô hình FSM ATM thể bảng 3.9 Trong số chuỗi kiểm thử bảng 3.9, chuỗi kiểm thử cho trình chuyển đổi trạng thái i bao gồm chuỗi kiểm thử trạng thái j Các thử nghiệm cho trình chuyển đổi trạng thái i thực theo chuỗi kiểm thử trạng thái j Chính vậy, mối quan hệ tạo nên kiểm thử thể hình 3.3: 82 Hình 3 Cây kiểm thử máy trạng thái hữu hạn ATM Do vậy, giả sử việc thử nghiệm có chuyển đổi trạng thái T4 “pass” Ví dụ như: Các thử nghiệm biểu diễn chuỗi trình chuyển đổi trạng thái xác định với giá trị đầu vào thông số đầu vào cụ thể cho dãy trình chuyển đổi path1={ T1, T4, T6, T8, T18, T22, T10, T24} với chuỗi giá trị đầu vào xác định seq={ Card( 123, 300, 200), pin (123), Vietnamese(), saving(), deposit(500), Print(Vietnamese), done(), Exit()} có 83 chuỗi đầu mong đợi seq={Enter pin, Select a language, Menu Vietnamese, sb=800, Receipt(Vietnamese), saving(), Eject card}; path2={ T1,T4,T5,T7,T9,T7,T12} với chuỗi đầu vào xác định seq={Card(125,1000,2000),pin(125), english(); checking(); done(); checking(); balance()} có đầu mong đợi seq={ Enter PIN, Select a language, saving/checking, balance(2000)} với chuỗi đầu vào xác định seq={Card(126,1000,1500), pin(126), english(); checking(); done(); checking(); balance()} có đầu mong đợi seq={ Enter PIN, Select a language, saving/checking, balance(1500)} 3.3 Thuận lợi khó khăn máy rút tiền ATM kỹ thuật sinh ca kiểm thử từ FSM Ở đề tài nghiên cứu dựa lý thuyết tiến hành thực nghiệm phương pháp thủ công nên có số thuận lợi khó khăn sau:  Thuận lợi: o Quá trình sinh ca kiểm thử dựa mô hình, rút ngắn thời gian làm phần mềm chất lượng phần mềm tốt o Đưa liệu đầu vào kiểm thử dựa vào mô hình tạo o Đưa ca kiểm thử dự đoán dựa mô hình o Sớm phát lỗi o Giúp cho người kiểm thử lựa chọn tập hợp giá trị cho trường hợp có khả đưa liệu đầu vào kiểm thử o Dựa vào mô hình giúp người kiểm thử hiểu rõ ca kiểm thử kịch kiểm thử o Có khả thực thi thông tin dự đoán như: giá trị đầu mong đợi hệ thống  Mặc dù có nhiều thuận lợi khó áp dụng thực tế số khó khăn: o Việc thực nghiên cứu dựa lý thuyết theo phương pháp thủ công nên khó áp dụng vào thực tế o Khó xây dựng mô hình xác o Khó thực ca kiểm thử để tạo giá trị đầu mong đợi cho ca kiểm thử 84 KẾT LUẬN Kiểm thử phần mềm, nội dung nghiên cứu triển khai từ sớm, vấn đề cấp thiết cho việc nâng cao chất lượng phần mềm điều kiện phát triển phần mềm Việt Nam nhiều hạn chế vấn đề Trong luận văn này, tác giả trình bày tổng quan kiểm thử phần mềm: gồm khái niệm bản, phương pháp kiểm thử, mô hình hóa kiểm thử máy rút tiền ATM kỹ thuật sinh ca kiểm thử từ FSM Luận văn trình bày toán kiểm thử dựa mô hình máy trạng thái hữu hạn để sinh ca kiểm thử cho hệ thống máy rút tiền ATM Với phương pháp sinh ca kiểm thử dựa vào độ bao phủ mô hình máy hữu hạn trạng thái, để sinh test case dựa mô hình máy hữu hạn trạng thái Cuối luận văn sâu vào việc nghiên cứu mô hình trạng thái, mô hình phát triển phần mềm sử dụng đặc tả hình thức hệ thống phần mềm để tiến hành thử nghiệm mô hình hóa, kiểm thử cho toán rút tiền tự động ATM phát triển theo mô hình máy trạng hữu hạn Tuy nhiên, luận văn nghiên cứu dựa mặt lý thuyết, thực đóng góp cho việc nghiên cứu ứng dụng kiểm thử phần mềm cho mô hình phát triển toán lớn hạn chế Trong hướng phát triển luận văn tìm cách cải tiến phương pháp sinh ca kiểm thử cho số ca kiểm thử độ bao phủ lớn tác giả hy vọng mở rộng nghiên cứu kiểm thử phần mềm dựa mô hình cho toán rộng Đồng thời, tác giả mong xây dựng chương trình sinh ca kiểm thử tự động dựa phương pháp cải tiến để áp dụng có ý nghĩa thực tiễn Mặc dù có nhiều cố gắng để thực đề tài cách hoàn chỉnh Do lần làm quen với công tác nghiên cứu lực thân hạn chế thời gian nghiên cứu có hạn, kiến thức kinh nghiệm nghiên cứu chắn không tránh khỏi sai sót định mà thân chưa thấy Tôi mong nhận góp ý quý Thầy, Cô giáo bạn quan tâm cá nhân để nội dung luận văn hoàn thành đảm bảo chất lượng tốt 85 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 Trương Anh Hoàng – Tháng 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 [11].http://www.softwaretestingclass.com/design-test-cases-using-state-transitiontesting-technique/ Theo Bảng giải thuật ngữ chuẩn IEEE Thuật ngữ kỹ nghệ phần mềm- IEEE Standard Glossary of Software Engineering Terminology Theo “The Art of Software Testing” – Nghệ thuật kiểm thử phần mềm Theo Bách khoa toàn thư mở Wikipedia Theo Bách khoa toàn thư mở Wikipedia Giáo trình International Software Testing Qualifications Board - Certified Tester Foundation Level Syllabus - 2011(Chapter 3: StaticTechniques – Page 31-36) Theo Efraim Turban 86 [...]... 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 C 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... sinh ca kiểm thử dựa trên phương pháp đã được cải tiến 6 Bố cục luận văn A MỞ ĐẦU B 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... 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. .. như: một máy trạng thái hữu hạn, hệ thống nhúng và hệ thống điều khiển Điều đó đã thúc đẩy việc nghiên cứu các phương pháp tiếp cận để kiểm thử phần mềm dựa trên mô hình máy trạng thái hữu hạn để khám phá các khía cạnh hành vi của hệ thống Vậy tại sao phải mô hình hóa? Để trả lời câu hỏi này, dưới đây tôi xin giới thiệu về mô hình và mô hình hóa bằng máy hữu hạn trạng thái FSM cho việc kiểm thử của... Hình 2.2 Tƣơng tác giữa hệ thống và môi trƣờng mô hình hóa nhƣ FSM2 2.3 Máy trạng thái hữu hạn Trong các phương pháp phát triến phần mềm, máy trạng thái hữu hạn là một phương pháp được dùng để đặc tả phần mềm dành cho lớp các bài toán sinh ra ca kiểm thử từ máy trạng thái hữu hạn, mà các đối tượng được cấu hình thành hệ thống có các trạng thái khác nhau trong quá trình vận hành như cầu thang máy, máy. .. thống máy rút tiền ATM Việc kiểm thử dựa trên mô hình hóa bằng máy hữu hạn trạng thái FSM nhằm tăng tính hiệu quả và độ chính xác của các hoạt động kiểm thử trong hệ thống phần mềm 2.1 Giới thiệu về mô hình hóa Hiện nay, mô hình hóa hướng đối tượng là phương pháp xây dựng mô hình dựa trên tư duy hướng đối tượng Mỗi thế giới thực đều được tạo thành bởi các đối tượng và mối quan hệ giữa chúng Mô hình hóa. .. máy giặt, máy rút tiền tự động,… do đặc trưng của bài toán sinh ca kiểm thử này, mà hệ thống phát triển phần mềm được lập trình theo hướng đối tượng Bên cạnh đó, do đặc thù của phương pháp dựa trên mô hình hóa máy trạng thái hữu hạn, cũng là một tiêu chí kiểm thử phủ toàn bộ về các trạng thái, chuyển dịch, sự kiện và hành động của hệ thống phần mềm Máy hữu hạn trạng thái (FSM) là một mô hình hành vi... tiện giao tiếp thuận tiện giữa nhóm phát triển và khách hàng và tạo cơ sở cho phân tích, thiết kế và kiểm thử hệ thống Kể từ khi mô hình hóa bằng máy hữu hạn trạng thái được giới thiệu, nó đã trở thành một công cụ phổ biến cho các hệ thống mô hình hóa phần mềm Hiện nay máy hữu hạn trạng thái là một chuẩn trong ngành công nghiệp về việc đặc tả hành vi mô hình hóa hệ thống phần mềm Vì vậy, nó có thể thực... mềm Vì vậy, nó có thể thực hiện được yêu cầu cho việc thiết kế trong qui trình kiểm thử Kiểm thử dựa trên mô hình máy hữu hạn trạng thái là sự đặc tả hình thức kiểm thử được thực hiện làm mục đích cho việc sử dụng các mô hình ngữ nghĩa như: máy trạng thái hữu hạn, biểu đồ chuyển trạng thái Các mô hình này biểu diễn các đặc tả và được sử dụng làm mục đích để chứng minh hành vi của hệ thống hoặc các đối... các trạng thái và chuyển trạng thái Nó là một mô hình được sử dụng rộng rãi trong lĩnh vực công nghệ phần mềm và đặc biệt phổ biến trong thiết kế hệ thống Máy trạng thái hữu hạn tạo ra output trên chuyển trạng thái và input nhận được Máy hữu hạn trạng thái là một bộ M = Trong đó:  S: là một tập các trạng thái,  I: là tập thông tin đầu vào,  O: là tập thông tin đầu ra,  s0: là trạng ... cứu mô hình máy trạng thái hữu hạn trình bày phương pháp 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 kỹ thuật sinh ca kiểm thử từ máy. .. trạng thái hữu hạn (Finite State Machines Testing) ứng dụng kiểm thử máy rút tiền ATM Sau mô hình hóa máy ATM máy trạng thái hữu hạn, luận văn nghiên cứu phương pháp sinh ca kiểm thử từ máy trạng. .. 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

Ngày đăng: 05/04/2016, 21:15

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan