MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI

76 631 3
MỘT số PHƯƠNG PHÁP xác ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI

Đ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

Chương 2. MÁY HỮU HẠN TRẠNG THÁI (FSM) 2.1. Định nghĩa FSM Máy hữu hạn trạng thái (FSM) 7 là một mô hình hành vi sử dụng 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 mọi lĩnh vực của công nghiệp phần mềm và đặc biệt phổ biến trong thiết kế hệ thống viễn thông, giao thức truyền thông, hệ thống nhúng, và hệ thống điều khiển. Có hai loại máy hữu hạn trạng thái là máy Mealy và máy Moore. Máy Mealy tạo ra output trên chuyển trạng thái và input nhận được còn máy Moore tạo ra output dựa trên chuyển trạng thái (không phụ thuộc vào input nhận được). FSM thường được mô hình hóa như máy Mealy. Máy hữu hạn trạng thái (Mealy machine) 5, 7 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 thái ban đầu,  δ: S x I → S là hàm chuyển trạng thái,  λ: S x I → O là hàm thông tin đầu ra. Hay nói một cách khác, 4 FSM là mô hình bao gồm:  Những yếu tố tĩnh: bao gồm trạng thái (state) và sự chuyển tiếp trạng thái (state transition). Số lượng của những trạng thái là hữu hạn. Sự chuyển tiếp trực tiếp từ trạng thái A sang trạng thái B chỉ có thể theo một đường link duy nhất là AB. Số lượng các đường link cũng là giới hạn.  Những yếu tố động: bao gồm đầu vào (input) được cung cấp cho FSM và đầu ra (output) được lấy ra từ FSM ở những sự thực hiện động. Cả hai số lượng đầu vào và đầu ra đều là hữu hạn. Nguồn gốc FSM 7 từ máy tự động hữu hạn (Finite Automata), gồm 5 thành phần (Q, ∑, δ, q0, F). Trong đó:  Q là một tập hữu hạn các trạng thái,  ∑ là một tập các ký hiệu được gọi là tập chữ cái ngõ nhập (input alphabet),  δ: Q x ∑ → Q là hàm chuyển trạng thái,  q0 ∈ Q là trạng thái ban đầu,  F ⊆ Q là một tập trạng thái kết thúc. Máy tự động hữu hạn được sử dụng chủ

LỜI CẢM ƠN Trước tiên xin bày tỏ lòng biết ơn sâu sắc tới TS Đặng Văn Hưng, giảng viên Khoa Công nghệ thông tin - Trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội Trong thời gian học làm luận văn tốt nghiệp, thầy dành nhiều thời gian quí báu tận tình bảo, hướng dẫn việc nghiên cứu, thực luận văn Tôi xin cảm ơn thầy giáo, cô giáo giảng dạy trình học tập làm luận văn Các thầy cô giúp hiểu thấu đáo lĩnh vực mà nghiên cứu để vận dụng kiến thức vào công tác Xin cảm ơn bạn bè, đồng nghiệp thành viên gia đình tạo điều kiện tốt nhất, động viên, cổ vũ suốt trình học tập nghiên cứu để hoàn thành luận văn tốt nghiệp Hà Nội, tháng năm 2015 Học viên thực Đoàn Thị Thùy Linh LỜI CAM ĐOAN Tôi xin cam đoan rằng, kết nghiên cứu có giúp đỡ lớn thầy hướng dẫn đồng nghiệp quan Các số liệu kết nêu luận văn trung thực chưa công bố công trình nghiên cứu khác Trong luận văn, có tham khảo đến số tài liệu số tác giả liệt kê phần tài liệu tham khảo cuối luận văn Hà Nội, tháng năm 2015 Học viên thực Đoàn Thị Thùy Linh MỤC LỤC DANH SÁCH BẢNG DANH SÁCH HÌNH VẼ .8 DANH MỤC CÁC CHỮ VIẾT TẮT 11 1.1 Đặt vấn đề .1 1.2 Nội dung nghiên cứu .1 1.3 Cấu trúc luận văn Chương MÁY HỮU HẠN TRẠNG THÁI (FSM) 2.1 Định nghĩa FSM 2.2 Biểu diễn FSM 2.2.1 Biểu diễn kiểu liệt kê 2.2.2 Biểu diễn đồ thị .5 2.2.3 Biểu diễn dạng bảng 2.3 Một số tính chất FSM .6 2.3.1 Được đặc tả đầy đủ (Completely specified) 2.3.2 Đơn định (Deterministic) .8 2.3.3 Liên thông mạnh (Strongly connected) 2.3.4 Tối giản (Reduced) .10 Chương MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI 12 3.1 Chuỗi vào – (Unique Input - Output sequence) [5] 12 3.1.1 Một số khái niệm 13 3.1.2 Thuật toán sinh UIO .15 3.2 Chuỗi phân biệt (Distinguishing sequence) [5] .22 3.2.1 Một số khái niệm 22 3.2.2 Thuật toán sinh DS 24 3.3 Chuỗi đặc trưng (Characterizing sequence) [2] 26 3.3.1 Một số khái niệm 27 3.3.2 Phương pháp tìm W .27 Chương KIỂM THỬ DỰA TRÊN MÔ HÌNH FSM 33 4.1 Mối quan hệ mô hai FSM 33 4.2 Kiểm thử dựa mô hình FSM 34 4.3 Một số lỗi thường gặp cài đặt FSM 37 5.1 Độ bao phủ mô hình máy hữu hạn trạng thái 41 5.1.1 Độ bao phủ trạng thái (state coverage) .42 5.1.2 Độ bao phủ chuyển trạng thái (transition coverage) 43 5.2 Kỹ thuật sinh ca kiểm thử 46 5.2.1 Khuôn dạng ca kiểm thử 46 5.2.2 Phương pháp sinh ca kiểm thử 48 5.3 Ví dụ 56 Chương KẾT LUẬN 64 TÀI LIỆU THAM KHẢO 65 DANH SÁCH BẢNG DANH SÁCH BẢNG DANH SÁCH HÌNH VẼ .8 DANH MỤC CÁC CHỮ VIẾT TẮT 11 1.1 Đặt vấn đề .1 1.2 Nội dung nghiên cứu .1 1.3 Cấu trúc luận văn Chương MÁY HỮU HẠN TRẠNG THÁI (FSM) 2.1 Định nghĩa FSM 2.2 Biểu diễn FSM 2.2.1 Biểu diễn kiểu liệt kê 2.2.2 Biểu diễn đồ thị .5 Hình 2.1: Minh họa việc biểu diễn FSM đồ thị 2.2.3 Biểu diễn dạng bảng Bảng 2.1: Minh họa việc biểu diễn FSM dạng bảng 2.3 Một số tính chất FSM .6 2.3.1 Được đặc tả đầy đủ (Completely specified) Hình 2.2: Ví dụ FSM M1 đặc tả đầy đủ .7 Hình 2.3: Ví dụ FSM M2 không đặc tả không đầy đủ 2.3.2 Đơn định (Deterministic) .8 Hình 2.4: Ví dụ FSM M3 có tính chất đơn định Hình 2.5: Ví dụ FSM M4 có tính chất không đơn định 2.3.3 Liên thông mạnh (Strongly connected) Hình 2.6: Ví dụ FSM M5 có tính liên thông mạnh Hình 2.7: Ví dụ FSM M6 có tính liên thông yếu 10 2.3.4 Tối giản (Reduced) .10 Hình 2.8: Ví dụ FSM M7 không tối giản 10 Hình 2.9: Ví dụ FSM M8 tối giản .11 Chương MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI 12 3.1 Chuỗi vào – (Unique Input - Output sequence) [5] 12 Hình 3.1: Đồ thị mô tả FSM G1 13 3.1.1 Một số khái niệm 13 3.1.2 Thuật toán sinh UIO .15 Hình 3.2: Cây UIO FSM G1 hình 3.1 .18 Hình 3.3: Xác định chuỗi UIO UIO Hình 3.2 19 Bảng 3.1: Chuỗi UIO FSM G1 .20 3.2 Chuỗi phân biệt (Distinguishing sequence) [5] .22 Hình 3.4: Đồ thị mô tả FSM G2 .22 3.2.1 Một số khái niệm 22 Bảng 3.2: Ví dụ khối trạng thái 23 3.2.2 Thuật toán sinh DS 24 Hình 3.5: Cây DS FSM G2 Hình 3.4 25 Bảng 3.3: Bảng chuỗi phân biệt trạng thái FSM G2 .26 3.3 Chuỗi đặc trưng (Characterizing sequence) [2] 26 3.3.1 Một số khái niệm 27 3.3.2 Phương pháp tìm W .27 Hình 3.6: Mô hình FSM G3 28 Bảng 3.4: Bảng mô tả FSM G3 28 Bảng 3.5: Bảng phân vùng tương đương mức FSM G3 29 Bảng 3.6: Bảng P1 phân vùng tương đương mức FSM G3 29 Bảng 3.7: Bảng P2 phân vùng tương đương mức FSM G3 .31 Bảng 3.8: Bảng P3 phân vùng tương đương mức FSM G3 31 Bảng 3.9: Bảng P4 phân vùng tương đương mức FSM G3 31 Chương KIỂM THỬ DỰA TRÊN MÔ HÌNH FSM 33 4.1 Mối quan hệ mô hai FSM 33 Hình 4.1: Mô hình FSM đặc tả hàm y = |x| 33 Hình 4.2: Mô hình FSM thể cài đặt hàm y = |x| .34 4.2 Kiểm thử dựa mô hình FSM 34 Hình 4.3: Mô hình khái niệm kiểm thử với việc kiểm chứng trạng thái [5] 36 4.3 Một số lỗi thường gặp cài đặt FSM 37 Bảng 4.1: Bảng tổng hợp lỗi cài đặt FSM MI .39 5.1 Độ bao phủ mô hình máy hữu hạn trạng thái 41 5.1.1 Độ bao phủ trạng thái (state coverage) .42 Hình 5.1: Mô hình máy hữu hạn trạng thái C1 .42 Hình 5.2: Một đường bao phủ tất trạng thái FSM C1 .43 5.1.2 Độ bao phủ chuyển trạng thái (transition coverage) 43 Hình 5.3: Cây kiểm thử FSM C1 45 5.2 Kỹ thuật sinh ca kiểm thử 46 5.2.1 Khuôn dạng ca kiểm thử 46 Bảng 5.1: Khuôn dạng ca kiểm thử 48 5.2.2 Phương pháp sinh ca kiểm thử 48 Bảng 5.2: Ca kiểm thử trạng thái ban đầu FSM MS 49 Bảng 5.3: Nhóm ca kiểm thử TC1 FSM MS .55 Bảng 5.4: Nhóm ca kiểm thử TC2- FSM MS .55 Bảng 5.5: Nhóm ca kiểm thử TCk- FSM MS 55 5.3 Ví dụ 56 Hình 5.4: Đồ thị biểu diễn FSM MS [5] 56 Hình 5.5: Mô hình máy hữu hạn trạng thái MI1 .57 Hình 5.6: Mô hình máy hữu hạn trạng thái MI2 .57 Hình 5.7: Mô hình máy hữu hạn trạng thái MI3 .58 Hình 5.8: Cây kiểm thử từ mô hình FSM MS 58 Bảng 5.6: Ca kiểm thử FSM MS 60 Bảng 5.7: Kết kiểm thử FSM MI1 61 Bảng 5.8: Kết kiểm thử FSM MI2 61 Bảng 5.9: Kết kiểm thử FSM MI3 62 Chương KẾT LUẬN 64 TÀI LIỆU THAM KHẢO 65 DANH SÁCH HÌNH VẼ DANH SÁCH BẢNG DANH SÁCH HÌNH VẼ .8 DANH MỤC CÁC CHỮ VIẾT TẮT 11 1.1 Đặt vấn đề .1 1.2 Nội dung nghiên cứu .1 1.3 Cấu trúc luận văn Chương MÁY HỮU HẠN TRẠNG THÁI (FSM) 2.1 Định nghĩa FSM 2.2 Biểu diễn FSM 2.2.1 Biểu diễn kiểu liệt kê 2.2.2 Biểu diễn đồ thị .5 Hình 2.1: Minh họa việc biểu diễn FSM đồ thị 2.2.3 Biểu diễn dạng bảng Bảng 2.1: Minh họa việc biểu diễn FSM dạng bảng 2.3 Một số tính chất FSM .6 2.3.1 Được đặc tả đầy đủ (Completely specified) Hình 2.2: Ví dụ FSM M1 đặc tả đầy đủ .7 Hình 2.3: Ví dụ FSM M2 không đặc tả không đầy đủ 2.3.2 Đơn định (Deterministic) .8 Hình 2.4: Ví dụ FSM M3 có tính chất đơn định Hình 2.5: Ví dụ FSM M4 có tính chất không đơn định 2.3.3 Liên thông mạnh (Strongly connected) Hình 2.6: Ví dụ FSM M5 có tính liên thông mạnh Hình 2.7: Ví dụ FSM M6 có tính liên thông yếu 10 2.3.4 Tối giản (Reduced) .10 Hình 2.8: Ví dụ FSM M7 không tối giản 10 Hình 2.9: Ví dụ FSM M8 tối giản .11 Chương MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI 12 3.1 Chuỗi vào – (Unique Input - Output sequence) [5] 12 Hình 3.1: Đồ thị mô tả FSM G1 13 3.1.1 Một số khái niệm 13 3.1.2 Thuật toán sinh UIO .15 Hình 3.2: Cây UIO FSM G1 hình 3.1 .18 Hình 3.3: Xác định chuỗi UIO UIO Hình 3.2 19 Bảng 3.1: Chuỗi UIO FSM G1 .20 3.2 Chuỗi phân biệt (Distinguishing sequence) [5] .22 Hình 3.4: Đồ thị mô tả FSM G2 .22 3.2.1 Một số khái niệm 22 Bảng 3.2: Ví dụ khối trạng thái 23 3.2.2 Thuật toán sinh DS 24 Hình 3.5: Cây DS FSM G2 Hình 3.4 25 Bảng 3.3: Bảng chuỗi phân biệt trạng thái FSM G2 .26 3.3 Chuỗi đặc trưng (Characterizing sequence) [2] 26 3.3.1 Một số khái niệm 27 3.3.2 Phương pháp tìm W .27 Hình 3.6: Mô hình FSM G3 28 Bảng 3.4: Bảng mô tả FSM G3 28 Bảng 3.5: Bảng phân vùng tương đương mức FSM G3 29 Bảng 3.6: Bảng P1 phân vùng tương đương mức FSM G3 29 Bảng 3.7: Bảng P2 phân vùng tương đương mức FSM G3 .31 Bảng 3.8: Bảng P3 phân vùng tương đương mức FSM G3 31 Bảng 3.9: Bảng P4 phân vùng tương đương mức FSM G3 31 Chương KIỂM THỬ DỰA TRÊN MÔ HÌNH FSM 33 4.1 Mối quan hệ mô hai FSM 33 Hình 4.1: Mô hình FSM đặc tả hàm y = |x| 33 Hình 4.2: Mô hình FSM thể cài đặt hàm y = |x| .34 4.2 Kiểm thử dựa mô hình FSM 34 Hình 4.3: Mô hình khái niệm kiểm thử với việc kiểm chứng trạng thái [5] 36 4.3 Một số lỗi thường gặp cài đặt FSM 37 Bảng 4.1: Bảng tổng hợp lỗi cài đặt FSM MI .39 5.1 Độ bao phủ mô hình máy hữu hạn trạng thái 41 5.1.1 Độ bao phủ trạng thái (state coverage) .42 Hình 5.1: Mô hình máy hữu hạn trạng thái C1 .42 Hình 5.2: Một đường bao phủ tất trạng thái FSM C1 .43 5.1.2 Độ bao phủ chuyển trạng thái (transition coverage) 43 Hình 5.3: Cây kiểm thử FSM C1 45 5.2 Kỹ thuật sinh ca kiểm thử 46 5.2.1 Khuôn dạng ca kiểm thử 46 Bảng 5.1: Khuôn dạng ca kiểm thử 48 5.2.2 Phương pháp sinh ca kiểm thử 48 Bảng 5.2: Ca kiểm thử trạng thái ban đầu FSM MS 49 Bảng 5.3: Nhóm ca kiểm thử TC1 FSM MS .55 Bảng 5.4: Nhóm ca kiểm thử TC2- FSM MS .55 Bảng 5.5: Nhóm ca kiểm thử TCk- FSM MS 55 5.3 Ví dụ 56 Hình 5.4: Đồ thị biểu diễn FSM MS [5] 56 Hình 5.5: Mô hình máy hữu hạn trạng thái MI1 .57 Hình 5.6: Mô hình máy hữu hạn trạng thái MI2 .57 Hình 5.7: Mô hình máy hữu hạn trạng thái MI3 .58 Hình 5.8: Cây kiểm thử từ mô hình FSM MS 58 Bảng 5.6: Ca kiểm thử FSM MS 60 Bảng 5.7: Kết kiểm thử FSM MI1 61 Bảng 5.8: Kết kiểm thử FSM MI2 61 Bảng 5.9: Kết kiểm thử FSM MI3 62 Chương KẾT LUẬN 64 TÀI LIỆU THAM KHẢO 65 51 ii Bộ ca kiểm thử chuyển trạng thái FSM Nhận xét:  Với input ta có chuyển trạng thái, với dãy input ta có dãy chuyển trạng thái tương ứng  Mỗi chuyển trạng thái FSM tương ứng với chuyển nút mức thứ i sang nút mức thứ i +1  Đường từ nút gốc tới có nút mức cao bao phủ đường từ nút gốc tới nút có mức thấp Ví dụ: Từ kiểm thử FSM C1 Hình 5.2, q3 mức q4 mức nút trong, đường từ q1 tới q3 (q3 mức kiểm thử) q1→ q4 → q3, đường từ q1 tới q4 (q4 mức kiểm thử) q1 → q4 Như đường từ q1 → q4 → q3 bao phủ đường từ q1 → q4 Do để kiểm thử chuyển trạng thái từ trạng thái ban đầu (tương ứng với nút gốc kiểm thử) đến trạng thái si (tương ứng với nút mức thứ k +1 kiểm thử) ta không cần phải kiểm chứng tất trạng thái sau chuyển trạng thái mà cần kiểm chứng trạng thái s i trạng thái trước kiểm chứng mức trước Với trường hợp chuyển trạng thái q1→ q4 → q3 ta cần kiểm chứng trạng thái q3 trạng thái q4 ứng với chuyển trạng thái q1→ q4 kiểm chứng mức Theo đề xuất định dạng phần tử tập P sau: i 1/o1.i2/o2… ii/oi… in/on.qj, giả sử y1 chuỗi kiểm chứng trạng thái trạng thái qj, ta dễ dàng xác định thông tin ca kiểm thử:  Thông tin đầu vào (Input) là: i1.i2…ii…in.y1  Thông tin đầu mong đợi (Expected Output) là: o1.o2…oi…on λ(qj, y1) Trong đó: o i1.i2…ii…in chuỗi input dẫn tới trạng thái q j, điều có nghĩa để tới trạng thái qj phải qua mức 1, 2,…, i,…, n kiểm thử 52 o Ứng với chuỗi input i 1.i2…ii…in cho chuỗi output o1.o2…oi…on tương ứng o y1 chuỗi input để kiểm chứng trạng thái q 1, trạng thái q j cho output λ(qj,y1) Ứng với phần tử tập P ca kiểm thử ứng với chuyển dịch từ mức tới mức ta nhóm ca kiểm thử, cụ thể:  Nhóm ca kiểm thử TC1-: Là ca kiểm thử dùng để kiểm thử chuyển trạng thái từ trạng thái ban đầu tới trạng thái sau đó, điều tương ứng với việc chuyển từ nút gốc (mức 1) tới nút liền kề (mức 2) kiểm thử Để thực ca kiểm thử nhóm tất ca kiểm thử nhóm TC0- phải thực lỗi (Passed) Điều tương ứng với tiền điều kiện (Pre-Con) nhóm ca kiểm thử TC1- Passed TC0- Ta quy ước: o t số nút mức kiểm thử, o i11/o11 input/output chuyển trạng thái từ trạng thái ban đầu tới trạng thái s11’ - tương ứng với chuyển từ nút gốc (mức 1) tới nút mức kiểm thử, o i12/o12 input/output chuyển trạng thái từ trạng thái ban đầu tới trạng thái s12’ - tương ứng với chuyển trạng thái từ nút gốc tới nút thứ mức kiểm thử, o Tổng quát, i1j/o1j input/output chuyển trạng thái từ trạng thái ban đầu tới trạng thái s1j’ - tương ứng với chuyển từ nút gốc tới nút thứ j mức kiểm thử (với j = ) Nhóm ca kiểm thử mô tả Bảng 5.3 bên  Nhóm ca kiểm thử TC2-: ca kiểm thử dùng để kiểm thử chuyển trạng thái tương ứng với việc chuyển tử nút gốc (mức 1) tới nút thuộc mức kiểm thử 53 Để thực ca kiểm thử nhóm tất ca kiểm thử nhóm TC1- phải thực lỗi Điều tương ứng với tiền điều kiện nhóm ca kiểm thử TC2- Passed TC1- Ta quy ước: o v số nút mức kiểm thử, o i1j/o1j i21/o21 input/output chuyển trạng thái từ trạng thái ban đầu qua trạng thái s1j’ tới trạng thái s21’ - tương ứng với chuyển từ nút gốc (mức 1) qua nút thứ j mức tới nút mức kiểm thử (với j {1, 2, , t}), o i1j/o1j i22/o22 input/output chuyển trạng thái từ trạng thái ban đầu qua trạng thái s1j’ tới trạng thái s22’ - tương ứng với chuyển từ nút gốc qua nút thứ j mức tới nút thứ mức kiểm thử, o Tổng quát, i1j/o1j.i2e/o2e input/output chuyển trạng thái từ trạng thái ban đầu qua trạng thái s 1j’ tới trạng thái thứ e mức kiểm thử - tương ứng với chuyển từ nút gốc qua nút thứ j mức tới nút thứ e mức kiểm thử (với j 2, , t}; e = {1, ) Nhóm ca kiểm thử mô tả Bảng 5.4 bên  Tiếp tục xây dựng nhóm ca kiểm thử TCk-: ca kiểm thử dùng để kiểm thử chuyển trạng thái tương ứng với việc chuyển từ nút gốc (mức 1) tới nút mức k kiểm thử Ta quy ước: o z số nút mức k kiểm thử, o i1j/o1j i2e/o2e…ik1/ok1 input/output chuyển trạng thái từ trạng thái ban đầu qua trạng thái s 1j’ tới trạng thái s2e’… cuối tới trạng thái sk1 - tương ứng với chuyển từ nút gốc (mức 1) qua nút thứ j mức tới nút thứ e mức 3, …, cuối tới nút đầu 54 tiên mức k kiểm thử (với j {1, 2, , t}; e {1, 2, , v}), o i1j/o1j.i2e/o2e.ik2/ok2 input/output chuyển trạng thái từ trạng thái ban đầu qua trạng thái s1j’ tới trạng thái s22’… cuối tới trạng thái sk2 - tương ứng với chuyển từ nút gốc qua nút thứ j mức tới nút thứ e mức 3… cuối tới nút thứ mức k kiểm thử (với j {1, 2, , t}; e {1, 2, , v}), o Tổng quát, i1j/o1j.i2e/o2e.ikf/okf input/output chuyển trạng thái từ trạng thái ban đầu qua trạng thái s 1j’ tới trạng thái s2e’… cuối tới trạng thái skf - tương ứng với chuyển từ nút gốc qua nút thứ j mức tới nút thứ e mức 3… cuối tới nút thứ f mức k kiểm thử (với j {1, 2, , t}; e {1, 2, , v}; f = ) Nhóm ca kiểm thử mô tả Bảng 5.5 bên 55 Bảng 5.3: Nhóm ca kiểm thử TC1 FSM MS TC_ID Pre-Con Input Expected Output Post-Con TC1-j1 Passed TC0- i1jx1 o1j.λ1(s1j’,x1) s01 … … … … … TC1-ji Passed TC0- i1jxi o1j.λ1(s1j’,xi) s01 … … … … … TC1-jn Passed TC0- i1jxn o1j.λ1(s1j’,xn) s01 Bảng 5.4: Nhóm ca kiểm thử TC2- FSM MS TC_ID Pre-Con Input Expected Output Post-Con TC2-e1 Passed TC1- i1j.i2e.x1 o1j.o2e.λ1(s2j’,x1) s01 … … … … … TC2-ei Passed TC1- i1j.i2e.xi o1j.o2e.λ1(s2j’,xi) s01 … … … … … TC2-en Passed TC1- i1j.i2e.xn o1j.o2e.λ1(s2j’,xn) s01 Bảng 5.5: Nhóm ca kiểm thử TCk- FSM MS TC_ID Pre-Con Input Expected Output Post-Con TCk-f1 Passed TC(k-1)- i1j.i2e…ikf.x1 o1j.o2e…okf.λ1(skf’,x1) s01 … … … … … o1j.o2e…okf.λ1(skf’,xi) s01 … … o1j.o2e…okf.λ1(skf’,xn) s01 TCk-fi … TCk-fn Passed TC(k-1)- i1j.i2e…ikf.xi … … Passed TC(k-1)- i1.i2…ikf.xn 56 Nhận xét: Mỗi phần tử tập dãy chuyển trạng thái P ca kiểm thử Tuy nhiên trạng thái cuối dãy chuyển trạng thái ta phải kiểm chứng trạng thái cuối nên số ca kiểm thử dùng để kiểm thử chuyển trạng thái FSM |P| * |X| 5.3 Ví dụ Cho FSM MS biểu diễn đồ thị sau: Hình 5.4: Đồ thị biểu diễn FSM MS [5] Và FSM MI1 cài đặt 1của FSM MS, giả sử cài đặt sau: 57 Hình 5.5: Mô hình máy hữu hạn trạng thái MI1 FSM MI2 cài đặt FSM MS, giả sử cài đặt sau: Hình 5.6: Mô hình máy hữu hạn trạng thái MI2 FSM MI3 cài đặt FSM MS, giả sử cài đặt sau: 58 Hình 5.7: Mô hình máy hữu hạn trạng thái MI3 Hãy xác định xem: a) MI1 có mô MS không? b) MI2 có mô MS không? c) MI3 có mô MS không? Để trả lời câu hỏi trên, trước tiên ta sử dụng phương pháp trình bày mục 5.2.2 để sinh ca kiểm thử cho FSM MS Xây dựng kiểm thử tìm tập bao phủ chuyển trạng thái  Xây dựng kiểm thử từ mô hình máy hữu hạn trạng thái MS: Hình 5.8: Cây kiểm thử từ mô hình FSM MS  Tìm tập bao phủ chuyển trạng thái từ kiểm thử: Sau xây dựng kiểm thử, bước ta tiến hành tìm tập bao phủ chuyển trạng thái từ kiểm thử P = {0/0.B, 1/0.D, 0/0.0/0.A, 0/0.1/1.B, 1/0.0/1.D, 1/0.1/0.C, 1/0.1/0.0/1.D, 1/0.1/0.1/1.A} 59 Xác định chuỗi kiểm chứng trạng thái Áp dụng phương pháp trình bày Chương để tìm chuỗi kiểm chứng trạng thái Mô hình máy hữu hạn trạng thái MS có chuỗi kiểm chứng trạng thái 11 (áp dụng phương pháp DS) 60 Sinh ca kiểm thử TestCase_ID Pre-Con TC0-1 Input Expected Output Post-Con 11 00 A TC1-11 Passed TC0- 011 011 A TC1-21 Passed TC0- 111 001 A TC2-11 Passed TC1- 0011 0000 A TC2-21 Passed TC1- 0111 0111 A TC2-31 Passed TC1- 1011 0101 A TC2-41 Passed TC1- 1111 0010 A TC3-11 Passed TC2- 11011 00101 A TC3-21 Passed TC2- 10111 00100 A Ca kiểm thử FSM MS thể Bảng 5.7 Bảng 5.6: Ca kiểm thử FSM MS Kiểm thử a) Đối với mô hình cài đặt FSM M I1, ta có kết kiểm thử Bảng 5.8 đây: 61 TestCase_ID TC0-1 Pre-Con Input 11 Expected Actual Output 00 Output 00 Post-Con A TC1-11 Passed TC0- 011 011 011 A TC1-21 Passed TC0- 111 001 001 A TC2-11 Passed TC1- 0011 0000 0000 A TC2-21 Passed TC1- 0111 0111 0111 A TC2-31 Passed TC1- 1011 0101 0101 A TC2-41 Passed TC1- 1111 0010 0010 A TC3-11 Passed TC2- 11011 00101 00101 A TC3-21 Passed TC2- 10111 00100 00100 A Bảng 5.7: Kết kiểm thử FSM MI1 Nhận xét: Theo kết kiểm thử Actual Output giống Expected Output ca kiểm thử tương ứng nên FSM MI1 mô FSM MS b) Đối với mô hình cài đặt FSM MI2, ta có kết kiểm thử Bảng 5.9 đây: Bảng 5.8: Kết kiểm thử FSM MI2 62 TestCase_ID Pre-Con TC0-1 Input 11 Expected Actual Output 00 Output 00 Post-Con A TC1-11 Passed TC0- 011 011 N/A A TC1-21 Passed TC0- 111 001 001 A TC2-11 Passed TC1- 0011 0000 0000 A TC2-21 Passed TC1- 0111 0111 0111 A TC2-31 Passed TC1- 1011 0101 0101 A TC2-41 Passed TC1- 1111 0010 0010 A TC3_11 Passed TC2- 11011 00101 00101 A TC3_21 Passed TC2- 10111 00100 00100 A Nhận xét: TC1-11có Actual Output N/A tức FSM MI2 không chấp nhận chuỗi input 011 nên không tồn chuỗi chuyển trạng thái với input 011 cho output 011 Do đó, MI2 không mô MS c) Đối với mô hình cài đặt FSM MI3, ta có kết kiểm thử Bảng 5.10 đây: Bảng 5.9: Kết kiểm thử FSM MI3 63 TestCase_ID Pre-Con TC0-1 Input 11 Expected Actual Post- Output 00 Output 00 Con A TC1-11 Passed TC0- 011 011 011 A TC1-21 Passed TC0- 111 001 001 A TC2-11 Passed TC1- 0011 0000 0000 A TC2-21 Passed TC1- 0111 0111 0111 A TC2-31 Passed TC1- 1011 0101 TC2-41 Passed TC1- 1111 0010 0101 1101 0010 TC3_11 Passed TC2- 11011 00101 00101 A TC3_21 Passed TC2- 10111 00100 00100 A A A Nhận xét: TC2-31có Actual Output 0101 1101 tức FSM MI3 có tồn chuỗi chuyển trạng thái với input 1011 output 1101 MS nên MI3 không mô MS 64 Chương KẾT LUẬN Kiểm thử phần mềm, nội dung nghiên cứu triển khai từ sớm mẻ giới, vấn đề cấp thiết cho việc nâng cao chất lượng phần mềm Trong luận văn này, tác giả trình bày tổng quan mô hình máy hữu hạn trạng thái sâu nghiên cứu phương pháp xác định chuỗi kiểm chứng trạng thái như: xác định Unique Input – Output sequence, Distingguishing sequence, Characterizing sequence 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á cài đặt đắn hệ thống so với đặc tả Luận văn sâu nghiên cứu độ bao phủ mô hình máy hữu hạn trạng thái, từ đưa phương pháp sinh ca kiểm thử để kiểm thử xem hệ thống cài đặt có mô đặc tả phần mềm dựa mô hình máy hữu hạn trạng thái hay không 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 Đồng thời, tác giả 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 65 TÀI LIỆU THAM KHẢO Tiếng việt Ngô Thùy Linh (2010), Nghiên cứu kiểm thử bao phủ phần mềm ứng dụng, 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.43-53 Tiếng anh Aditya P Mathur (2008), Foundations of Software Testing, Dorling Kindersley (India) Pvt Ltd., pp.221-234 Boris Beizer (1990), Software Testing Techniques, Second Edition, Van Nostrand Reinhold Jeff Tian (2005), Software Quality Engineering, John Wiley & Sons, Inc Kshirasagar Naik, Priyadarshi Tripathy (2008), Software Testing and Quality Assurance, John Wiley & Sons, Inc., pp.265-318 K Derderian, R M Hirons, M Harman, Q Guo (2006), “Automated Unique Input Output sequence generation for conformance testing of FSMs”, The Computer Journal, 00, Ngozi I Ihemelandu, Carl J Mueller (2011), “The Intractability of Finite State Machine Test Sequences”, Computer Science Technical Reports, (TXSTATE-CS-TR-2011-26), pp.6-12 Timothy Kam (1997), Synthesis of Finite State Machine, Kluwer Acad Publ., pp.200 www.cs.odu.edu~toidanerzic390techedregularfafa-applications.html [...]... Máy hữu hạn trạng thái (FSM) Chương này trình bày về mô hình FSM và cách biểu diễn một FSM theo kiểu liệt kê, đồ thị hoặc dạng bảng 2 Ngoài ra, trong chương này cũng trình bày một số tính chất của một máy hữu hạn trạng thái Chương 3: Một số phương pháp xác định chuỗi kiểm chứng trạng thái Chương này trình bày một số phương pháp xác định chuỗi kiểm chứng trạng thái của mô hình FSM như: chuỗi vào –... đương Kết hợp hai trạng thái B và C thành một trạng thái ta được FSM M8 (Hình 2.9) là một FSM được tối giản Các thuật toán trình bày trong luận văn chỉ áp dụng với FSM có tính chất đã nêu trên Các phương pháp tìm chuỗi input y – chuỗi phân biệt các trạng thái của FSM sẽ được trình bày ở Chương 3 12 Chương 3 MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI Chuỗi kiểm chứng trạng thái (state verification... văn tập trung nghiên cứu một số phương pháp xác định chuỗi kiểm chứng trạng thái như: chuỗi vào – ra duy nhất (UIO), chuỗi phân biệt (DS), chuỗi đặc trưng (W), phương pháp kiểm thử hệ thống dựa trên mô hình máy hữu hạn trạng thái để từ đó nghiên cứu, tìm ra phương pháp sinh ca kiểm thử để kiểm thử xem mô hình cài đặt có mô phỏng bản đặc tả phần mềm theo mô hình máy hữu hạn trạng thái hay không 1.3 Cấu... 1 • Một khối trạng thái có thể chứa 1 multiset, phần tử của nó là tất cả các trạng thái của FSM M Bảng 3.2 bên dưới là một ví dụ về khối trạng thái: Bảng 3.2: Ví dụ khối trạng thái Khối trạng thái B1 {(A B C D)} Khối trạng thái B2 Khối trạng thái B3 {(A B), (C D)} {(A), (B), (C), (D)} Với Với khối trạng thái B1 thì có một multiset là (A B C D) - là tất cả các trạng thái của FSM Với khối trạng thái. .. hiện tại B có tồn tại một khối trạng thái B Trong khi xây dựng một cây DS, nếu một trong 3 điều kiện cắt tỉa trên thỏa mãn thì khối trạng thái B là khối trạng thái kết thúc Một máy hữu hạn trạng thái M tồn tại chuỗi phân biệt nếu và chỉ nếu tồn tại một chuỗi trạng thái đơn nhất trong cây DS Chuỗi đầu vào từ khối trạng thái ban đầu tới khối trạng thái đơn nhất là một chuỗi DS của FSM M 3.2.2 Thuật toán... dụng một vài điều kiện cắt tỉa:  D1: Một khối trạng thái B là khối trạng thái đồng nhất (homogeneous state block) nếu ít nhất một multiset Wi của B có các trạng thái được lặp lại  D2: Một khối trạng thái B là khối trạng thái đơn nhất (singleton state block) nếu tất cả các phần tử của B có đúng một trạng thái  D3: Trên đường dẫn từ khối trạng thái ban đầu tới khối trạng thái hiện tại B có tồn tại một. .. luôn tồn tại chuyển trạng thái tại mỗi trạng thái của FSM M2  Quan sát trên Hình 2.3: với input bất kỳ, không tồn tại chuyển trạng thái từ trạng thái * tới các trạng thái khác nên M2 là FSM không được đặc tả đầy đủ 8 2.3.2 Đơn định (Deterministic) Một FSM M có tính chất đơn định (Deterministic) nếu cho mỗi đầu vào a ∈ I có nhiều nhất một sự chuyển trạng thái xác định tại mỗi trạng thái của M Ngược lại,... sequence) là chuỗi mà có thể phân biệt trạng thái này với trạng thái khác của một FSM [5] Theo [5] thì có 3 loại chuỗi thường dùng để kiểm chứng trạng thái của FSM, đó là:    Chuỗi vào – ra duy nhất (Unique Input - Output sequence) Chuỗi phân biệt (Distinguishing sequence) Chuỗi đặc trưng (Characterizing sequence) Các phần tiếp theo sẽ trình bày chi tiết phương pháp để xác định 3 loại chuỗi này 3.1 Chuỗi. .. ký hiệu là PV, là một tập hợp các cặp trạng thái của một chuỗi chuyển trạng thái (s 1/s1’, , si/si’, , sk/sk’), với si là trạng thái đầu và sj là trạng thái cuối của một chuyển trạng thái  Vec-tơ ban đầu (Inital Vectơ), ký hiệu là IV, là một tập các trạng thái đầu của PV, có nghĩa là IV(PV) = (s1, , si, , sk)  Vec-tơ hiện thời (Current Vector), ký hiệu là CV, là một tập các trạng thái cuối của vec-tơ... thành Bảng 3.1 dưới đây: Bảng 3.1: Chuỗi UIO của FSM G1 Trạng thái A B C Chuỗi vào 010 010 1010 Chuỗi ra 000 001 0000 D 11010 00000 Ta kiểm chứng lại kết quả:  Kiểm chứng trạng thái A bằng chuỗi 010 λ(A,010) = λ(λ(λ(A,0),1),0) = 000 λ(B,010) = λ(λ(λ(B,0),1), 0) = 001 λ(C,010) = λ(λ(λ(C,0),1),0) = 101 λ(D,010) = λ(λ(λ(D,0),1) 0) = 100  Kiểm chứng trạng thái B bằng chuỗi 010 λ(B,010) = λ(λ(λ(B,0),1),0)

Ngày đăng: 17/05/2016, 23:42

Mục lục

  • DANH SÁCH BẢNG

  • DANH SÁCH HÌNH VẼ

  • DANH MỤC CÁC CHỮ VIẾT TẮT

    • 1.1. Đặt vấn đề

    • 1.2. Nội dung nghiên cứu

    • 1.3. Cấu trúc luận văn

    • Chương 2. MÁY HỮU HẠN TRẠNG THÁI (FSM)

      • 2.1. Định nghĩa FSM

      • 2.2. Biểu diễn FSM

        • 2.2.1. Biểu diễn kiểu liệt kê

        • 2.2.2. Biểu diễn bằng đồ thị

          • Hình 2.1: Minh họa việc biểu diễn FSM bằng đồ thị

          • 2.2.3. Biểu diễn bằng dạng bảng

            • Bảng 2.1: Minh họa việc biểu diễn FSM bằng dạng bảng

            • 2.3. Một số tính chất của FSM

              • 2.3.1. Được đặc tả đầy đủ (Completely specified)

                • Hình 2.2: Ví dụ về FSM M1 được đặc tả đầy đủ

                • Hình 2.3: Ví dụ về FSM M2 không được đặc tả không đầy đủ.

                • 2.3.2. Đơn định (Deterministic)

                  • Hình 2.4: Ví dụ về FSM M3 có tính chất đơn định.

                  • Hình 2.5: Ví dụ về FSM M4 có tính chất không đơn định.

                  • 2.3.3. Liên thông mạnh (Strongly connected)

                    • Hình 2.6: Ví dụ về FSM M5 có tính liên thông mạnh.

                    • Hình 2.7: Ví dụ về FSM M6 có tính liên thông yếu.

                    • 2.3.4. Tối giản (Reduced)

                      • Hình 2.8: Ví dụ về FSM M7 không được tối giản.

                      • Hình 2.9: Ví dụ về FSM M8 được tối giản.

                      • Chương 3. MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH CHUỖI KIỂM CHỨNG TRẠNG THÁI

                        • 3.1. Chuỗi vào – ra duy nhất (Unique Input - Output sequence) [5]

                          • Hình 3.1: Đồ thị mô tả FSM G1.

                          • 3.1.1. Một số khái niệm

                          • 3.1.2. Thuật toán sinh cây UIO

                            • Hình 3.2: Cây UIO của FSM G1 ở hình 3.1

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

Tài liệu liên quan