Nghiên cứu kỹ thuật sinh ca kiểm thử từ mô hình máy hữu hạn trạng thái

12 402 0
Nghiên cứu kỹ thuật sinh ca kiểm thử từ mô hình máy hữu hạn 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

Research the method to generate test case from finite state machine model NXB H. : ĐHCN, 2012 Số trang 58 tr. +

Nghiên cu k thut sinh ca kim th t hình máy hu hn trng thái Research the method to generate test case from finite state machine model  trang 58 tr. +  Thùy Linh i hc Công ngh Lu: Công ngh phn mm; Mã s: 60 48 10 Cán b ng dn khoa hc:  o v: 2012 Abstract. Trình bày v hình FSM và cách biu din mt FSM theo kiu li th hoc dng bng. Ngoài ra, 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. Nghiên cu mt s nh chui kim chng trng thái ci vào  ra duy nht (UIO), chui phân bit (DS), chuu mi quan h phng ca hai FSM và kim th s phng ca hai FSM và tng hp các lng gt FSM.  bao ph ca hình máy hu hn trng thái và la ch bao ph tt nh làm ti sinh ca kim thm th   c th  ng kt nhng kt qu ng phát trin nghiên cu tip theo. Keywords: Công ngh phn mm; Kim th phn mm; K thut sinh ca; hình máy Content. I. C1.   A. 1.1. Đặt vấn đề Hin nay có rt nhiu h thng có th c t t máy tr thng c truyn thông, h thu khin, h thy vic nghiên cu p cn chính th kim th các máy trng thái hu h khám phá các khía cnh ca hành vi ca chún m bo cha h thng. Tuy nhiên tính chính xác ca h tht so vc t  nào, khi nào thì mt h thc gi là chp nhc thì hin nay các tài lit rt chung chung. Trong lui thiu khái nim phng ca hai máy hu hn tr p nhc ca h thm th da trên hình máy hu hn tr kim th s phng ca hai máy hu hn trng thái. B. 1.2. Nội dung nghiên cứu Lup trung nghiên cu mt s nh chui kim chng tr chui vào  ra duy nht (UIO), chui phân bit (DS), chum th h thng da trên hình máy hu hn tr t m th  kim th t có phng bc t phn mm theo hình máy hu hn trng thái hay không. C. 1.3. Cấu trúc luận văn Phn còn li ca lu Chương 2: Máy hữu hạn trạng thái (FSM).  hình FSM và cách biu din mt FSM theo kiu li th hoc dng b 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.  mt s nh chui kim chng trng thái ci vào  ra duy nht (UIO), chui phân bit (DS), chu Chương 4: Kiểm thử dựa trên hình FSM. Ngoài vic trình bày mi quan h phng ca hai FSM và kim th s phng cng hp các lng gp khi cài t FSM. Chương 5: Kỹ thuật sinh ca kiểm thử. Ngoài vi bao ph ca hình máy hu hn trng thái và la ch bao ph tt nh làm ti sinh ca kim th m th   c th  Chương 6: Kết luận tng kt nhng kt qu c ca lung phát trin nghiên cu tip theo. II. C2. MÁY    THÁI (FSM) A. 2.1. Định nghĩa FSM Máy hu hn trng thái là mt 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 yu t c  c biu din b .       gm:                  (node)   .                                        Ví d v biu din b th ca 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 Mt FSM có th biu din bng dng bng, b        (N x N ô) C. 2.3. Một số tính chất của FSM         Các thut toán trình bày trong lu áp dng vi FSM có tính ch chui input y  chui phân bit các trng thái s c trình bày   III. C3.    PHÁP TÌM     THÁI Chui kim chng trng thái (state verification 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. Theo [5] có 3 loi chu kim chng trng thái c   - Output sequence)     sequence) Các phn tip theo s trình bày chi ti tìm 3 loi chui 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: Thc hic sau Bước 1: t ψ là mt tp các vec-ng da vec-u c gán là không kt thúc. Bước 2: Tìm mt phn t ∈ ψ  Nu không tn ti phn t y thì thut toán kt thúc. Bước 3:  i /b i ψ vi ∀a i /b i ∈ L. p nht cây UIO. Bước 4: N i /b i  Bước 3 thu kin ct t mt nút kt thúc. Bước 5: Quay lc 2. Ví dụ: Cho FSM G1 như sau: Hình 3.1: Đồ thị tả FSM G1 Cây UIO ca 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 cc chui 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ị tả FSM G2. G 2  Hình 3.3: Cây DS của FSM G 2 ở Hình 3.2 Chui phân bit ca các trc kim chng ti bi. 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 dng 1 chui cc k ca tp trng thái Q, gi s là P 1 , P 2  P m . Bước 2: c k theo th t c l tìm chui phân bit cho mi cp trng thái. IV. C4.    TRÊN HÌNH FSM A. 4.1. Mối quan hệ phỏng của hai FSM ⊆ S 1 × S 2 là quan h phng 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 > nu: 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 tn ti thì M I phng M S. t M I M S , hay nói cách khác M I phng M S . Tuy nhiên vic t M I có th có li dn M I không phng M S n tip theo s  kim th  kim th xem M I có phng M S hay không. B. 4.2. Kiểm thử dựa trên hình FSM Mt h thc t bi FSM M S t bng M I . Kim th xem h thng M I t c t M S hay không bng cách so sánh hành vi ca hai máy trng thái da trên s quan sát hành vi input/output ca M I gi là kim tra s phù hp hay s tìm li [6].   phù h   chúng ta có th t lun M I hoc t M S ? Trong lu xut khái nim ph M I c t hay không. y, bài toán  m th xem M I có phng M S hay không, nu M I không phng M S thì có lt. m th vi vic kim chng tr giúp tr li xem FSM M I có phng M S ng cc th hi Hình 4.3: 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ự phỏng của 2 FSM Khi có bc t FSM M S = < S 1 , I, O, s 01  1  1 > và h thng cài t FSM M I = < S 2 , I, O, s 02  2 ,  2 > , mt câu ht ra là FSM M I có phng FSM M S hay không? Bng tng hp thông tin 4.1 sau là li gii 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  Kt lun - T - - - No T F T - - No T F F T - No T F F F T Yes  I không phng M S  I có phng M S y qua bng tng hp 4.1 ta có th thy mt s lng gp khi kim th s phng ca hai  1. Ln output: Output ng vi transition t s 2 s 2 a M I không ging vi output ng vi transition s 1 s 1 a M S . 2. Ln trng thái: - Tru ca M I không phng tru ca M S - Trng thái tip theo ca mt chuyn trng thái ca M I không phng trng thái trng thái tip theo ng vi chuyn trng ca M S . V. C5.   SINH CA  TH A. 5.1. Độ bao phủ hình máy hữu hạn trạng thái  kim th FSM M I thì cn thit k bao nhiêu ca kim th  bic s ca kim th   s   bao ph  bao ph tr bao ph chuyn trng thái (transition coverage). 1) 5.1.1. Độ bao phủ trạng thái (state coverage)   bao ph trng thái ta la chn chui các chuyi trng thái sao cho mi trng thái t mt ln [5]. 2) 5.1.2. Độ bao phủ chuyển trạng thái (transition coverage)   bao ph chuyn trng thái ta la chn chui các chuyn trng thái sao cho mi chuyn trt mt ln [5]. Bài toán này s i vit c các cnh ca m th ng sao cho mi cc qua ít nht mt ln. Vì mi cnh c th i mt s chuyn trng thái mà các trng thái là hu hn nên vi hoàn toàn có th thc hic.   bao ph chuyn trng thái ta xây dng cây kim th t hình FSM. Cây kim th ca mt FSM là mt cây có gc là tru. T tru, nó cha ít nht m tru ti các trng thái còn li ca FSM [2]. ng cây kim th Bước 1: Gc ca cây kim th là tru. Bước 2: Gi s rng cây kim th c xây dn mc k, mc th k+1 s c xây d sau: Chn mt node n ti mc k. Nu n xut hin  mc bt k t n k thì n là node lá và không xây dng thêm nhánh này. Nu n không phi là node lá thì tip tc xây dng nhánh này bng cách thêm mt nhánh t n ti node mi m nu d(n, x) = m. Gán nhãn ca nhánh này là x/y v Lp lc này vi tt c các nút  mc k Tip theo ta tìm tp bao ph trng thái P t cây kim th. Tp bao ph trng thái P = {p 1 , p 2  n } là mt tp tt c các chui con p i th hing dn con bu t nút gc trong cây kim th, ni các nhãn theo các cnh cng dc mt chui thuc P. B. 5.3. Kỹ thuật sinh ca kiểm thử Ca kim th tt là ca kim th có th bao ph toàn b hình FSM. Do vy ta ch bao ph chuyn trng thái, n bao ph là 100% thì có th phát hic tt c các li v output và các li v trng thái. 1) 5.1.3. Khuôn dạng ca kiểm thử Thông ng khuôn dng ca mt ca kim th bao gm 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 tin u kin Thông tin Input Thông tin kt qu i Thông tin hu u kin C. 5.2. Phương pháp sinh ca kiểm thử T c t M S , ta sinh ca kim th  kim th M I  1. Sinh cây kiểm thử và tìm tập bao phủ chuyển trạng thái Vm th p bao ph chuyn tr bày ti mc này ta có tp bao ph chuyn trng thái P. 2. Tìm chuỗi kiểm chứng trạng thái Áp dng m tìm chui kim chng. Gi s chui kim chc là x. 3. Sinh ca kiểm thử Vi mi phn t ca tp chuyn trng thái hay vi mng dn con trên cây kim th kt hp vi vic kim chng tri vi trng trng thái cui cùng cng dn con s sinh ra mt ca kim th. Ngoài ra, cn phi thit k thêm mt ca kim th  kim th xem tru ca M I có phng tru ca M S  kim th tru ca M I có phng M S hay không ta dùng chui kim ch kim th. Vì vu vào ca ca kim th này là chui kim chng, kt qu i là output sinh ra t FSM M S . D. 5.3. Ví dụ Cho FSM M S c biu din b th sau: Hình 5.5: Đồ thị biểu diễn FSM M S Và FSM M I1 là bt ca FSM M S , gi s  Hình 5.6: hình máy hữu hạn trạng thái M I1 m th  kim th xem M I1 có phng M S hay không 1. Tìm chuỗi kiểm chứng Áp dng m trình bày   tìm chui kim chng trng thái hình máy hu hn trng thái M S có chui kim chng trng thái là 11 (áp d 2. Xây dựng cây kiểm thử Xây dng cây kim th cho hình máy hu hn trng thái M S Hình 5.7: Cây kiểm thử của 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ửkiểm thử i vt FSM M I1 , ta có kt qu kim th 

Ngày đăng: 24/09/2013, 08:17

Hình ảnh liên quan

Hình 3.1: Đồ thị mô tả FSM G1 - Nghiên cứu kỹ thuật sinh ca kiểm thử từ mô hình máy hữu hạn trạng thái

Hình 3.1.

Đồ thị mô tả FSM G1 Xem tại trang 4 của tài liệu.
Hình 3.2: Đồ thị mô tả FSM G2. - Nghiên cứu kỹ thuật sinh ca kiểm thử từ mô hình máy hữu hạn trạng thái

Hình 3.2.

Đồ thị mô tả FSM G2 Xem tại trang 5 của tài liệu.
Áp dụng thuật toán trên sinh cây DS cho FSM G2 nhƣ hình 3.3 dƣới đây: - Nghiên cứu kỹ thuật sinh ca kiểm thử từ mô hình máy hữu hạn trạng thái

p.

dụng thuật toán trên sinh cây DS cho FSM G2 nhƣ hình 3.3 dƣới đây: Xem tại trang 5 của tài liệu.
Ca kiểm thử tốt là ca kiểm thử có thể bao phủ toàn bộ mô hình FSM. Do vậy ta chọn độ bao phủ chuyển trạng thái, nếu độ bao phủ là 100% thì có thể phát hiện đƣợc tất cả các lỗi về output và các lỗi về trạng  thái - Nghiên cứu kỹ thuật sinh ca kiểm thử từ mô hình máy hữu hạn trạng thái

a.

kiểm thử tốt là ca kiểm thử có thể bao phủ toàn bộ mô hình FSM. Do vậy ta chọn độ bao phủ chuyển trạng thái, nếu độ bao phủ là 100% thì có thể phát hiện đƣợc tất cả các lỗi về output và các lỗi về trạng thái Xem tại trang 9 của tài liệu.
Hình 5.5: Đồ thị biểu diễn FSM MS - Nghiên cứu kỹ thuật sinh ca kiểm thử từ mô hình máy hữu hạn trạng thái

Hình 5.5.

Đồ thị biểu diễn FSM MS Xem tại trang 10 của tài liệu.
Hình 5.6: Mô hình máy hữu hạn trạng thái M I1  - Nghiên cứu kỹ thuật sinh ca kiểm thử từ mô hình máy hữu hạn trạng thái

Hình 5.6.

Mô hình máy hữu hạn trạng thái M I1 Xem tại trang 10 của tài liệu.
Bảng 5.6: Kết quả kiểm thử của FSM MI1 - Nghiên cứu kỹ thuật sinh ca kiểm thử từ mô hình máy hữu hạn trạng thái

Bảng 5.6.

Kết quả kiểm thử của FSM MI1 Xem tại trang 11 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan