Research the method to generate test case from finite state machine model NXB H. : ĐHCN, 2012 Số trang 58 tr. +
Nghiên cu k thut sinh ca kim th t mô hình máy hu hn trng thái Research the method to generate test case from finite state machine model trang 58 tr. + Thùy Linh i hc Công ngh Lu: Công ngh phn mm; Mã s: 60 48 10 Cán b ng dn khoa hc: o v: 2012 Abstract. Trình bày v mô hình FSM và cách biu din mt FSM theo kiu li th hoc dng bng. Ngoài ra, trình bày mt s tính cht ca mt máy hu hn trng thái. Nghiên cu mt s nh chui kim chng trng thái ci vào ra duy nht (UIO), chui phân bit (DS), chuu mi quan h mô phng ca hai FSM và kim th s mô phng ca hai FSM và tng hp các lng gt FSM. bao ph ca mô hình máy hu hn trng thái và la ch bao ph tt nh làm ti sinh ca kim thm th c th ng kt nhng kt qu ng phát trin nghiên cu tip theo. Keywords: Công ngh phn mm; Kim th phn mm; K thut sinh ca; Mô hình máy Content. I. C1. A. 1.1. Đặt vấn đề Hin nay có rt nhiu h thng có th c t t máy tr thng c truyn thông, h thu khin, h thy vic nghiên cu p cn chính th kim th các máy trng thái hu h khám phá các khía cnh ca hành vi ca chún m bo cha h thng. Tuy nhiên tính chính xác ca h tht so vc t nào, khi nào thì mt h thc gi là chp nhc thì hin nay các tài lit rt chung chung. Trong lui thiu khái nim mô phng ca hai máy hu hn tr p nhc ca h thm th da trên mô hình máy hu hn tr kim th s mô phng ca hai máy hu hn trng thái. B. 1.2. Nội dung nghiên cứu Lup trung nghiên cu mt s nh chui kim chng tr chui vào ra duy nht (UIO), chui phân bit (DS), chum th h thng da trên mô hình máy hu hn tr t m th kim th t có mô phng bc t phn mm theo mô hình máy hu hn trng thái hay không. C. 1.3. Cấu trúc luận văn Phn còn li ca lu Chương 2: Máy hữu hạn trạng thái (FSM). mô hình FSM và cách biu din mt FSM theo kiu li th hoc dng b mt s tính cht ca mt máy hu hn trng 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. mt s nh chui kim chng trng thái ci vào ra duy nht (UIO), chui phân bit (DS), chu Chương 4: Kiểm thử dựa trên mô hình FSM. Ngoài vic trình bày mi quan h mô phng ca hai FSM và kim th s mô phng cng hp các lng gp khi cài t FSM. Chương 5: Kỹ thuật sinh ca kiểm thử. Ngoài vi bao ph ca mô hình máy hu hn trng thái và la ch bao ph tt nh làm ti sinh ca kim th m th c th Chương 6: Kết luận tng kt nhng kt qu c ca lung phát trin nghiên cu tip theo. II. C2. MÁY THÁI (FSM) A. 2.1. Định nghĩa FSM Máy hu hn trng thái là mt b M = <S, I, O, s o s 0 là tr B. 2.2. Biểu diễn FSM 1) 2.2.1. Biểu diễn kiểu liệt kê Cho FSM M 1 = <S, I, O, s 0 0 1 , s 2 ., s n } 1 , i 2 , ., i n } i ,s j ) = s t ∀ i i ∈ I và s j , s t ∈ S i ,i k ) = o t i ∈ S; ∀ i k ∈ I; ∀o t ∈ O 2) 2.2.2. Biểu diễn bằng đồ thị Các FSM và các yu t c c biu din b . gm: (node) . Ví d v biu din b th ca FSM M 1 : Hình 2.1: Minh họa việc biểu diễn FSM M 1 bằng đồ thị 3) 2.2.3. Biểu diễn bằng dạng bảng Mt FSM có th biu din bng dng bng, b (N x N ô) C. 2.3. Một số tính chất của FSM Các thut toán trình bày trong lu áp dng vi FSM có tính ch chui input y chui phân bit các trng thái s c trình bày III. C3. PHÁP TÌM THÁI Chui kim chng trng thái (state verification sequence) là chui mà có th phân bit trng thái này vi trng thái khác ca mt FSM. Theo [5] có 3 loi chu kim chng trng thái c - Output sequence) sequence) Các phn tip theo s trình bày chi ti tìm 3 loi chui này. A. .1. Chuỗi vào – ra duy nhất (Unique Input - Output sequence) 1) 3.1.1. Một số khái niệm - i i M i , y) j j và ∀s j ∈ M. 2) 3.1.2. Thuật toán sinh cây UIO Input: Output: cây UIO. Phương pháp: Thc hic sau Bước 1: t ψ là mt tp các vec-ng da vec-u c gán là không kt thúc. Bước 2: Tìm mt phn t ∈ ψ Nu không tn ti phn t y thì thut toán kt thúc. Bước 3: i /b i ψ vi ∀a i /b i ∈ L. p nht cây UIO. Bước 4: N i /b i Bước 3 thu kin ct t mt nút kt thúc. Bước 5: Quay lc 2. Ví dụ: Cho FSM G1 như sau: Hình 3.1: Đồ thị mô tả FSM G1 Cây UIO ca FSM G 1 c xây d Hình 3.2: Cây UIO của FSM G1 ở Hình 3.1. T cây UIO cc chui UIO Bảng 3.1 Chuỗi UIO của FSM G 1 Trạng thái Chuỗi vào Chuỗi ra A 010 000 B 010 001 C 1010 0000 D 11010 00000 B. 3.2. Chuỗi phân biệt (Distinguishing sequence) 1) 3.2.1. Một số khái niệm Cho FSM M = <S, I, O, s 0 i j ∀s i , s j ∈ S và s i = s j . 2) 3.2.2. Thuật toán sinh cây DS Input : M = <S, I, O, s 0 Output: Cây DS. Phương pháp: Bước 1: ψ ψ Bước 2: ψ ∈ ψ Bước 3: Tính toán ψ’ và thêm ψ’ vào ψ ∀a ∈ Bước 4: Bước 3 ψ’ Bước 5: Bước 2 Hình 3.2: Đồ thị mô tả FSM G2. G 2 Hình 3.3: Cây DS của FSM G 2 ở Hình 3.2 Chui phân bit ca các trc kim chng ti bi. Bảng 3.3 Bảng chuỗi phân biệt của các trạng thái của FSM G 2 Trạng thái Chuỗi vào Chuỗi ra A 11 00 B 11 11 C 11 10 D 11 01 C. 3.3. Chuỗi đặc trưng (Characterizing sequence) 1) 3.3.1. Một số khái niệm trong FSM M - k là 1 , W 2 , ., W n . n i = 1 W i = Q i i và s j j i và s j 2) 3.3.2. Phương pháp tìm W Bước 1: Xây dng 1 chui cc k ca tp trng thái Q, gi s là P 1 , P 2 P m . Bước 2: c k theo th t c l tìm chui phân bit cho mi cp trng thái. IV. C4. TRÊN MÔ HÌNH FSM A. 4.1. Mối quan hệ mô phỏng của hai FSM ⊆ S 1 × S 2 là quan h mô phng t FSM M S = <S 1 , I, O, s 01 1 1 > thành FSM M I = <S 2 , I, O, s 02 2 2 > nu: 1. (s 01 , s 02 ) ∈ 2. (s 1 , s 2 ) ∈ {∀i ∀o ∀s 1 1 <i/oM S > s 1 [(s 2 <i/oM I >s 2 ∧ (s 1 2 ∈ N tn ti thì M I mô phng M S. t M I M S , hay nói cách khác M I mô phng M S . Tuy nhiên vic t M I có th có li dn M I không mô phng M S n tip theo s kim th kim th xem M I có mô phng M S hay không. B. 4.2. Kiểm thử dựa trên mô hình FSM Mt h thc t bi FSM M S t bng M I . Kim th xem h thng M I t c t M S hay không bng cách so sánh hành vi ca hai máy trng thái da trên s quan sát hành vi input/output ca M I gi là kim tra s phù hp hay s tìm li [6]. phù h chúng ta có th t lun M I hoc t M S ? Trong lu xut khái nim mô ph M I c t hay không. y, bài toán m th xem M I có mô phng M S hay không, nu M I không mô phng M S thì có lt. m th vi vic kim chng tr giúp tr li xem FSM M I có mô phng M S ng cc th hi 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 C. 4.3. Một số lỗi thường gặp khi kiểm thử sự mô phỏng của 2 FSM Khi có bc t FSM M S = < S 1 , I, O, s 01 1 1 > và h thng cài t FSM M I = < S 2 , I, O, s 02 2 , 2 > , mt câu ht ra là FSM M I có mô phng FSM M S hay không? Bng tng hp thông tin 4.1 sau là li gii này Bảng 4.1: Tổng hợp các trường hợp lỗi khi cài đặt M I ∃ 1 (s 01 , x) = 2 (s 02 , x) ∃ 1 (s 01 , x 2 (s 02 , x) ∃ 1 (s 1 2 (s 2 , a)] ∃ 1 (s 2 2 (s 2 ∃ 1 (s 2 , x) = 2 (s 2 Kt lun - T - - - No T F T - - No T F F T - No T F F F T Yes I không mô phng M S I có mô phng M S y qua bng tng hp 4.1 ta có th thy mt s lng gp khi kim th s mô phng ca hai 1. Ln output: Output ng vi transition t s 2 s 2 a M I không ging vi output ng vi transition s 1 s 1 a M S . 2. Ln trng thái: - Tru ca M I không mô phng tru ca M S - Trng thái tip theo ca mt chuyn trng thái ca M I không mô phng trng thái trng thái tip theo ng vi chuyn trng ca M S . V. C5. SINH CA TH A. 5.1. Độ bao phủ mô hình máy hữu hạn trạng thái kim th FSM M I thì cn thit k bao nhiêu ca kim th bic s ca kim th s bao ph bao ph tr bao ph chuyn trng thái (transition coverage). 1) 5.1.1. Độ bao phủ trạng thái (state coverage) bao ph trng thái ta la chn chui các chuyi trng thái sao cho mi trng thái t mt ln [5]. 2) 5.1.2. Độ bao phủ chuyển trạng thái (transition coverage) bao ph chuyn trng thái ta la chn chui các chuyn trng thái sao cho mi chuyn trt mt ln [5]. Bài toán này s i vit c các cnh ca m th ng sao cho mi cc qua ít nht mt ln. Vì mi cnh c th i mt s chuyn trng thái mà các trng thái là hu hn nên vi hoàn toàn có th thc hic. bao ph chuyn trng thái ta xây dng cây kim th t mô hình FSM. Cây kim th ca mt FSM là mt cây có gc là tru. T tru, nó cha ít nht m tru ti các trng thái còn li ca FSM [2]. ng cây kim th Bước 1: Gc ca cây kim th là tru. Bước 2: Gi s rng cây kim th c xây dn mc k, mc th k+1 s c xây d sau: Chn mt node n ti mc k. Nu n xut hin mc bt k t n k thì n là node lá và không xây dng thêm nhánh này. Nu n không phi là node lá thì tip tc xây dng nhánh này bng cách thêm mt nhánh t n ti node mi m nu d(n, x) = m. Gán nhãn ca nhánh này là x/y v Lp lc này vi tt c các nút mc k Tip theo ta tìm tp bao ph trng thái P t cây kim th. Tp bao ph trng thái P = {p 1 , p 2 n } là mt tp tt c các chui con p i th hing dn con bu t nút gc trong cây kim th, ni các nhãn theo các cnh cng dc mt chui thuc P. B. 5.3. Kỹ thuật sinh ca kiểm thử Ca kim th tt là ca kim th có th bao ph toàn b mô hình FSM. Do vy ta ch bao ph chuyn trng thái, n bao ph là 100% thì có th phát hic tt c các li v output và các li v trng thái. 1) 5.1.3. Khuôn dạng ca kiểm thử Thông ng khuôn dng ca mt ca kim th bao gm thông tin sau: Bảng 5.1: Khuôn dạng ca kiểm thử TC_ID Pre-Con Input Expected Output Post-Con TC_1 Thông tin tin u kin Thông tin Input Thông tin kt qu i Thông tin hu u kin C. 5.2. Phương pháp sinh ca kiểm thử T c t M S , ta sinh ca kim th kim th M I 1. Sinh cây kiểm thử và tìm tập bao phủ chuyển trạng thái Vm th p bao ph chuyn tr bày ti mc này ta có tp bao ph chuyn trng thái P. 2. Tìm chuỗi kiểm chứng trạng thái Áp dng m tìm chui kim chng. Gi s chui kim chc là x. 3. Sinh ca kiểm thử Vi mi phn t ca tp chuyn trng thái hay vi mng dn con trên cây kim th kt hp vi vic kim chng tri vi trng trng thái cui cùng cng dn con s sinh ra mt ca kim th. Ngoài ra, cn phi thit k thêm mt ca kim th kim th xem tru ca M I có mô phng tru ca M S kim th tru ca M I có mô phng M S hay không ta dùng chui kim ch kim th. Vì vu vào ca ca kim th này là chui kim chng, kt qu i là output sinh ra t FSM M S . D. 5.3. Ví dụ Cho FSM M S c biu din b th sau: Hình 5.5: Đồ thị biểu diễn FSM M S Và FSM M I1 là bt ca FSM M S , gi s Hình 5.6: Mô hình máy hữu hạn trạng thái M I1 m th kim th xem M I1 có mô phng M S hay không 1. Tìm chuỗi kiểm chứng Áp dng m trình bày tìm chui kim chng trng thái Mô hình máy hu hn trng thái M S có chui kim chng trng thái là 11 (áp d 2. Xây dựng cây kiểm thử Xây dng cây kim th cho mô hình máy hu hn trng thái M S Hình 5.7: Cây kiểm thử của mô hình máy hữu hạn trạng thái M S 3. Tìm tập bao phủ transition từ cây 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} Sinh ca kiểm thử và kiểm thử i vt FSM M I1 , ta có kt qu kim th