Tài liệu Báo cáo " 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 " doc

12 518 0
Tài liệu Báo cáo " 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 " doc

Đ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

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áihì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  [...]... 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ó phỏng bản đặc tả phần mềm dựa trên 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, tác giả sẽ xây dựng một chƣơng trình sinh. .. trạng thái và đi sâu nghiên cứu về 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 cũng trình bày phƣơng pháp kiểm thử dựa trên hình máy hữu hạn trạng thái và dùng khái niệm phỏng nhƣ là một tiêu chí để đánh giá 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ề... quả kiểm thử trên thì mọi Actual result đều giống nhƣ Expected Output tại ca kiểm thử tƣơng ứng nên FSM MI1 phỏng FSM MS VI CHƢƠNG 6 KẾT LUẬN Kiểm thử phần mềm, một nội dung nghiên cứu đƣợc triển khai từ rất sớm và không phải là mới mẻ đối với thế giới, nhƣng luôn là 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 về hình máy hữu hạn trạng. .. 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, tác giả sẽ xây dựng một chƣơng trình sinh ca kiểm thử tự động dựa trên phƣơng pháp đã đƣợc cải tiến References Tiếng việt 1 Ngô Thùy Linh (2010), Nghiên cứu kiểm thử bao phủ phần mềm và ứ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 2 Aditya P Mathur... FSMs”, The Computer Journal, 00, 0 7 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 8 Timothy Kam (1997), Synthesis of Finite State Machine, Kluwer Acad Publ., pp.200 9 www.cs.odu.edu~toidanerzic390techedregularfafa-applications.html ...Bảng 5.6: Kết quả kiểm thử của FSM MI1 TC_ID Pre-Con Input Expected Output Actual result TC0-1 Post-Con N/A 11 00 00 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 . cho mô 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 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ử. 5: Kỹ thuật sinh ca kiểm thử. Ngoài vi bao ph ca mô 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

Ngày đăng: 25/02/2014, 16:20

Hình ảnh liên quan

Hình 3.2: Cây UIO của FSM G1 ở Hình 3.1.  - Tài liệu Báo cáo " 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 " doc

Hình 3.2.

Cây UIO của FSM G1 ở Hình 3.1. Xem tại trang 4 của tài liệu.
Hình 3.2: Đồ thị mô tả FSM G2. - Tài liệu Báo cáo " 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 " doc

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: - Tài liệu Báo cáo " 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 " doc

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.
Hình 3.3: Cây DS của FSM G2 ở Hình 3.2 - Tài liệu Báo cáo " 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 " doc

Hình 3.3.

Cây DS của FSM G2 ở Hình 3.2 Xem tại trang 6 của tài liệu.
phỏng MS hay không. Ý tƣởng của phƣơng pháp đƣợc thể hiện trong mơ hình 4.3 dƣới đây - Tài liệu Báo cáo " 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 " doc

ph.

ỏng MS hay không. Ý tƣởng của phƣơng pháp đƣợc thể hiện trong mơ hình 4.3 dƣới đây Xem tại trang 7 của tài liệu.
B. 4.2. Kiểm thử dựa trên mơ hình FSM - Tài liệu Báo cáo " 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 " doc

4.2..

Kiểm thử dựa trên mơ hình FSM Xem tại trang 7 của tài liệu.
Ca kiểm thử tốt là ca kiểm thử có thể bao phủ tồ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 - Tài liệu Báo cáo " 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 " doc

a.

kiểm thử tốt là ca kiểm thử có thể bao phủ tồ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 - Tài liệu Báo cáo " 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 " doc

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 MI1  - Tài liệu Báo cáo " 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 " doc

Hình 5.6.

Mơ hình máy hữu hạn trạng thái MI1 Xem tại trang 10 của tài liệu.
Trong luận văn này, tác giả đã trình bày tổng quan về mơ hình máy hữu hạn trạng thái và đi sâu nghiên cứu về phƣơng pháp xác định chuỗi kiểm chứng trạng thái nhƣ: xác định Unique Input – Output  - Tài liệu Báo cáo " 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 " doc

rong.

luận văn này, tác giả đã trình bày tổng quan về mơ hình máy hữu hạn trạng thái và đi sâu nghiên cứu về phƣơng pháp xác định chuỗi kiểm chứng trạng thái nhƣ: xác định Unique Input – Output 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