Tổng quan nghiên cứu

Hệ thống nhúng, xuất hiện từ những năm 1960, đã trở thành một lĩnh vực công nghệ thông tin phát triển mạnh mẽ với ứng dụng rộng rãi trong công nghiệp và đời sống. Theo ước tính, các hệ thống nhúng chiếm tỷ trọng lớn trong các thiết bị điện tử hiện đại, từ đồng hồ kỹ thuật số đến hệ thống điều khiển trong ô tô và nhà máy. Sự phức tạp ngày càng tăng của hệ thống nhúng đòi hỏi các phương pháp kiểm thử hiệu quả nhằm đảm bảo độ tin cậy và tính chính xác của sản phẩm. Trong đó, kiểm thử tự động dựa trên mô hình được xem là giải pháp tối ưu giúp giảm chi phí, rút ngắn thời gian và nâng cao chất lượng kiểm thử.

Mục tiêu nghiên cứu của luận văn là phát triển và áp dụng kỹ thuật kiểm thử tự động dựa trên mô hình trong hệ thống nhúng, cụ thể là hệ thống điều khiển hành trình ô tô. Nghiên cứu tập trung vào việc xây dựng mô hình kiểm thử trong môi trường Matlab/Simulink, sinh các ca kiểm thử tự động, thực thi và đánh giá mức độ phủ kiểm thử nhằm đảm bảo hệ thống đáp ứng các yêu cầu kỹ thuật. Phạm vi nghiên cứu được giới hạn trong việc áp dụng kỹ thuật kiểm thử dựa trên mô hình cho hệ thống nhúng tại Việt Nam trong giai đoạn 2016-2018.

Ý nghĩa của nghiên cứu thể hiện qua việc nâng cao hiệu quả kiểm thử trong các hệ thống nhúng phức tạp, giảm thiểu lỗi phần mềm, đồng thời cung cấp cơ sở khoa học cho việc ứng dụng kiểm thử tự động trong thực tế sản xuất và phát triển phần mềm hệ thống nhúng.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Luận văn dựa trên hai lý thuyết chính: lý thuyết kiểm thử phần mềm và mô hình hóa hệ thống nhúng. Lý thuyết kiểm thử phần mềm tập trung vào các nguyên tắc kiểm thử như phát hiện lỗi, bao phủ kiểm thử và nguyên tắc bắt đầu kiểm thử sớm. Mô hình hóa hệ thống nhúng sử dụng các ký hiệu như sơ đồ khối Simulink, máy trạng thái hữu hạn (FSM) và các mô hình dựa trên chuyển tiếp để mô tả hành vi hệ thống.

Ba khái niệm chuyên ngành quan trọng được áp dụng gồm:

  • Kiểm thử dựa trên mô hình (Model-Based Testing - MBT): kỹ thuật sinh tự động các ca kiểm thử từ mô hình đặc tả hành vi hệ thống.
  • Độ phủ kiểm thử (Test Coverage): tỷ lệ phần trăm các ca kiểm thử đã thực hiện trên tổng số ca kiểm thử cần thiết, đánh giá mức độ kiểm thử toàn diện.
  • Hệ thống nhúng (Embedded System): hệ thống chuyên dụng tích hợp phần cứng và phần mềm, hoạt động ổn định trong môi trường thực tế với yêu cầu thời gian thực và độ tin cậy cao.

Phương pháp nghiên cứu

Nguồn dữ liệu chính được thu thập từ việc xây dựng mô hình hệ thống điều khiển hành trình ô tô trong Matlab/Simulink, kết hợp với các tài liệu kỹ thuật và tài liệu tham khảo chuyên ngành. Cỡ mẫu nghiên cứu bao gồm các ca kiểm thử được sinh tự động từ mô hình, với số lượng khoảng vài chục ca kiểm thử chính thức.

Phương pháp phân tích sử dụng kỹ thuật mô phỏng và đánh giá mức độ phủ kiểm thử thông qua công cụ Simulink Test Manager và Simulink Design Verifier. Quá trình nghiên cứu được thực hiện theo timeline gồm:

  • Giai đoạn 1 (3 tháng): Xây dựng mô hình hệ thống và thiết kế ca kiểm thử.
  • Giai đoạn 2 (2 tháng): Sinh ca kiểm thử tự động và thực thi mô phỏng.
  • Giai đoạn 3 (1 tháng): Đánh giá kết quả, phân tích độ phủ và hiệu quả kiểm thử.

Phương pháp chọn mẫu là chọn các ca kiểm thử đại diện cho các tình huống vận hành khác nhau của hệ thống điều khiển hành trình, đảm bảo bao phủ các trường hợp đầu vào và đầu ra quan trọng.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

  1. Hiệu quả sinh ca kiểm thử tự động: Quá trình sinh ca kiểm thử từ mô hình Simulink giúp tạo ra khoảng 30 ca kiểm thử đại diện cho các tình huống vận hành khác nhau của hệ thống điều khiển hành trình. So với phương pháp thủ công, thời gian sinh ca kiểm thử giảm khoảng 50%, đồng thời tăng số lượng ca kiểm thử lên gấp đôi.

  2. Độ phủ kiểm thử đạt 100% MCDC: Sau khi thực hiện các ca kiểm thử, mức độ phủ kiểm thử theo tiêu chuẩn Modified Condition/Decision Coverage (MCDC) đạt 100%, đảm bảo rằng tất cả các điều kiện và quyết định trong mô hình đều được kiểm tra đầy đủ.

  3. Độ chính xác của mô hình và kết quả kiểm thử: Kết quả mô phỏng cho thấy hệ thống điều khiển hành trình duy trì vận tốc trong phạm vi sai số không quá 10% khi độ dốc đường thay đổi, đáp ứng yêu cầu kỹ thuật đề ra. Thời gian đạt vận tốc hành trình không vượt quá 60 giây, phù hợp với tiêu chuẩn thiết kế.

  4. Tiết kiệm chi phí và thời gian kiểm thử: Việc áp dụng kiểm thử tự động dựa trên mô hình giúp giảm chi phí nhân lực và thời gian kiểm thử hồi quy, đặc biệt trong giai đoạn bảo trì hệ thống, với khả năng thực thi hàng trăm ca kiểm thử trong vài giờ.

Thảo luận kết quả

Nguyên nhân chính của hiệu quả kiểm thử đến từ việc mô hình hóa chi tiết và chính xác hệ thống điều khiển hành trình trong Simulink, cho phép sinh tự động các ca kiểm thử có độ bao phủ cao. So với các nghiên cứu trước đây chỉ đạt mức độ phủ khoảng 70-80%, kết quả này cho thấy sự tiến bộ rõ rệt trong việc áp dụng công cụ Simulink Test Manager và Design Verifier.

Việc đạt được độ phủ 100% MCDC là minh chứng cho tính toàn diện của bộ ca kiểm thử, giúp phát hiện sớm các lỗi tiềm ẩn trong thiết kế hệ thống nhúng. Kết quả mô phỏng cũng phản ánh đúng các đặc tính vật lý và điều khiển thực tế của hệ thống, từ đó nâng cao độ tin cậy của sản phẩm.

Các biểu đồ vận tốc xe theo thời gian và độ dốc đường minh họa rõ ràng khả năng điều chỉnh của hệ thống, có thể được trình bày trong báo cáo dưới dạng biểu đồ đường và bảng số liệu để so sánh các kịch bản kiểm thử khác nhau.

Tuy nhiên, việc xây dựng mô hình và thiết kế ca kiểm thử đòi hỏi kỹ năng chuyên môn cao, đồng thời chi phí đầu tư ban đầu cho mô hình hóa khá lớn. Đây là thách thức cần được cân nhắc khi áp dụng rộng rãi trong công nghiệp.

Đề xuất và khuyến nghị

  1. Triển khai rộng rãi kỹ thuật kiểm thử dựa trên mô hình: Các doanh nghiệp phát triển hệ thống nhúng nên áp dụng phương pháp kiểm thử tự động dựa trên mô hình để nâng cao chất lượng sản phẩm, giảm thiểu lỗi và tiết kiệm chi phí kiểm thử. Thời gian triển khai dự kiến trong 6-12 tháng.

  2. Đào tạo nhân lực chuyên sâu về mô hình hóa và kiểm thử: Tổ chức các khóa đào tạo chuyên sâu về Matlab/Simulink và kỹ thuật kiểm thử dựa trên mô hình cho kỹ sư kiểm thử và phát triển phần mềm nhằm nâng cao năng lực thực hiện kiểm thử tự động. Khuyến nghị thực hiện định kỳ hàng năm.

  3. Phát triển công cụ hỗ trợ tích hợp: Đầu tư phát triển hoặc mua sắm các công cụ hỗ trợ tích hợp kiểm thử tự động với quy trình phát triển phần mềm hiện tại, giúp tự động hóa toàn bộ chu trình kiểm thử từ sinh ca kiểm thử đến báo cáo kết quả. Thời gian thực hiện 12 tháng.

  4. Xây dựng kho dữ liệu ca kiểm thử và kết quả: Thiết lập hệ thống lưu trữ và quản lý các ca kiểm thử, kết quả kiểm thử để phục vụ cho việc kiểm thử hồi quy và phân tích lỗi trong các dự án phát triển tiếp theo. Chủ thể thực hiện là phòng kiểm thử và quản lý dự án, thời gian 3-6 tháng.

Đối tượng nên tham khảo luận văn

  1. Kỹ sư phát triển hệ thống nhúng: Nghiên cứu giúp hiểu rõ phương pháp mô hình hóa và kiểm thử tự động, áp dụng vào thiết kế và phát triển sản phẩm nhằm nâng cao chất lượng và độ tin cậy.

  2. Chuyên viên kiểm thử phần mềm: Cung cấp kiến thức về kỹ thuật kiểm thử dựa trên mô hình, công cụ hỗ trợ và quy trình thực hiện, giúp tối ưu hóa công tác kiểm thử trong các dự án phần mềm nhúng.

  3. Nhà quản lý dự án CNTT: Hỗ trợ trong việc hoạch định chiến lược kiểm thử, phân bổ nguồn lực và đánh giá hiệu quả kiểm thử tự động, từ đó nâng cao hiệu quả quản lý dự án.

  4. Giảng viên và sinh viên ngành công nghệ thông tin: Là tài liệu tham khảo quý giá cho việc giảng dạy và nghiên cứu về kiểm thử phần mềm, hệ thống nhúng và ứng dụng Matlab/Simulink trong kỹ thuật kiểm thử.

Câu hỏi thường gặp

  1. Kiểm thử dựa trên mô hình là gì?
    Kiểm thử dựa trên mô hình là kỹ thuật sinh tự động các ca kiểm thử từ mô hình đặc tả hành vi của hệ thống, giúp phát hiện lỗi sớm và tăng độ bao phủ kiểm thử. Ví dụ, mô hình Simulink được sử dụng để tạo ca kiểm thử cho hệ thống điều khiển hành trình.

  2. Ưu điểm của kiểm thử tự động dựa trên mô hình?
    Phương pháp này giúp tiết kiệm thời gian, chi phí, tăng độ chính xác và khả năng lặp lại kiểm thử. Trong thực tế, nó cho phép thực thi hàng trăm ca kiểm thử trong thời gian ngắn, vượt trội so với kiểm thử thủ công.

  3. Làm thế nào để đánh giá mức độ phủ kiểm thử?
    Mức độ phủ kiểm thử được đánh giá bằng tỷ lệ phần trăm các ca kiểm thử đã thực hiện trên tổng số ca cần thiết, thường sử dụng các chỉ số như MCDC. Trong nghiên cứu, mức độ phủ đạt 100% MCDC cho thấy kiểm thử toàn diện.

  4. Những khó khăn khi áp dụng kiểm thử dựa trên mô hình?
    Khó khăn chính là yêu cầu kỹ năng cao trong xây dựng mô hình, chi phí đầu tư ban đầu lớn và cần thời gian để phát triển bộ ca kiểm thử phù hợp. Ngoài ra, việc bảo trì và mở rộng bộ kiểm thử cũng phức tạp.

  5. Kiểm thử dựa trên mô hình có thể áp dụng cho hệ thống nào?
    Phương pháp này phù hợp với các hệ thống nhúng có tính phức tạp cao, yêu cầu độ tin cậy và thời gian thực, như hệ thống điều khiển ô tô, thiết bị y tế, và các hệ thống công nghiệp tự động.

Kết luận

  • Nghiên cứu đã phát triển thành công kỹ thuật kiểm thử tự động dựa trên mô hình áp dụng cho hệ thống nhúng, cụ thể là hệ thống điều khiển hành trình ô tô.
  • Mô hình hóa trong Matlab/Simulink và sinh ca kiểm thử tự động giúp đạt độ phủ kiểm thử 100% MCDC, đảm bảo kiểm thử toàn diện.
  • Kết quả mô phỏng cho thấy hệ thống đáp ứng các yêu cầu kỹ thuật về vận tốc và khả năng điều chỉnh khi thay đổi độ dốc đường.
  • Phương pháp kiểm thử này tiết kiệm đáng kể thời gian và chi phí so với kiểm thử thủ công, đặc biệt trong giai đoạn bảo trì.
  • Đề xuất triển khai rộng rãi kỹ thuật kiểm thử dựa trên mô hình, đồng thời đào tạo nhân lực và phát triển công cụ hỗ trợ để nâng cao hiệu quả kiểm thử trong thực tế.

Next steps: Triển khai áp dụng trong các dự án thực tế, mở rộng nghiên cứu sang các hệ thống nhúng phức tạp hơn và tích hợp kiểm thử tự động vào quy trình phát triển phần mềm chuẩn.

Các tổ chức và cá nhân trong lĩnh vực phát triển hệ thống nhúng nên nghiên cứu và áp dụng kỹ thuật kiểm thử dựa trên mô hình để nâng cao chất lượng sản phẩm và hiệu quả kiểm thử.