Nghiên cứu kỹ thuật kiểm thử tự động dựa trên mô hình áp dụng trong hệ thống nhúng (tt)

26 7 0
Nghiên cứu kỹ thuật kiểm thử tự động dựa trên mô hình áp dụng trong hệ thống nhúng (tt)

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - PHẠM THỊ NGỌC NGHIÊN CỨU KỸ THUẬT KIỂM THỬ TỰ ĐỘNG DỰA TRÊN MƠ HÌNH, ÁP DỤNG TRONG HỆ THỐNG NHÚNG Chun ngành: Hệ thống thơng tin Mã số: 8.48.01.04 TĨM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI – 2019 Luận văn hồn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: TS Đỗ Thị Bích Ngọc Phản biện 1: PGS.TS Nguyễn Hà Nam Phản biện 2: PGS.TS Trần Đăng Hưng Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: 00 ngày 19 tháng 01 năm 2019 Có thể tìm hiểu luận văn tại: - Thư viện Học viện Cơng nghệ Bưu Viễn thơng MỞ ĐẦU Xuất từ năm đầu thập niên 1960, hệ thống nhúng dần trở thành ngành phát triển mạnh mẽ lĩnh vực công nghệ thông tin (CNTT), với ứng dụng rộng rãi công nghiệp đời sống Sự tăng trưởng hệ thống nhúng ngành cơng nghiệp dẫn tới q trình phát triển cơng nghệ dựa mơ hình (model based), mang lại nhiều thuận lợi cho phát triển công nghệ tự động Các kỹ thuật dựa mô MATLAB/ Simulink, Statemate, MatrixX LabView cơng cụ cụ thể có chế mạnh mẽ nhằm hỗ trợ xử lý tín hiệu liên tục loại liệu quan trọng lĩnh vực điều khiển tự động Sự phát triển hệ thống nhúng kéo theo yêu cầu phát triển hoạt động kiểm thử Thông thường, cách phổ biến để kiểm thử cho hệ thống nhúng nói chung chạy giả lập phần cứng phần mềm mô Kiểm thử tự động giải pháp hữu hiệu nhằm nâng cao tính xác hiệu quả, giảm kinh phí rút ngắn thời gian trình kiểm thử sản phẩm phần mềm nói chung hệ thống nhúng nói riêng Kiểm thử dựa mơ hình xem phương pháp kiểm thử có khả tự động hóa cao Kiểm thử dựa mơ hình phương pháp kiểm thử, ca kiểm thử sinh từ mơ hình đặc tả hành vi hệ thống kiểm thử Ngoài ra,việc đảm bảo chất lượng dựa phát triển mơ hình, đặc biệt thử nghiệm, cịn hỗ trợ Đặc biệt hệ thống nhúng yêu cầu cao chất lượng, cần kiểm thử từ mơ hình, việc mơ hình hóa & mô hệ thống nhúng sử dụng hệ vật lý không tồn tại, tốn thời gian chi phí để xây dựng, cho phép quan sát q trình, đáp ứng động hệ thống trước thực nghiệm thiết bị thực, cơng cụ hữu hiệu cho việc thiết kế, nghiên cứu, với chi phí thấp, dễ dàng thay đổi Các cơng cụ mơ hình hố (như Simulink) hay dùng để thiết kế hệ thống nhúng Simulink tích hợp vào Matlab cơng cụ để mơ phịng hệ thơng, giúp người sử dụng phân tích tổng hợp hệ thống cách trực quan Trong Simulink, hệ thống mô tả dạng sơ đồ khối Với dạng sơ đồ khối này, ta quan sát đáp ứng thời gian hệ thống với nhiều tín hiệu vào khác như: tín hiệu bậc thang, tín hiệu sinus, xung chữ nhật, tín hiệu ngẫu nhiên, cách thực mơ Kết mơ xem theo thời gian thực môi trường Simulink Matlab Tất hàm Matlab cố thể truy cập từ Simulink, ngược lại, kết tìm Simulink sử dụng khái thác mô trường Matlab Với mục đích tìm hiểu kỹ thuật kiểm thử áp dụng vào hệ thống nhúng, nhận thấy việc nghiên cứu phương pháp kiểm thử tự động dựa mơ hình hệ thống nhúng vấn đề cần thiết Luận văn cấu trúc với chương sau: Chương : Tổng quan hệ thống nhúng kiểm thử hệ thống nhúng Chương : Phương pháp kiểm thử dựa mơ hình Chương 3: Thử nghiệm đánh giá Luận văn khảo sát toán kiểm thử dựa mơ hình áp dụng hệ thống nhúng, đề xuất phương pháp, mơ hình kiểm thử phù hợp với quy trình Đồng thời phương pháp đề xuất phân tích đánh giá số phương pháp đánh giá thông dụng tập liệu có sẵn Chương – TỔNG QUAN VỀ HỆ THỐNG NHÚNG VÀ KIỂM THỬ TRONG HỆ THỐNG NHÚNG 1.1 Hệ thống nhúng Hệ thống nhúng (embedded system) định nghĩa hệ thống chuyên dụng, thường có khả tự hành thiết kế tích hợp vào hệ thống lớn để thực chức chuyên biệt Hệ thống nhúng thuật ngữ để hệ thống có khả tự trị nhúng vào mơi trường hay hệ thống mẹ Đó hệ thống tích hợp phần cứng phần mềm phục vụ toán chuyên dụng nhiều lĩnh vực cơng nghiệp, tự động hố điều khiển, quan trắc truyền tin Đặc điểm hệ thống nhúng hoạt động ổn định có tính tự động hoá cao 1.2 Đặc điểm hệ thống nhúng Hệ thống nhúng thường có số đặc điểm chung sau:  Các hệ thống nhúng thiết kế để thực số nhiệm vụ chuyên dụng khơng phải đóng vai trị hệ thống máy tính đa chức Một số hệ thống địi hỏi ràng buộc tính hoạt động thời gian thực để đảm bảo độ an tồn tính ứng dụng; số hệ thống khơng địi hỏi ràng buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng để giảm thiểu chi phí sản xuất  Một hệ thống nhúng thường khối riêng biệt mà hệ thống phức tạp nằm thiết bị mà điều khiển  Phần mềm viết cho hệ thống nhúng gọi firmware lưu trữ chip nhớ ROM nhớ flash ổ đĩa Phần mềm thường chạy với số tài nguyên phần cứng hạn chế: khơng có bàn phím, hình có với kích thước nhỏ, dung lượng nhớ thấp Với đặc điểm trên, việc thử nghiệm, xác định lỗi hệ thống nhúng gặp nhiều khó khăn Số lượng trường hợp thử nghiệm lớn, địi hỏi phải có phương pháp mơ hình kiểm thử phù hợp  Xu hướng phát triển hệ thống nhúng Sau máy tính lớn (mainframe), PC Internet hệ thống nhúng sóng đổi thứ công nghệ thông tin truyền thông Xu hướng phát triển hệ thống nhúng là: Phần mềm ngày chiếm tỷ trọng cao trở thành thành phần cấu tạo nên thiết bị bình đẳng phần khí, linh kiện điện tử, linh kiện quang học… • Các hệ nhúng ngày phức tạp đáp ứng yêu cầu khắt khe thời gian thực, tiêu lượng hoạt động tin cậy ổn định • Các hệ nhúng ngày có độ mềm dẻo cao đáp ứng yêu cầu nhanh chóng đưa sản phẩm thương trường, có khả bảo trì từ xa, có tính cá nhân cao • Các hệ nhúng ngày có tính thích nghi, tự tổ chức cao có khả tái cấu thực thể, tác nhân • Các hệ nhúng ngày có khả tiếp nhận lượng từ nhiều nguồn khác (ánh sáng, rung động, điện từ trường, sinh học….) để tạo nên hệ thống tự tiếp nhận lượng trình hoạt động 1.3 Lý thuyết kiểm thử 1.3.1 Mục tiêu kiểm thử Kiểm thử nhằm xác định khác biệt hành vi dự kiến hành vi thực hệ thống Mục đích kiểm thử phát lỗi, nhằm tìm khác biệt nhận diện hành vi hệ thống cài đặt hành vi dự định hệ thống thử nghiệm Mục tiêu trình kiểm thử xác định nhằm:  Tìm ngăn ngừa lỗi  Đạt tự tin cung cấp thông tin mức độ chất lượng  Đảm bảo kết cuối đáp ứng yêu cầu kinh doanh người sử dụng Kiểm thử giúp hoàn thiện ứng dụng phần mềm sản phẩm so với yêu cầu kinh doanh người sử dụng Đây giai đoạn quan trọng để đảm bảo hệ thống hoạt động tốt theo thông số kỹ thuật 1.3.2 Nguyên tắc kiểm thử Để kiểm thử đạt hiệu tiến hành kiểm thử hệ thống cần phải tuân thủ số nguyên tắc sau:  Nguyên tắc 1: Kiểm thử diện lỗi  Nguyên tắc 2: Kiểm thử tồn bộ, đầy đủ khơng thể  Nguyên tắc 3: Cần bắt đầu giai đoạn kiểm thử sớm tốt  Nguyên tắc 4: Phân nhóm lỗi để xác định số module tập trung lỗi nhiều  Nguyên tắc 5: Kịch kiểm thử cần cập nhật  Nguyên tắc 6: Kiểm thử thực bối cảnh khác 1.3.3 Nội dung nhiệm vụ trình kiểm thử  Lập kế hoạch kiểm thử: - Xác định yêu cầu kiểm tra - Khảo sát rủi ro - Xác định chiến lược kiểm tra - Xác định nhân lực, vật lực - Tổng hợp tạo kế hoạch kiểm tra - Xem xét kế hoạch kiểm tra  Chuẩn bị môi trường kiểm thử - Thiết kế hệ thống kiểm thử - Thiết kế chương trình kiểm thử liệu kiểm thử - Thiết đặt công cụ kiểm thử  Tiến hành kiểm thử:  Kiểm tra kết kiểm thử:  Phân tích hỏng hóc, phân tích hiệu năng:  Sửa chữa cải tiến tài liệu, chương trình gốc:  Hồn tất q trình kiểm thử : - Quản lý tiến trình kiểm thử báo cáo - Kiểm sốt liệu liên quan tới hỏng hóc - Xem lại tài liệu vận hành ngược dòng 1.4 Kiểm thử tự động Kiểm thử tự động Sử dụng công cụ kiểm thử tự động để thực thi ca kiểm thử thay cho người goi kiểm thử tự động Công cụ kiểm thử tự động lấy dự liệu từ file bên ngồi (excel, csv, …) nhập vào ứng dụng, so sánh kết mong đợi với kết thực tế xuất báo cáo kết kiểm thử Ưu điểm nhược điểm  Ưu điểm: - Độ tin cậy cao (Reliability) - Khả lặp (Repeatability) - Khả tái sử dụng (Reusability) - Nhanh (Fast) - Chi phí thấp (Cost Reduction)  Nhược điểm : - Khó mở rộng, khó bảo trì (Poor scalability and maintainability) - Khả bao phủ thấp (Low coverage) - Vấn đề công cụ nhân lực (Technology vs people issues) Tầm quan trọng kiểm thử tự động - Tiết kiệm tiền bạc thời gian: Nhận định đặc biệt xét giai đoạn bảo trì dự án lớn Mỗi tuần phải thực regression test từ đến lần với số lượng test case lớn đến ngày Gần thực cách thủ công, với kiểm thử tự động hồn tồn với nguồn nhân lực vơ khiêm tốn - Chính xác hơn: Nhờ độ ổn định cao, kiểm thử tự động thực thi ca kiểm thử với độ xác cao - Độ bao phủ cao: Như nói trên, sử dụng kiểm thử tự động, thực thi số lượng lớn ca kiểm thử thời gian ngắn Điều giúp tăng độ bao phủ giai đoạn kiểm thử hồi quy (một ví dụ điển hình) - Hồn thành cơng việc mà người khơng thể làm được: Nếu muốn thực thi load test, performance test, kiểm thử tự động cách Chương 2- PHƯƠNG PHÁP KIỂM THỬ DỰA TRÊN MƠ HÌNH 2.1 Kiểm thử dựa mơ hình 2.1.1 Kiểm thử dựa mơ hình Kiểm thử dựa mơ hình dạng kiểm thử dựa hành vi mơ hình, mã hóa hành vi dự tính hệ thống thử nghiệm và/hoặc hành vi mơi trường Các trường hợp kiểm thử tạo từ mơ hình kết hợp chúng thực hệ thống thử nghiệm Theo phương pháp truyền thống, trình kiểm thử bắt đầu việc sử dụng mơ hình thường khơng có cấu trúc, khơng tái sử dụng, khơng tài liệu hóa, thiếu logic hợp lý cho thiết kế kiểm thử, dựa kinh nghiệm, kỹ kỹ sư Với ý tưởng thực thể mã hóa tường minh vào hệ thống thử nghiệm dự kiến hành vi mơi trường giúp giảm thiểu vấn đề Các ý tưởng kiểm thử dựa mơ hình gọi kiểm thử dựa đặc tả Trong thập kỷ vừa qua, lĩnh vực nghiên cứu ngành công nghiệp,các phương pháp phát triển dựa mơ hình kiểm thử làm trung tâm, mức độ phát triển công nghệ từ lĩnh vực kiểm thử làm tăng quan tâm chủ đề Dias-Neto phân tích 271 tài liệu xác định 219 cách tiếp cận kiểm thử dựa mơ hình Điều cản trở việc áp dụng công nghệ kiểm thử dựa mơ hình cơng nghiệp hạn chế cải tiến phương pháp tiếp cận kiểm thử dựa mơ hình Kiểm thử dựa mơ hình bao gồm trình kỹ thuật nhằm: tạo dẫn xuất tự động trường hợp kiểm thử trừu tượng từ mơ hình trừu tượng, tạo kiểm thử cụ thể từ kiểm thử trừu tượng,và thực thi thủ công tự động trường hợp kiểm thử cụ thể 2.1.2 Quy trình kiểm thử dựa mơ hình Q trình kiểm thử dựa mơ hình bắt đầu việc xác định u cầu hệ thống từ xây dựng mơ hình dựa vào yêu cầu chức hệ thống Việc xây dựng mơ hình cịn phải dựa yếu tố liệu đầu vào đầu Mơ hình sử dụng để sinh ca kiểm thử Chúng ta biết kết đầu mong đợi từ mơ hình từ quy định chuẩn Khi chạy kich kết thu so sánh với kết mong đợi từ định hành động sửa đổi mơ hình dừng kiểm thử,… Các bước để thực kiểm thử dựa mơ hình: - Xây dựng mơ hình dựa u cầu chức hệ thống - Tạo đầu dự kiến từ mơ tả tốn - Chạy kịch kiểm thử - So sánh kết đầu thực tế với kết đầu dự kiến - Quyết định hành động (Sửa đổi mơ hình, tạo thêm ca kiểm thử, dừng kiểm thử, đánh giá chất lượng phần mềm) Trong giới hạn luận văn, học viên giới thiệu thuật ngữ miêu tả chung q trình kiểm thử dựa mơ hình 2.1.3 Thuận lợi khó khăn kiểm thử dựa mơ hình  Thuận lợi Trong q trình phát triển hệ thống kiểm thử viên thường thực cơng việc phương pháp truyền thống nên thường thiếu thời gian để thực kiểm thử, giá thành sản phẩm hoàn thành thường cao Kiểm thử mơ hình khắc phục số nhược điểm đó: - Do q trình sinh ca kiểm thử tự động mà rút ngắn thời gian phát triển hệ thống - Đặc biệt chi phí cho việc xây dựng mơ hình lớn điều khấu trừ chi phí bảo dưỡng thấp nhiều hệ thống hoạt động - Quá trình sinh ca kiểm thử thực cách tự động nên sinh nhiều ca kiểm thử phát nhiều lỗi - Sớm phát lỗi không rõ ràng đặc điểm kỹ thuật thiết kế tăng thời gian giải vấn đề kiêm thử - Tự động tạo kiểm tra ca kiểm thử trùng không hữu hiệu - Khi yêu cầu hệ thống thay đổi việc thay đơi ca kiểm thử đơn giản hơn, cần thay đổi mơ hình hệ thống  Khó khăn Mặc dù có nhiều thuận lợi bên cạnh có trở ngại định kiểm thử dựa mơ hình: - Do phải xây dựng mơ hình hệ thống nên người kiểm thử phần mềm phải yêu cầu người có khả phân tích thiết kế hệ thống - Trong kiêm thử dựa mô hình cơng việc quan trọng xây dựng mơ hình Việc xây dựng mơ hình cần đầu tư thời gian, trí óc tiền bạc 10 Bước (thực kiểm thử) thể khối on/offline mục thực thi kiểm thử Các quan điểm khác dẫn đến việc phân loại kiểm thử dựa mơ hình mà khơng phương pháp, tất nhiên chứng minh đắn Ví dụ, phân loại dựa đối tượng khác phát triển sử dụng q trình như: mơ hình, đặc tả kiểm thử, trình điều khiển thử nghiệm, thuộc tính, kiểm thử, Nguyên nhân cho định sử dụng phương pháp sở dễ dàng phù hợp với hoạt động phương pháp khơng phải khái niệm phân loại đầy đủ Tất nhiên, khơng có nghĩa phân loại khác khơng có giá trị 2.3 Lập mơ hình cho hệ thống Mơ hình biểu đồ hóa mơ tả chi tiết hệ thống, đồng thời mô tả chi tiết khía cạnh, đặc tính hệ thống Các mơ hình phải nhỏ so với kích thước hệ thống, kiểm thử mà khơng nhiều chi phí, chúng phải đủ chi tiết để mô tả thực tế đặc điểm cần kiểm thử Khi xây dựng mơ hình cần thêm trường hợp kiểm thử để xác định mơ hình theo u cầu sau chạy trường hợp thử nghiệm tương tự, nhằm xác minh thêm mức độ phủ mơ hình 2.3.1 Mơ hình kiểm thử Simulink Mơ hình kiểm thử Simulink hay cịn gọi Simulink Test cung cấp công cụ nhằm soạn thảo, quản lý thực thử nghiệm có hệ thống, mơ dựa mơ hình, tạo code mơ phần cứng vật lý Nó bao gồm khối Test Sequence cho phép xây dựng chuỗi kiểm tra đánh giá mức độ phức tạp Trình quản lý kiểm tra để quản lý thực thi kiểm tra Simulink test cho phép thực chức tương đương bao gồm phần mềm, xử lý, phần cứng thời gian thực vịng lặp Ta áp dụng tiêu chí pass/ fail bao gồm độ phủ tuyệt đối, tương đối có giới hạn vùng kiểm tra logic điều kiện thời gian.Việc thiết lập kịch giúp tùy chỉnh q trình kiểm tra Ta tạo khai thác kiểm thử để kiểm tra thành phần mơ hình hệ thống mơ hình thử nghiệm riêng biệt Sau lưu trữ trường hợp thử nghiệm kết chúng, tạo kho lưu trữ để xem xét kiểm tra lỗi, từ 11 tạo báo cáo, lưu trữ tra cứu lại kết kiểm tra, chạy lại kiểm tra không thành công gỡ lỗi thành phần hệ thống thử nghiệm 2.3.2 u cầu/ đặc tả mơ hình Simulink cung cấp mơi trường mạnh việc mơ hình hóa mơ hệ thống quy trình động Trong nhiều hệ thống, chức chế độ phải thay đổi phù hợp với kiện xảy điều kiện phát triển theo thời gian Do đó, mơi trường ứng dụng cần phải đáp ứng phù hợp ngôn ngữ theo nhiều chế độ điều kiện phát triển Ví dụ sau cho thấy cách để mơ hình hệ thống truyền động ô tô với Simulink  B1: Phân tích vật lý hóa mơ hình Mơ hình thảo luận ví dụ trực tiếp triển khai khối dạng hệ thống Mặt khác, tính logic định tạo trong thiết bị điều khiển truyền dẫn xây dựng theo cơng thức xác Vì việc giám sát trạng thái theo kiện tương ứng với mối quan hệ quan trọng hệ thông thực hành động thích hợp chúng xảy Hình 2.2: Ví dụ sơ đồ khối hệ thống truyền lực  B2: Mơ hình hóa Việc mơ hình hóa thực Matlab Các điều kiện ban đầu tạo khơng gian mơ hình Hình vẽ thể mức cao mơ hình Chạy mơ mơ hình, tham khảo thành phần cấu trúc liệu tham chiếu đến 12 Hình 2.3: Sơ đồ mơ hình hóa kết mơ động truyền động 2.3.3 Tạo ca kiểm thử từ mơ hình Tạo ca kiểm thử dựa cấu trúc phân cấp mơ hình Các mơ hình thường xây dựng bao gồm:  Nhóm tạo tín hiệu  Kiểm tra liệu  Nhóm tạo tín hiệu phân cấp cao phận thử nghiệm Sau mở mơ hình Simulink, thực tạo ca kiểm thử từ mơ hình Trong trường hợp thử nghiệm tạo ra, cần định tiêu chí so sánh, tương đương đường sở, trước chạy thử nghiệm 2.3.4 Đánh giá mức phủ test case Độ bao phủ test tỉ lệ (tính theo %) ca kiểm thử thực tổng số ca kiểm thử cần thiết Nếu tỉ lệ cao mơ hình test kỹ Cần phải cố gắng thực để đảm bảo mơ hình có độ phủ kiểm thử đat 100% Trong Simulink độ phủ testcase đánh giá việc phân tích tồn phạm vi mơ hình phân tích mã để đo lường hồn chỉnh mơ hình mã tạo Nó áp dụng số chuẩn công nghiệp định, điều kiện, phạm vi điều chỉnh / định sửa đổi (MCDC) phạm vi ranh giới quan hệ để đánh giá tính hiệu thử nghiệm mô mô hình, phần mềm vịng lặp (SIL) xử lý - vịng lặp (PIL) Chúng ta sử dụng liệu phủ bị thiếu để tìm lỗ hổng kiểm thử, u cầu cịn bỏ sót chức không mong muốn 13 Độ phủ Simulink tạo báo cáo tương tác cho biết số lượng mơ hình kiểm thử, hàm C/C ++, hàm MATLAB mã tạo Embedded Coder thực Từ làm bật kết kiểm thử khối hệ thống để xác định khoảng trống thử nghiệm Để đánh giá tính đầy đủ q trình kiểm thử, ta tích lũy kết kiểm thử từ nhiều lần chạy thử nghiệm Sau áp dụng lọc để loại trừ khối khỏi vùng phủ định nghĩa mức độ phủ bị thiếu báo cáo  Tăng độ phủ kiểm thử cho mơ hình cách khởi tạo đầu vào kiểm thử Nếu trường hợp kiểm thử khơng đạt độ phủ định cần phải tăng độ phủ cách tạo đầu vào cho kiểm thử bắng cách sử dụng công cụ Simulink Design Verifier Ví dụ sau cho biết cách tăng độ phủ kiểm thử trường hợp cần khởi tạo ca kiểm thử bên Đầu tiên cần xác định độ phủ ban đầu Sau đó, tạo ca kiểm thử mới, thêm chúng vào thử nghiệm, chạy thử nghiệm tổng hợp độ phủ liệu thử nghiệm  Quy trình tăng độ phủ kiểm thử - Xác định độ phủ mơ hình tương ứng với ca kiểm thử ban đầu - Tạo thêm ca kiểm thử bổ sung để đạt mức phủ cao - Tạo ca kiểm thử thêm vào tập thử nghiệm - Chạy tất ca kiểm thử tổng hơp lại mức phủ 14 Chương 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ 3.1 Cài đặt Matlab & Simulink toolbox MATLAB, tên viết tắt từ tiếng Anh MATrix LABoratory mơi trường tính tốn số lập trình, thiết kế cơng ty MathWorks MATLAB môi trường mạnh dành cho tính tốn khoa học Nó tích hợp phép tính ma trận phép tính số dựa hàm Hơn nữa, cấu trúc đồ họa hướng đối tượng Matlab cho phép tạo hình vẽ chất lượng cao MATLAB giúp đơn giản hóa việc giải tốn tính tốn kĩ thuật so với ngơn ngữ lập trình truyền thống C, C++, Fortran Ngày nay, Matlab trở thành ngôn ngữ chuẩn sử dụng rộng rãi nhiều ngành nhiều quốc gia giới Về mặt cấu trúc, Matlab gồm cửa sổ nhiều hàm viết sẵn khác Các hàm lĩnh vực ứng dụng xếp chung vào thư viện, điều giúp người sử dụng dễ dàng tìm kiếm hàm cần quan tâm Có thể kể số thư viện Matlab như: - Control System (Dành cho điều khiển tự động)) - Finacial toolbox (Lĩnh vực kinh tế)) - Fuzzy Logic ( Điều khiển mờ)) - Signal Processing (Xử lý tín hiệu) - Statistics ( Tính tốn thống kê) - System Identification ( Nhận dạng) - … Mỗi năm Mathworks - công ty sản xuất phân phối MATLAB đưa thị trường cập nhật rxxxxa vào đầu năm rxxxb vào cuối năm (với xxxx năm phát hành) Trong giới hạn luận văn, sử dụng Matlab R2016a Simulink tích hợp vào Matlab cơng cụ để mơ phịng hệ thơng, giúp người sử dụng phân tích tổng hợp hệ thống cách trực quan Trong Simulink, hệ thống mô tả dạng sơ đồ khối Với dạng sơ đồ khối này, ta quan sát đáp ứng thời gian hệ thống với nhiều tín hiệu vào khác như: tín hiệu bậc thang, tín hiệu sinus, xung chữ nhật, tín hiệu ngẫu nhiên, cách thực mơ Kết mơ xem theo thời gian thực môi trường Simulink Matlab Tất hàm Matlab cố thể truy cập từ Simulink, ngược lại, kết tìm Simulink sử dụng khái thác mô trường Matlab 15 Mọi chi tiết phần mềm, cách sử dụng ví dụ lệnh, tham khảo phần help Matlab download file dạng *.pdf tạo trang Web Matlab địa http://www.mathworks.com 3.2 Áp dụng kiểm thử dựa mơ hình vào tốn kiểm thử mơ hình điều khiển hành trình Khái qt lại tốn kiểm thử dựa mơ hình, ta cần đảm bảo trình thiết kế phát triển hệ thống, mơ hình đưa mơ lại xác tương ứng với hệ thống thực nhằm việc kiểm thử đạt hiệu tối đa Các bước thực trình kiểm thử: - B1: Xác định input port, output port mơ hình simulink - B2: Căn u cầu/ đặc tả mơ hình từ sinh ca kiểm thử tương ứng - B3: Chạy chương trinh mô với mơ hình Simulink ca kểm thử thiết kế - B4: Đánh giá mức phủ ca kiểm thử 3.2.1 Xây dựng mơ hình Matlab Hệ thống điều khiển hành trình (cruise control) xe ô tô hệ thống phản hồi, ứng dụng rộng rãi xe ô tô Hệ thống xây dựng nhằm mục đích cố gắng trì vận tốc xe tơ có thay đổi độ dốc đường, vào đoạn đường gập ghềnh Bộ điều khiển bù thay đổi cách đo tốc độ xe điều chỉnh bướm ga cách thích hợp Sơ đồ khối thể mơ hinh hóa hệ thống: Hình 3.1: Sơ đồ khối hệ thống điều khiển hành trình cho hệ thống ô tô Bộ điều khiển bướm ga động tạo mơ men xoắn T truyền xuống đất thông qua hộp số bánh Kết hợp với lực bên ngồi mơi trường lực cản 16 khí động học trọng lực, lực giúp xe di chuyển Vận tốc v xe đo hệ thống điều khiển thay đổi bướm ga thông qua chế thực thi Giao diện người dùng cho phép hệ thống tắt bật thiết lập vận tốc mong muốn 𝑣𝑟 Cho 𝑣 vận tốc xe 𝑣𝑟 vận tốc mong muốn (vận tốc tham chiếu) Bộ điều khiển loại vi tích phân tỷ lệ (PI) nhận tín hiệu đầu vào 𝑣 𝑣𝑟 , sau tạo tín hiệu điều khiển u gửi tới truyền truyền động điều khiển vị trí bướm ga Bướm ga kiểm sốt mơ men xoắn T tạo động cơ, truyền qua bánh báng xe, tạo lực F giúp xe di chuyển Các lực nhiễu 𝐹𝑑 gây xáo trộn thay đổi độ dốc đường đi, lực cản lăn lực động lực học Bộ điều khiển hành trình có giao diện người- máy cho phép lái xe thiết lập thay đổi tốc độ mong muốn Ngồi cịn có chức ngắt kết nối điều khiển hành trình đạp phanh Hệ thống bao gồm nhiều thành phần riêng biệt: phận truyền động, động cơ, chuyển số, bánh xe thân xe với mơ hình chi tiết phức tạp Mặc dù vậy, mơ hình đáp ứng cho thiết kế điều khiển hành trình đơn giản Hình 3.2: Mơ hình lực cân xe tơ Căn vào đặc tả mơ hình phương trình lực tác động lên xe, hệ thống điều khiển hành trình mơ hình hóa thành mơ hình đơn giản sau: Trong đó: - Khối Cruise control điều khiển hành trình - Khối Hill Counter khối liệu đầu vào cho hệ thống độ dốc mặt đường, 17 - Khối Set Velocity khối liệu đầu vào cho hệ thống vận tốc hành trình mong muốn - Khối Scope Velocity đầu hệ thống hiển thị tốc độ thực xe Hình 3.3: Chi tiết khối Cruise control 3.2.2 Sinh ca kiểm thử thực thi kết kiểm thử Hệ thống phải đáp ứng yêu cầu sau: Sau thiết lập tốc độ hành trình thời gian để đạt tốc độ hành trình khơng q 60 giây Khi giá trị độ dốc mặt đường (hill couter) thay đổi hệ thống phải tự điều chỉnh để trì tốc độ hành trình mong muốn khơng q 10% Với u cầu trên, ca kiểm thử cho mơ hình tạo sau: - Trên giao diện Simulink chọn Analyst  Test Manager - Tại giao diện Test Manager chọn New Test File from Model , chọn mô hình cần kiểm thử 18 Simulink tạo test case tương ứng với tạo giá trị đầu vào hệ thống điều khiển hành trình Mặc định trường hợp kiểm thử tự động nhận tham số đầu vào nguồn tạo tham số để kiểm thử Khi thực thi trường hợp kiểm thử chưa có ràng buộc nên Simulink thực thi mơ hình hiển thị giá trị đầu ra, thông báo trường hợp kiểm thử thành công Trường hợp kiểm thử 1: Thay đổi giá trị tốc độ mong muốn, giữ nguyên độ dốc mặt đường, xem xét giá trị vận tốc đầu có nằm khoảng cho phép, thời gian thiết lập tốc độ nằm ngưỡng cho phép hay không Để thực kiểm thử, tạo sẵn file sở liệu thiết lập độ dốc mặt đường, vận tốc mong muốn xe thời điểm 19 Để thực kiểm thử, tạo ca kiểm thử Chọn Input  Add Input, chọn đường dẫn tới file sở liệu tạo, tạo nhiều file đầu vào để kiểm thử (mỗi file kiểm thử) Hình 3.4: Nhập file liệu đầu vào Sau chọn Run để thực thi để thực thi ca kiểm thử Như mơ hình đáp ứng với vận tốc mong muốn nhỏ 50km/h thời gian đáp ứng hệ thống đạt 60 giây Trường hợp kiểm thử 2: Thay đổi giá trị độ dốc, giữ nguyên vận tốc hành trình, xem xét giá trị đầu có nằm khoảng cho phép Để thay đổi giá trị độ dốc theo thời gian, tạo file liệu đầu vào theo thời gian 20 Trước thực kiểm thử, tạo liệu baseline làm sở đánh giá khả vận hành hệ thống Dữ liệu sử dụng làm baseline xe thiết lập vận tốc hành trình 50km/h, độ dốc 0, khơng đổi q trình kiểm thử Trong cài đặt trường hợp kiểm thử chọn Baseline Critical Capture để lấy giá trị đầu làm baseline, kết ghi vào file cruise_control.mat để sử dụng cho kiểm thử khác Hình 3.5: Tạo file liệu sở từ ca kiểm thử Sau thực thi trường hợp kiểm thử Input để tạo baseline Hình 3.6: So sánh kết với đường sở baseline Trong kết kiểm thử xuất thêm Baseline Criteria Result so sánh kết kiểm thử với đường sở baseline Để thực kiểm thử với số liệu độ dốc thay đổi, sử dụng file sở liệu excel chứa thông tin độ dốc mặt đường theo thời gian vận tốc mong muốn Khi độ dốc thay đổi vừa phải vận tốc mong muốn xe trì tương đối ổn định nằm khoảng cho phép 21 Hình 3.7: Hình 3.8: Độ dốc đường tăng giảm với biên độ nhỏ Vận tốc xe độ dốc thay đổi với biên độ nhỏ Trong ca kiểm thử tiếp theo, tiến hành tăng độ dốc mặt đường lên đột ngột, xe đạt tốc độ mong muốn sau khoảng thời gian, động xe không tạo đủ lực để đưa tốc độ xe lên vận tốc hành trình mong muốn với độ dốc lớn Hình 3.9: Độ dốc đường tăng giảm với biên độ lớn 22 Hình 3.10: Vận tốc xe độ dốc đường lớn Như vậy, để minh họa cho phần lý thuyết kiểm thử tự động dựa mơ hình, học viên thực xong tạo ca kiểm thử cho mơ hình điều khiển hành trình đơn giản, sử dụng liệu đầu vào, phân tích đánh giá kết đầu phù hợp 23 Chương – KẾT LUẬN Hệ thống nhúng ngày ứng dụng rỗng rãi sống chúng ta, đặc biệt thời đại công nghệ 4.0, vạn vật kết nối (IoT) Kiểm thử dựa mô hình cho hệ thống nhúng ngày có ý nghĩa quan trọng, nhằm phát khắc phục lỗi, nhược điểm hệ thống kiểm thử giúp hệ thống hoàn thiện, bảo đảm chức đưa vào hoạt động Luận văn thực tìm hiểu mơ hình hệ thống nhúng, nghiên cứu kỹ thuật kiểm thử cho mơ hình hệ thống nhúng thực kiểm thử số mơ hình Simulink Việc thực kiểm thử luận văn đơn giản Hướng phát triển luận văn áp dụng phương pháp sinh liệu kiểm thử để giúp tăng độ phủ 24 TÀI LIỆU THAM KHẢO [1] Kiểm thử tự động dựa biểu đồ hoạt động, Võ Văn Lường, Kỷ yếu hội nghị khoa học Đại học Duy Tân [2] Gabriela Nicolescu and Pieter J Mosterman, Model-Based Design for Embedded Systems; edited [3] Justyna Zander, Ina Schieferdecker, and Pieter J Mosterman, Model-Based Testing for Embedded Systems, edited [5] Eckard Bringmann, Andreas Krämer (2008), Model-based Testing of Automotive Systems [6] Mark Utting, Bruno Legeard (2007), Practical Model – Based Testing: A Tools Approach, Elsevier Inc [7] Pawel Skruch and Gabriel Buchala (2014), Model-Based Real-Time Testing of Embedded Automotive Systems; Delphi Automotive [8] Mark Utting , Alexander Pretschner , Bruno Legeard (2012), A taxonomy of model-based testing approaches, Software Testing, Verification and Reliability, 22(5), pp 297-312 [9] Mohammed Akour, Bouchaid Falah, Karima Kaddouri (2016), An Improvement in Comparison with traditional MBT ... performance test, kiểm thử tự động cách 7 Chương 2- PHƯƠNG PHÁP KIỂM THỬ DỰA TRÊN MƠ HÌNH 2.1 Kiểm thử dựa mơ hình 2.1.1 Kiểm thử dựa mơ hình Kiểm thử dựa mơ hình dạng kiểm thử dựa hành vi mơ hình, mã... điểm hệ thống kiểm thử giúp hệ thống hoàn thiện, bảo đảm chức đưa vào hoạt động Luận văn thực tìm hiểu mơ hình hệ thống nhúng, nghiên cứu kỹ thuật kiểm thử cho mô hình hệ thống nhúng thực kiểm thử. .. trình kiểm thử sản phẩm phần mềm nói chung hệ thống nhúng nói riêng Kiểm thử dựa mơ hình xem phương pháp kiểm thử có khả tự động hóa cao Kiểm thử dựa mơ hình phương pháp kiểm thử, ca kiểm thử sinh

Ngày đăng: 19/03/2021, 17:59

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan