Trong hướng dẫn này, bạn sẽ học
- Hệ thống nhúng là gì?
- Thử nghiệm nhúng là gì?
- Các loại kiểm tra phần mềm nhúng
- Sự khác biệt: Kiểm thử nhúng và Kiểm thử phần mềm
- Thách thức: Kiểm tra phần mềm nhúng
Hệ thống nhúng là gì?
Hệ thống nhúng là các thiết bị được điều khiển điện tử trong đó phần mềm và phần cứng được kết hợp chặt chẽ với nhau. Hệ thống nhúng có thể chứa nhiều thiết bị tính toán khác nhau. Đây là những PC được tích hợp trong các thiết bị khác để vận hành các chức năng dành riêng cho ứng dụng. Người dùng cuối thường thậm chí không biết về sự tồn tại của họ.
Kiểm tra nhúng
Kiểm tra nhúng là một quá trình kiểm tra để kiểm tra các thuộc tính chức năng và phi chức năng của cả phần mềm và phần cứng trong một hệ thống nhúng và đảm bảo rằng sản phẩm cuối cùng không có lỗi. Mục đích chính của kiểm thử nhúng là để xác minh và xác nhận xem sản phẩm cuối cùng của phần cứng và phần mềm nhúng có đáp ứng các yêu cầu của khách hàng hay không.
Kiểm thử phần mềm nhúng kiểm tra và đảm bảo phần mềm liên quan có chất lượng tốt và tuân thủ tất cả các yêu cầu mà phần mềm đó phải đáp ứng. Kiểm thử phần mềm nhúng là một cách tiếp cận tuyệt vời để đảm bảo an ninh trong các ứng dụng quan trọng như thiết bị y tế, đường sắt, hàng không, công nghiệp xe cộ, v.v. Kiểm tra nghiêm ngặt và cẩn thận là yếu tố quan trọng để cấp chứng nhận phần mềm.
Cách thực hiện Kiểm tra phần mềm nhúng
Nói chung, bạn kiểm tra vì bốn lý do:
- Để tìm lỗi trong phần mềm
- Giúp giảm thiểu rủi ro cho cả người dùng và công ty
- Cắt giảm chi phí phát triển và bảo trì
- Để cải thiện hiệu suất
Trong Thử nghiệm nhúng, các hoạt động sau được thực hiện:
1. Phần mềm được cung cấp một số đầu vào.
2. Một phần của phần mềm được thực thi.
3. Trạng thái phần mềm được quan sát và các đầu ra được kiểm tra các thuộc tính mong đợi như đầu ra có khớp với kết quả mong đợi hay không, có phù hợp với các yêu cầu và không xảy ra sự cố hệ thống hay không.
Các loại kiểm tra phần mềm nhúng
Về cơ bản, có năm cấp độ kiểm tra có thể được áp dụng cho phần mềm nhúng
Kiểm tra đơn vị phần mềm
Mô-đun đơn vị là một hàm hoặc lớp. Unit Testing được thực hiện bởi nhóm phát triển, chủ yếu là nhà phát triển và thường được thực hiện theo mô hình đánh giá ngang hàng. Dựa trên đặc điểm kỹ thuật của các trường hợp kiểm thử mô-đun được phát triển.
Thử nghiệm hội nhập
Kiểm thử tích hợp có thể được phân thành hai phân đoạn:
- Kiểm tra tích hợp phần mềm
- Kiểm tra tích hợp phần mềm / phần cứng.
Cuối cùng, sự tương tác của miền phần cứng và các thành phần phần mềm được kiểm tra. Điều này có thể kết hợp việc kiểm tra sự tương tác giữa các thiết bị ngoại vi và phần mềm tích hợp sẵn.
Phát triển phần mềm nhúng có một đặc điểm duy nhất là tập trung vào môi trường thực tế, trong đó phần mềm được chạy, thường được tạo song song với phần mềm. Điều này gây ra sự bất tiện cho thử nghiệm vì không thể thực hiện thử nghiệm toàn diện trong điều kiện mô phỏng.
Kiểm tra đơn vị hệ thống
Giờ đây, mô-đun sẽ được kiểm tra là một khuôn khổ đầy đủ bao gồm mã phần mềm hoàn chỉnh, bổ sung cho tất cả hệ điều hành thời gian thực (RTOS) và các phần liên quan đến nền tảng như ngắt, cơ chế tác vụ, giao tiếp, v.v. Giao thức Point of Control không còn là một lệnh gọi hàm hoặc một lệnh gọi phương thức, mà là một thông điệp được gửi / nhận bằng cách sử dụng các hàng đợi thông báo RTOS.
Tài nguyên hệ thống được quan sát để đánh giá khả năng hỗ trợ thực thi hệ thống nhúng của hệ thống. Đối với khía cạnh này, thử nghiệm hộp xám là phương pháp thử nghiệm được ưa chuộng. Tùy thuộc vào tổ chức, kiểm thử đơn vị hệ thống là nhiệm vụ của nhà phát triển hoặc một nhóm tích hợp hệ thống chuyên dụng.
Kiểm tra tích hợp hệ thống
Mô-đun được kiểm tra bắt đầu từ một tập hợp các thành phần trong một nút duy nhất. Các điểm kiểm soát và quan sát (PCO) là sự kết hợp của các giao thức truyền thông liên quan đến mạng và RTOS, chẳng hạn như các bản tin mạng và sự kiện RTOS. Ngoài một thành phần, Virtual Tester cũng có thể đóng vai trò của một nút.
Kiểm tra xác thực hệ thống
Mô-đun được kiểm tra là một hệ thống con có triển khai hoàn chỉnh hoặc hệ thống nhúng hoàn chỉnh. Mục tiêu của bài kiểm tra cuối cùng này là để đáp ứng các yêu cầu về chức năng của đơn vị bên ngoài. Lưu ý rằng một thực thể bên ngoài có thể là một người hoặc một thiết bị trong mạng viễn thông hoặc cả hai.
Sự khác biệt: Kiểm thử nhúng và Kiểm thử phần mềm
Kiểm thử phần mềm | Kiểm tra nhúng |
---|---|
Kiểm thử phần mềm chỉ liên quan đến phần mềm. | Kiểm thử nhúng liên quan đến cả phần mềm cũng như phần cứng. |
Trung bình 90% thử nghiệm được thực hiện trên thế giới hoàn toàn là thử nghiệm hộp đen thủ công. | Thử nghiệm nhúng được thực hiện trên các hệ thống hoặc chip nhúng, nó có thể là thử nghiệm hộp đen hoặc hộp trắng. |
Các lĩnh vực kiểm tra chính là kiểm tra GUI, chức năng, xác thực và một số cấp độ kiểm tra cơ sở dữ liệu. | Các lĩnh vực thử nghiệm chính là hành vi của phần cứng đối với số không. đầu vào được cung cấp cho nó. |
Kiểm thử phần mềm chủ yếu được thực hiện trên các ứng dụng dựa trên máy khách-máy chủ, web và thiết bị di động. | Kiểm tra nhúng thường được thực hiện trên Phần cứng. |
ví dụ: Google Mail, Yahoo Mail, các ứng dụng Android. | ví dụ: Máy thuộc miền chăm sóc sức khỏe, Bộ vi điều khiển được sử dụng trong máy tính. |
Thách thức: Kiểm tra phần mềm nhúng
Một số thách thức mà người ta có thể đối mặt trong quá trình kiểm thử phần mềm nhúng:
Phụ thuộc phần cứng
Sự phụ thuộc vào phần cứng là một trong những khó khăn chính phải đối mặt trong quá trình thử nghiệm phần mềm nhúng vì quyền truy cập vào phần cứng bị hạn chế. Tuy nhiên, Trình mô phỏng và Trình mô phỏng có thể không thể hiện chính xác hoạt động của thiết bị thực tế và có thể đưa ra cảm nhận sai về hiệu suất hệ thống và khả năng sử dụng của ứng dụng.
Phần mềm mã nguồn mở
Phần lớn các thành phần phần mềm nhúng có bản chất là mã nguồn mở, không được tạo ra trong nhà và không có thử nghiệm hoàn chỉnh cho nó. Có một loạt các kết hợp thử nghiệm và các kịch bản kết quả.
Lỗi phần mềm so với phần cứng
Một khía cạnh khác là khi phần mềm đang được phát triển cho một phần cứng mới được tạo ra, trong quá trình này, tỷ lệ lỗi phần cứng cao có thể được xác định. Các khiếm khuyết được tìm thấy chỉ không giới hạn ở phần mềm. Nó cũng có thể liên quan đến phần cứng.
Các khiếm khuyết có thể tái tạo
Các khiếm khuyết khó tái tạo / tái tạo trong trường hợp của hệ thống nhúng. Điều đó thực thi quy trình thử nghiệm nhúng để đánh giá mọi lần xuất hiện lỗi về cơ bản cao hơn đáng kể so với trong trường hợp tiêu chuẩn, ngoài việc thu thập nhiều dữ liệu nhất có thể được yêu cầu để thay đổi hệ thống nhằm tìm ra nền tảng của lỗi.
Cập nhật phần mềm liên tục
Các hệ thống nhúng yêu cầu cập nhật phần mềm thường xuyên như nâng cấp nhân, các bản sửa lỗi bảo mật, các trình điều khiển thiết bị khác nhau, v.v. Các hạn chế được xác định với ảnh hưởng của bản cập nhật phần mềm khiến cho việc xác định lỗi trở nên khó khăn. Ngoài ra, nó làm tăng tầm quan trọng của quy trình xây dựng và triển khai.
Tóm lược
Có một số khó khăn trong việc kiểm tra kiểm thử phần mềm nhúng gây khó khăn hơn kiểm thử phần mềm thông thường. Vấn đề cơ bản nhất là sự phụ thuộc chặt chẽ vào môi trường phần cứng được chuẩn bị đồng thời với phần mềm và điều đó thường xuyên được yêu cầu để thực hiện kiểm tra phần mềm đáng tin cậy. Đôi khi rất khó để kiểm tra phần mềm mà không có các công cụ tùy chỉnh, điều này khiến việc tập trung vào kiểm tra ở các giai đoạn muộn trở nên đặc biệt hấp dẫn.
Một trong những điều quan trọng nhất mà bạn nên nghĩ đến là bạn nên thường xuyên chọn kiểm thử phần mềm tự động. Kiểm thử tự động được nhúng là một quá trình nhanh hơn sẽ mất vài giờ để hoàn thành và theo cách này, vấn đề về phần mềm của bạn đã được giải quyết.