Kiểm thử giao diện đối với phần mềm nhúng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và đề xuất các phương pháp kiểm thử giao diện phần mềm (Trang 65 - 67)

4.3.1. Hệ thống nhúng và các đặc điểm cơ bản

Hệ thống nhúng (Embedded system) là một thuật ngữ để chỉ một hệ tính toán

nằm trong sản phẩm, tạo thành một phần của hệ thống lớn hơn và thực hiện một số chức năng của hệ thống. Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin. Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao.

Mỗi hệ thống nhúng phải đáp ứng đƣợc các yêu cầu dƣới đây – đây cũng là những đặc tính chung của các hệ thống nhúng:

1. Khả năng độc lập và thông minh hoá: Điều này đƣợc chỉ rõ hơn thông

qua một số các thuộc tính yêu cầu, cụ thể nhƣ: - Độ tin cậy

- Khả năng bảo trì và nâng cấp - Sự phổ cập và tiện sử dụng - Độ an toàn

- Tính bảo mật

2. Hiệu quả: Yêu cầu này đƣợc thể hiện thông qua một số các đặc điểm

của hệ thống nhƣ sau:

- Năng lƣợng tiêu thụ

- Kích thƣớc về phần cứng và phần mềm - Hiệu quả về thời gian thực hiện

- Kích thƣớc và khối lƣợng - Giá thành

3. Phân hoạch tác vụ và chức năng hoá: Các bộ vi xử lý trong các hệ

nhúng thƣờng đƣợc sử dụng để đảm nhiệm và thực hiện một hoặc một nhóm chức năng rất độc lập và cũng đặc thù cho từng phần chức năng của hệ thống lớn mà nó đƣợc nhúng vào. Ví dụ nhƣ một vi xử lý thực hiện một phần điều khiển cho một chức năng thu thập, xử lý và hiển thị của ôtô hay hệ thống điều khiển quá trính. Khả năng này làm tăng thêm sự chuyên biệt hoá về chức năng của một hệ thống lớn và dễ dàng hơn cho quá trính xây dựng, vận hành và bảo trì.

4. Khả năng thời gian thực: Các hệ thống đều gắn liền với việc đảm nhiệm

một chức năng chính và phải đƣợc thực hiện đúng theo một khung thời gian qui định. Thông thƣờng một chức năng của hệ thống phải đƣợc thực hiện và hoàn thành theo một yêu cầu thời gian định trƣớc để đảm bảo thông tin cập nhật kịp thời cho phần xử lý của các chức năng khác và có thể ảnh hƣởng trực tiếp tới sự hoạt động đúng và chính xác của toàn hệ thống. Tuỳ thuộc vào từng bài toán và yêu cầu của hệ thống mà yêu cầu về khả năng thời gian thực cũng rất khác nhau.

4.3.2. Kiểm thử giao diện hệ thống nhúng

Hệ thống nhúng cũng đƣợc lập trình nhƣ một phần mềm, do đó kiểm thử hệ thống nhúng cũng trải qua các giai đoạn kiểm thử và sử dụng các kỹ thuật kiểm thử nhƣ các phần mềm thông dụng nói chung. Tuy nhiên, hầu hết các hệ thống nhúng đƣợc dành riêng cho một ứng dụng nhất định. Ví dụ, hệ thống điều khiển ô tô hay tàu hỏa sẽ luôn chạy phần mềm đó mà không có bất kỳ chức năng nào khác. Các hệ thống nhúng cũng có giao diện chuyên biệt riêng bao gồm các nút bấm, bánh lái, pê-đan,… , hầu hết không dùng chuột và bàn phím nhƣ các phần mềm thông thƣờng. Chính vì thế, kiểm thử giao diện hệ thống nhúng sẽ khác hơn so với kiểm thử phần mềm thông dụng. Đặc biệt cần quan tâm tới việc kiểm tra xem giao diện hệ thống có đáp ứng các yêu cầu về tính tiện dụng bao gồm: tính rõ ràng, tính phản hồi, tính ràng buộc, tính ánh xạ, tính nhất quán và tính gợi ý.

Một đặc điểm khác biệt của hệ thống nhúng đó là giao diện. Các hệ nhúng đơn nhiệm không có giao diện (ví dụ bộ điều khiển ổ đĩa máy tính), một số hệ thống đơn giản giao diện chỉ là các nút bấm, đèn LED,… trong khi một số hệ thống phức tạp hơn có đầy đủ giao diện giao tiếp ngƣời dùng tƣơng tự nhƣ các hệ điều hành trong các thiết bị để bàn [13].

Đối với các hệ thống nhúng có giao diện đồ họa tƣơng tự giao diện đồ họa của phần mềm ứng dụng thông thƣờng, ta áp dụng các phƣơng pháp và kỹ thuật giao diện nhƣ đã nêu trong Chƣơng 3 của luận văn. Ngoài ra, hệ thống nhúng sử dụng các thiết

bị phần cứng đặc trƣng đi kèm. Kiểm thử giao diện hệ nhúng đảm bảo phải kiểm thử qua các thành phần này.

 Các nút bấm và đèn LED

Một số hệ thống với giao diện ngoài chỉ gồm nút bấm và các đèn tín hiệu, ví dụ nhƣ máy giặt tự động. Khi tác động vào các nút bấm, hệ thống hoạt động, và thông tin trạng thái làm việc của hệ thống có thể đƣợc biểu hiện qua trạng thái (tốc độ nhấp nháy, màu sắc) của đèn tín hiệu. Trƣớc tiên cần kiểm tra giao diện, cách sắp xếp bố trí các nút bấm, vị trí đèn tín hiệu. Cần trả lời một số câu hỏi: Sắp xếp nhƣ vậy đã hợp lý hay chƣa? Nhìn vào giao diện đó, ngƣời dùng có thể hình dung đƣợc thao tác sử dụng hay không? Có các thông tin gợi ý, hỗ trợ phù hợp hay không?,.. Kiểm tra hoạt động của các nút bấm, khi nhấn vào nút bấm điều gì sẽ xảy ra, ngƣời dùng có cảm nhận đƣợc sự phản hồi của hệ thống? Trạng thái đèn tín hiệu có tƣơng ứng với các thao tác đã thực thi hay không? Nó có mang tính gợi ý cho ngƣời dùng hay không (đèn sáng xanh chỉ máy hoạt động bình thƣờng, đèn đỏ, đèn nhấp nháy mang ý cảnh báo,…).

 Thành phần kết nối mạng

Ngoài các nút bấm, đèn tín hiệu, một số hệ nhúng còn sử dụng kết nối mạng để tƣơng tác với ngƣời dùng. Khi đó phải kiểm thử hoạt động của các giao tiếp mạng này.

 Giao diện đồ họa

Các hệ nhúng phức tạp hơn sử dụng màn hình đồ họa để tƣơng tác ngƣời dùng. Các hệ thống này có thể đơn giản chỉ là bộ điều khiển chuột của máy tính bàn, hay phức tạp hơn nhƣ giao diện của các smart phones. Tổng thể giao diện có hài hòa về bố cục, màu sắc hay không? Lần lƣợt kiểm tra hoạt động của từng đối tƣợng trên màn hình, sự tƣơng tác giữa các nút bấm và các thành phần khác?

Với các hệ thống nhúng đơn giản có thể tiến hành kiểm thử trực tiếp trên sản phẩm. Tuy nhiên, một số hệ thống lớn với chi phí đắt, có thể gây hậu quả nghiêm trọng về kinh tế, sự an toàn và sức khỏe con ngƣời,… thì cần tiến hành kiểm thử trên môi trƣờng giả lập. Hiện nay trên thị trƣờng có rất nhiều các phần mềm giả lập. Với mỗi hệ thống nhúng chuyên biệt lại có nhiều phần mềm giả lập khác nhau. Đơn giản nhƣ chỉ riêng hệ điều hành trên thiết bị di động Android đƣợc sử dụng nhiều trong các smart phone cũng có rất nhiều phần mềm giả lập trên máy tính, điển hình là ba phần mềm: BlueStarks, YouWave, Official Android Emulator, và hoàn toàn có thể tải các phần mềm dùng thử miễn phí trên mạng.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và đề xuất các phương pháp kiểm thử giao diện phần mềm (Trang 65 - 67)