Nghiên cứu ứng dụng công cụ satan để phân tích khả năng kiểm thử phần mềm cho các thiết kế trên môi trường simulink

26 695 0
Nghiên cứu ứng dụng công cụ satan để phân tích khả năng kiểm thử phần mềm cho các thiết kế trên môi trường simulink

Đ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

1 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGUYỄN PHONG NGHIÊN CỨU ỨNG DỤNG CÔNG CỤ SATAN ĐỂ PHÂN TÍCH KHẢ NĂNG KIỂM THỬ PHẦN MỀM CHO CÁC THIẾT KẾ TRÊN MÔI TRƯỜNG SIMULINK Chuyên ngành : KHOA HỌC MÁY TÍNH Mã số : 60.48.01 TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2012 Cơng trình hồn thành ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: TS NGUYỄN THANH BÌNH Phản biện 1: PGS.TS VÕ TRUNG HÙNG Phản biện 2: TS NGUYỄN MẬU HÂN Luận văn bảo vệ Hội đồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật họp Đại học Đà Nẵng vào ngày 03 tháng 03 năm 2012 Có thể tìm hiểu luận văn tại: • Trung tâm Thơng tin - Học liệu, Đại học Đà Nẵng • Trung tâm Học liệu, Đại học Đà Nẵng MỞ ĐẦU Lý chọn đề tài Ngày nay, sản phẩm phần mềm xuất giữ vai trò quan trọng nhiều lĩnh vực sống Phần mềm trở nên cần thiết số lĩnh vực công nghiệp kỹ thuật điện tử hàng khơng, vận tải,… Để sử dụng lĩnh vực trên, phần mềm cần phải đạt số tiêu chuẩn đánh giá độ tin cậy Kiểm thử kỹ thuật quan trọng nhằm đảm bảo chất lượng sản phẩm phần mềm Chi phí cho giai đoạn kiểm thử thường lớn qui trình phát triển phần mềm Các kỹ thuật giúp cải thiện chất lượng thiết kế phần mềm từ giai đoạn thiết kế góp phần làm giảm chi phí kiểm thử sau Phân tích khả kiểm thử xem yếu tố quan trọng đánh giá chất lượng phần mềm Một phần mềm với khả kiểm thử cao kiểm thử dễ dàng Mục đích phân tích khả kiểm thử đo lường phần mềm giai đoạn sớm quy trình phát triển phần mềm nhằm giúp cho thiết kế viên cải thiện chất lượng thiết kế phần mềm kiểm thử viên phân phối nguồn tài nguyên tốt q trình kiểm thử Từ đề xuất giải pháp để đảm bảo kiểm thử phần mềm tốt Để phát triển số hệ thống phần mềm công nghiệp phức tạp, nhiều môi trường, thường thiết kế mô trước người ta sử dụng chương trình mơ Simulink, Scade, Scicos,…Simulink [3] phần chương trình mở rộng Matlab sử dụng rộng rãi công nghệ thông tin ngành cơng nghiệp cho mơ hình hóa mơ hệ thống Với Simulink, mơ mơ hình tuyến tính, mơ hình phi tuyến tính, phân tích thừa số ma sát, sức cản khơng khí, dừng vật cứng mơ khác để mô tả tượng giới thực Máy tính trở thành phịng thí nghiệm ảo cho mơ hình hệ thống phân tích mà không thực thực tế gây nguy hiểm, hành vi hệ thống tự động, Simulink môi trường thực hành kỹ sư cách sử dụng để xây dựng mơ hình giải vấn đề thực sự… Các thiết kế môi trường SIMULINK yêu cầu nhiều hoạt động kiểm thử quan trọng, việc đánh giá khả kiểm thử chúng có giá trị Đó lý mà tơi chọn nghiên cứu thực đề tài “Nghiên cứu ứng dụng công cụ SATAN để phân tích khả kiểm thử phần mềm cho thiết kế môi trường Simulink” hướng dẫn thầy giáo TS Nguyễn Thanh Bình Đề tài phần đề tài: “Nghiên cứu kỹ thuật phân tích khả kiểm thử phần mềm mở rộng tính cơng cụ SATAN, thử nghiệm môi trường SCICOS SIMULINK, Cấp nhà nước – Nghị định thư, 2010-2011” SATAN: System’s Automatic Testability Analysis (Hệ thống phân tích khả kiểm thử tự động) Mục tiêu nhiệm vụ nghiên cứu Mục tiêu đề tài nghiên cứu môi trường lập trình tạo mơ MATLAB SIMULINK, công cụ SATAN, lý thuyết kiểm thử phân tích khả kiểm thử phần mềm Qua mơi trường SIMULINK thiết kế mơ hình, luồng liệu, chuyển thiết kế Simulink sang MACDOT để làm liệu đầu vào cho công cụ SATAN, nhận kết đầu SATAN từ có nhận định khả kiểm thử Đề tài tập trung nghiên cứu giải pháp phân tích khả kiểm thử cho thiết kế môi trường Simulink Đối tượng phạm vi nghiên cứu - Nghiên cứu lý thuyết kiểm thử phần mềm - Phân tích khả kiểm thử phần mềm - Mơi trường SIMULINK - Cơng cụ SATAN - Giải pháp phân tích khả kiểm thử thiết kế môi trường SIMULINK Đề tài thuộc loại hình nghiên cứu Những phương tiện cơng cụ để triển khai Phần mềm MATLAB SIMULINK SATAN Phương pháp nghiên cứu - Thu thập, phân tích tài liệu thơng tin liên quan đến - Thảo luận, lựa chọn phương hướng giải vấn đề - Phân tích thiết kế mô SIMULINK đề tài - Công cụ SATAN - Kiểm tra, thử nghiệm đánh giá kết Ý nghĩa khoa học thực tiễn Đề tài làm tài liệu tham khảo cho việc phân tích khả kiểm thử phần mềm Phần nghiên cứu lý thuyết cung cấp cách nhìn tổng quát môi trường SIMULINK, công cụ SATAN khả kiểm thử cho thiết kế môi trường SIMULINK Đặt tên đề tài “Nghiên cứu ứng dụng cơng cụ SATAN để phân tích khả kiểm thử phần mềm cho thiết kế môi trường Simulink” Bố cục luận văn Nội dung luận văn chia làm chương: MỞ ĐẦU Giới thiệu lý chọn đề tài, mục tiêu nghiên cứu, đối tượng phạm vi nghiên cứu ý nghĩa đề tài CHƯƠNG - Tổng quan phân tích khả kiểm thử phần mềm Giới thiệu khái niệm kiểm thử phân tích khả kiểm thử, phương pháp phân tích khả kiểm thử phần mềm CHƯƠNG – Môi trường SIMULINK Giới thiệu môi trường Simulink thư viện hỗ trợ Simulink Từ đó, báo cáo trình bày sử dụng khối thư viện để xây dựng hệ thống thực mô CHƯƠNG – Phương pháp phân tích khả kiểm thử dựa cơng cụ SATAN Trình bày kiến trúc tổng thể cơng cụ SATAN Phân tích khả kiểm thử dựa đồ thị truyền tin ITC sử dụng công cụ SATAN CHƯƠNG - Giải pháp ứng dụng phân tích khả kiểm thử thiết kế môi trường Simulink Cấu trúc mô đun quan trọng công cụ Giới thiệu ngữ pháp ngôn ngữ In-Mac MacDot sử dụng để định nghĩa liệu đầu vào liệu xử lý trung gian SATAN Trình bày số ví dụ thử nghiệm cơng cụ SATAN Chương TỔNG QUAN VỀ PHÂN TÍCH KHẢ NĂNG KIỂM THỬ PHẦN MỀM 1.1 KIỂM THỬ PHẦN MỀM 1.1.1 Khái niệm IEEE: “Kiểm thử tiến trình kiểm tra phần mềm môđun phần mềm với điều kiện xác định, quan sát ghi nhận kết quả, đưa đánh giá hệ thống thành phần đó” Myers: “Kiểm thử phần mềm trình kiểm tra chương trình hệ thống với mục đích tìm lỗi chương trình đó” 1.1.2 Vai trị hoạt động kiểm thử 1.1.3 Các khó khăn thực kiểm thử phần mềm 1.2 PHÂN TÍCH KHẢ NĂNG KIỂM THỬ PHẦN MỀM 1.2.1 Khái niệm Tổ chức IEEE khái niệm PTKNKT phần mềm xác định mức độ phần mềm phù hợp với tiêu chuẩn kiểm thử đưa Việc thực kiểm thử nhằm định liệu phần mềm thành phần có đáp ứng yêu cầu đặt không phần mềm kiểm thử có phù hợp với tiêu chuẩn khơng PTKNKT phần mềm hoạt động đo độ phức tạp để thoả mãn mục tiêu kiểm thử Freedman [19] khái niệm KNKT, cách dựa khả quan sát (observability) khả điều khiển (controllability) Phương pháp đánh giá chương trình dựa miền liệu vào miền liệu Voas Miller định nghĩa PTKNKT phần mềm dự đoán khả phần mềm bị cố (failure) gặp lỗi kiểm thử với miền liệu vào ngẫu nhiên Dựa vào kết hoạt động, người kiểm thử tìm phương pháp tốt để cải tiến chất lượng, tăng KNKT phần mềm Cấu trúc ngữ nghĩa mã nguồn với phân bố miền liệu vào định KNKT phần mềm 1.2.2 Các phương pháp PTKNKT phần mềm 1.2.2.1 Phương pháp phân tích kiểm thử dựa thiết kế a) Phương pháp PTKNKT miền (của Freedman) Freedman [19] cho KNKT tính chất chương trình dễ dàng kiểm thử Một đơn vị phần mềm có KNKT cao cần có tính chất: Tập liệu kiểm thử có kích thước nhỏ dễ dàng tạo Tập liệu kiểm thử không dư thừa Kết kiểm thử dễ dàng hiểu Các lỗi dễ dàng định vị b) Phương pháp PTKNKT Voas Miller Jeffrey Voas[13] KNKT phần mềm dự đoán khả phần mềm bị cố (failure) gặp lỗi kiểm thử với miền liệu vào ngẫu nhiên Sự cố tồn nơi chương trình Do đó, lỗi xuất nơi có khả gây cố phương thức c) Phương pháp PTKNKT cho phần mềm giao tiếp (của Kharoui) Mơ hình quan hệ mơ hình cho phép mơ tả đặc tả phần mềm Mơ hình phân tích đặc tính phần mềm cách độc lập mà khơng có ràng buộc đặc tả phần mềm Mơ hình sử dụng mức độ trừu tượng khác Karoui [10] sử dụng đặc tả quan hệ để đánh giá KNKT phần mềm 1.2.2.2 KNKT dựa mã nguồn a) Độ đo McCabe Độ đo McCabe [24] dựa việc đánh giá số chu trình độc lập đồ thị luồng điều khiển biểu diễn mô đun Độ đo McCabe xem phương pháp đánh giá độ phức tạp sử dụng rộng rãi Độ đo McCabe xem kỹ thuật đánh giá KNKT 10 b)Kỹ thuật Yin Bieman Kỹ thuật chèn kiểm tra xác nhận (assertion) thực thi mã nguồn kỹ thuật cho phép định vị lỗi đảm bảo mã nguồn thoả mãn ràng buộc xác định Các tác giả Yin and Bieman đề xuất áp dụng kỹ thuật chèn xác nhận xây dựng công cụ hỗ trợ cho ngơn ngữ lập trình C [6] Kỹ thuật ứng dụng nhiều dự án công nghiệp, kết cho thấy nhiều lỗi phát hiện, chất lượng mã nguồn tốt c) Kỹ thuật PIE Kỹ thuật PIE phân tích ba phần vị trí chương trình nhằm đánh giá khả phát sinh lỗi: gồm phân tích thực thi, phân tích ảnh hưởng phân tích lan truyền Kỹ thuật PIE yêu cầu phải thực thi mã nguồn Các liệu đầu vào lựa chọn ngẫu nhiên từ miền liệu vào Phân tích PIE trình phân tích động, nhiên khơng phải q trình kiểm thử phần mềm khơng liệu đầu kiểm tra so với đặc tả 1.2.2.3 KNKT hệ thống hướng đối tượng a) Công trình Chidamber Kemerer Chidamber Kemerer [21] cho q trình thiết kế hướng đối tượng có bước bản: xác định lớp, xác định ngữ nghĩa lớp, xác định mối quan hệ lớp thiết kế hàm thực thi liên quan đến lớp Trong nghiên cứu này, tác giả đề xuất đo độ mơ hình lớp 12 - Chi phí kiểm thử: gồm chi phí để tạo liệu thử đạt tiêu chí đặt chi phí xác định hợp lệ kết kiểm thử - Khả điều khiển: dễ dàng tạo liệu thử - Khả quan sát: dễ dàng kiểm tra hợp lệ kết kiểm thử e) Cơng trình Kansomkeat, Offutt Rivepiboon [23] Các tác giả nghiên cứu phương pháp PTKNKT lớp dựa việc phân tích luồng liệu (data-flow analysis) kỹ thuật phân tích đột biến (mutation analysis) Chương MƠI TRƯỜNG SIMULINK 2.1 SIMULINK MATLAB 2.2.TÍN HIỆU VÀ CÁC LOẠI DỮ LIỆU 2.2.1.Tín hiệu 2.2.2.Các loại liệu 2.3 CÁC THƯ VIỆN SIMULINK 2.3.1.Thư viện Sources 2.3.2.Thư viện Sinks 2.3.3.Thư viện Math 2.3.4.Thư viện Continuous 2.3.4.Thư viện Discrete 2.3.5.Thư viện Signal & Systems 2.4 MƠ PHỎNG BẰNG SIMULINK Việc mơ Simulink gồm bước sau: Bước 1: Mở cửa sổ mô Similink 13 Bước 2: Rê thả khối cần xây dựng mơ hình từ thư viện SIMULINK Bước 3: Nhập thông số cho khối Bước 4: Chú thích khối, chỉnh sửa, trang trí mơ hình Bước 5: Khai báo thơng số mơ hình hố Bước 6: Chạy chương trình, quan sát kết quả, đánh giá kết hiệu chỉnh cho phù hợp sau lần chạy Chương PHƯƠNG PHÁP PHÂN TÍCH KHẢ NĂNG KIỂM THỬ SỬ DỤNG CƠNG CỤ SATAN 3.1 PHÂN TÍCH KHẢ NĂNG KIỂM THỬ VỚI CƠNG CỤ SATAN 3.1.1 Đồ thị truyền tin Mơ hình KNKT đồ thị có hướng, gọi đồ thị truyền tin Đồ thi truyền tin định nghĩa tập hợp nút, tập hợp chuyển tiếp tập hợp cung Nút bao gồm đầu vào, đầu mô đun Đồ thị truyền tin ITG định nghĩa cách hình thức sau: Định nghĩa G = (Z, T, U) đồ thị, Z = S ∪ M ∪ P tập hợp nút, Z khác rỗng, S tập đầu vào, P tập đầu M tập mô đun; T tập hữu hạn không rỗng chuyển tiếp; U tập hữu hạn không rỗng cung Đặt: ΓG+ (x) tập hợp nút đứng sau nút x 14 ΓG− (x) tập hợp nút đứng trước nút x ΓG (x) tập hợp nút kề nút x Ta gọi G đồ thị truyền tin sở nếu: G ∀t ∈ T ∀s ∈ S ∀p ∈ P ∀m ∈ M ∀t ∈ T ∀z ∈ Z ∀t ∈ T đồ thị liên thông; (1.1) ΓG+ (t ) ≠ ∅, ΓG− (t ) ≠ ∅; ΓG− (s ) ≠ ∅; ΓG+ ( p ) ≠ ∅; ΓG+ (m) ≠ ∅, ΓG− (m) ≠ ∅; ΓG (t ) ⊂ Z ; ΓG ( z ) ⊂ T ; ΓG+ (t ) ∩ ΓG− (t ) =∅; ∀s ∈ S (1.2) (1.3) (1.4) (1.5) (1.6) (1.7) (1.8) * ∃p∈P: s ⇒ p (1.9) Ta gọi S tập đầu vào ITG; P tập hợp đầu ITG; M tập hợp mô đun ITG Điều kiện (1.8) không cho phép tồn chu trình mơ đun chuyển tiếp Điều kiện (1.9) bảo đảm tồn đường từ đầu vào đến đầu Chúng ta gọi đồ thị truyền tin ITG hợp đồ thị truyền tin sở Một hệ thống mơ hình hóa nhiều đồ thị truyền tin Các chuyển tiếp mô tả kiểu truyền tin nút Trong đồ thị truyền tin 15 Trong biểu diễn đồ họa ITG, đầu vào đầu biểu diễn hình bán nguyệt, mơ đun hình trịn, chuyển tiếp hình gạch ngang cung hình mũi tên 3.1.2 Luồng Một luồng truyền tin từ một vài đầu vào, qua số mô đun chuyển tiếp, cuối tới đầu Mỗi luồng xem chức sở dùng để tính tốn đầu hệ thống 3.1.3 Chiến lược kiểm thử Một chiến lược kiểm thử kế hoạch kiểm thử, xác định chức hệ thống hay luồng ITG cần kích hoạt Có hai loại chiến lược kiểm thử: Các chiến lược kết hợp (combinative strategies): nguyên tắc phân tích chuỗi ca kiểm thử để định vị lỗi Có hai chiến lược kết hợp sau: o Chiến lược All-path: chiến lược này, tất luồng ITG kích hoạt o Chiến lược Multiple Clue: tập hợp luồng kích hoạt tập hợp nhỏ luồng bao phủ tất mô đun ITG đảm bảo xác định xác lỗi, minh họa hình 3.4 3.5 16 B Kiểm thử T1 A Kiểm thử T2 C Hình 3.4 Minh họa chiến lược Multiple Clue T1 Thành công Thất bại A B A B lỗi T1 T Thành công Thất bại Hệ thống C lỗi Thành cơng A lỗi Thất bại B lỗi Hình 3.5 Phân tích kết kiểm thử áp dụng chiến lược Multiple Clue - Các chiến lược tăng dần (incremental strategies): chiến lược tìm cách bao phủ tất mô đun đồ thị, họa hình 3.6 Khi tìm thấy lỗi, phải sửa lỗi trước thực ca kiểm thử Các luồng cần kích hoạt 17 xếp lớp theo số tiêu chí Có thể phân biệt chiến lược tăng dần theo tiêu chí kiểm thử: o Chiến lược Start-Small: giảm tối thiểu chi phí chẩn đốn lỗi Luồng thực thi chứa số mơ đun Chọn luồng thi cho phủ số tối thiểu mơ đun chưa kích hoạt Tiếp tục tất mô đun kích hoạt o Chiến lược Big-Start: bao phủ cách nhanh mô đun ITG Luồng thực thi chứa số lớn mô đun Chọn luồng thi cho phủ số lớn mô đun chưa kích hoạt Tiếp tục tất mơ đun kích hoạt Tn T2 T1 Hình 3.6 Chiến lược Start-Small 3.1.4 Độ đo KNKT Độ đo KNKT xây dựng dựa lý thuyết thông tin 3.1.4.1 Lý thuyết thông tin  Độ bất định  Lượng thông tin (information quantity / entropy) 18 3.1.4.2 Mạng truyền tin Để mơ hình hóa truyền thông tin, mạng truyền tin (ITN) sử dụng ITN ITG có trọng số khả thông tin cung mô đun Định nghĩa Gọi G=(X,U) đồ thị có hướng có n đỉnh Giả sử tồn X hai đỉnh đặc biệt x1 xn, cho ΓG− ( x1 ) ≠ ∅ (x1 gọi đỉnh vào) ΓG+ ( xn ) ≠ ∅ (xn gọi đỉnh ra) Mỗi cung (xi, xj) ∈ U gán cij khả thơng tin cung Một đồ thị gọi mạng truyền tin, định nghĩa ba T = (X, U, C) U = {Cij, (xi, xj) ∈ U} 3.1.4.3 Độ đo KNKT KNKT hệ thống phụ thuộc vào KNKT mô đun hệ thống PTKNKT hệ thống dựa vào PTKNKT mô đun KNKT mơ đun định nghĩa dựa khả điều khiển khả quan sát Khả điều khiển mô đun hệ thống định nghĩa khả mang đầu hệ thống đến đầu mô đun Khả quan sát mô đun hệ thống định nghĩa khả đưa đầu mô đun đến đầu hệ thống KNKT mô đun định nghĩa cặp giá trị: khả điều khiển khả quan sát Hình vẽ 3.7 minh họa độ đo KNKT mô đun hệ thống 19 Khả điều khiển Khả quan sát Mơ-đun Hình 3.7 Khả điều khiển khả quan sát mơ đun 3.2 CƠNG CỤ SATAN 3.2.1 Kiến trúc tổng thể SATAN Kiến trúc tổng thể cơng cụ SATAN trình bày hình vẽ Module In-Mac Fire-wall SATAN Simulink2ma c Fire-wall In-Mac Controller Module Module SATAN OutMac Library SATAN Hình 3.8 Kiến trúc tổng thể công cụ SATAN Bộ điều khiển (controller): dùng để kích hoạt cơng cụ SATAN Mơ đun Simulink2mac: dùng để chuyển thiết kế môi trường SIMULINK Mô đun In-Mac: xử lý đầu vào SATAN Bức tường lửa In-Mac kiểm tra cú pháp đầu vào 20 Mơ đun lõi SATAN: xử lý bước PTKNKT độ đo KNKT Mô đun Out-Mac: xử lý đầu SATAN Thư viện SATAN 3.2.2 Mô đun In-Mac 3.2.3 Mô đun lõi SATAN Chươn/g GIẢI PHÁP VÀ ỨNG DỤNG PHÂN TÍCH KHẢ NĂNG KIỂM THỬ CÁC THIẾT KẾ TRONG MÔI TRƯỜNG SIMULINK 4.1.GIẢI PHÁP TỔNG THỂ Vai trò chuyển đổi định dạng tiến trình PTKNKT mơ tả hình 4.1: Mơ tả SIMULINK Các thành phần mạng Bộ chuyển đổi sang định dạng MACDOT Kiểu SATAN Các luồng Chiến lược kiểm thử Các độ đo kiểm thử Hình 4.1 – Vai trị chuyển đổi Cơng nghệ SATAN ... trung nghiên cứu giải pháp phân tích khả kiểm thử cho thiết kế môi trường Simulink Đối tượng phạm vi nghiên cứu - Nghiên cứu lý thuyết kiểm thử phần mềm - Phân tích khả kiểm thử phần mềm - Môi trường. .. công cụ SATAN khả kiểm thử cho thiết kế mơi trường SIMULINK Đặt tên đề tài ? ?Nghiên cứu ứng dụng cơng cụ SATAN để phân tích khả kiểm thử phần mềm cho thiết kế môi trường Simulink? ?? Bố cục luận văn... đánh giá khả kiểm thử chúng có giá trị Đó lý mà tơi chọn nghiên cứu thực đề tài ? ?Nghiên cứu ứng dụng công cụ SATAN để phân tích khả kiểm thử phần mềm cho thiết kế môi trường Simulink? ?? hướng dẫn

Ngày đăng: 30/12/2013, 22:21

Từ khóa liên quan

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

Tài liệu liên quan