Kiểmthử so sánh cơ bản (Elementary Comparison Test – ECT)

Một phần của tài liệu (LUẬN văn THẠC sĩ) các kỹ thuật kiểm thử phần mềm nhúng và ứng dụng (Trang 40 - 43)

CHƢƠNG 2 : CÁCKỸ THUẬT KIỂMTHỬ PHẦN MỀM NHÚNG

2.3 Cáckỹ thuật kiểmthử phần mềm nhúng

2.3.6.3 Kiểmthử so sánh cơ bản (Elementary Comparison Test – ECT)

Kiểm thử so sánh cơ bản thiết lậpđiều kiện bao phủ việc xác minh kiểm thử tất cả cácđườngđi và sự bảođảm hợp lý vềđộ tin cậy.

Kỹ thuật kiểm thử so sánh cơ bản gồm các bước sau:[1]  Phân tích mô tả chức năng

 Thiết lập các tình huống kiểmthử

 Thiết lập các trường hợpkiểm thử hợp logic  Thiết lập cáctrường hợpkiểm thửvật lý  Thiết lậpkiểm thửcác hành động  Thiết lập các kiểm tra

 Thiết lập trạng thái bắt đầu  Ghép nối kịch bản kiểm thử

2.3.6.4 Phương pháp phân loại cây (Classification-Tree Method – kCTM)

Phương pháp phân loại cây xác định các khía cạnh của hệ thống cần được kiểm thử, có thể là các yêu cầu chức năng hoặc sự an toàn của hệ thống. Phương pháp này hỗ trợ việc thiết kế kiểm thử hệ thống theo các trường hợp kiểm thử hộpđen.

Phương pháp phân loại cây bao gồm những bước sau:[1]  Xác định các khía cạnh của đối tượng kiểm thử

 Phân vùng miềnđầu vào theo các khía cạnh  Định rõ các trường hợp kiểm thử hợp logic  Ghép nối kịch bảnkiểm thử

2.4 So sánh các kỹ thuật kiểm thử phần mềm nhúng với kiểm thửphần mềm nói chung

Các kỹ thuật kiểm thử phần mềm nhúng về cơ bản là giống với kiểm thử phần mềm nói chung. Tuy nhiên việc kiểm thử phần mềm nhúng là quan trọng hơn bởi hai lý do sau. Kiểm thử và gỡ lỗi (debug) trong các phần mềm hệ thống nhúng là một vấn đề khó và tốn nhiều thời gian hơn so với kiểm thử và debug phần mềm ứng dụng thông thường. Hơn nữa trong hệ thống nhúng cực kỳ khó chấp nhận lỗi xảy ra. Người dùng có thể sẵn lòng mua các ứng dụng cho máy tính cá nhân có thể được trình bày không đầy đủ thông tin, thời gian phản hồi chậm, … nhưng không ai chấp nhận được nếu lỗi xảy ra trong các dụng cụ y tế khi đang trong quá trình phẫu thuật mà thiết bị lại ngưng làm việc hoặc thiết bị chuyển tín hiệu điện thoại kết nối bạn với sai người mà bạn muốn…[2] Ngoài ra do đặc trưng của hệ thống nhúng rất đa dạng về môi trường phát triển, đa dạng về kiến trúc phần cứng cũng như kiến trúc phần mềm nên kiểm thử cho phần mềm nhúng có một số đặc trưng riêng biệt.

Việc thiết lập môi trường kiểm thử cho phần mềm nhúng là phức tạp và khác biệt so với phần mềm thông thường. Các hệ thống nhúng thường cần có sự kết hợp liên lạc giữa phần cứng và phần mềm. Có rất nhiều hãng sản xuất phần cứng khác nhau, ứng với mỗi nhà sản xuất lại có nhiều dòng sản phẩm, phong phú về chủng loại và giá thành.Việc thiết lập kết nối giữa phần cứng và phần mềm để nạp chương trình và debug có thể khá phức tạp, mất thời gian.

Để kiểm thử phần mềm của hệ thống nhúng hiệu quả thì cần phải đảm bảo phần cứng đã chạy tốt vì như vậy khi nhúng phần mềm vào để thực thi và gỡ lỗi sẽ loại được lỗi do phần cứng gây nên.

Hệ thống nhúng hầu hết đều phải thỏa mãn yêu cầu hoạt động theo thời gian thực. Việc kiểm thử phần mềm của hệ thống nhúng cũng có các ràng buộc về thời gian đáp ứng, về tài nguyên phần cứng: không có bàn phím, màn hình hoặc kích thước bộ nhớ hạn chế…ràng buộc về chế độ bảo mật của phần cứng.

Mô hình đa chữ V thường được áp dụng trong quá trình xây dựng hệ thống nhúng. Các chức năng của hệ thống nhúng có thể được kiểm thử như nhau tại các giai đoạn mô hình, nguyên mẫu và sản phẩm cuối. Tuy nhiên trong mỗi giai đoạn phát triển thì có một số chức năng cần thiết phải kiểm thử tương ứng với giai đoạn đó tức là cần phải có những kỹ thuật đặc biệt và môi trường kiểm thử chuyên biệt. Nên việc lên kế hoạch kiểm thử trong phần mềm nhúng sẽ khác so với các phần mềm thông thường.

Khác với các máy tính đa chức năng (multi-purposes computers), ví dụ như máy vi tính cá nhân, một hệ thống nhúng thường chỉ thực hiện một hoặc một vài chức năng nhất định. Nhưng do đặc trưng của hệ nhúng nên ngoài việc kiểm thử các yêu cầu chức năng thì các yêu cầu phi chức năng chiếm khá nhiều thời gian kiểm thử.

Các công cụ kiểm thử phần mềm nhúng thường là khác với các phần mềm thông thường. Các công ty sản xuất vi xử lý thường phát triển các công cụ để thực thi và gỡ lỗi cho các vi xử lý mà họ sản xuất luôn. Một số công cụ được dùng trong phát triển và kiểm thử phần mềm nhúng : IAR, Keil, CodeWarrior, Diab,…

Khác với những lập trình viên hay kiểm thử viên thông thường như lập trình, kiểm thử web hay lập trình, kiểm thử ứng dụng chỉ cần thông thạo một vài ngôn ngữ lập trình, hệ điều hành và chương trình khung (framework) là có thể làm việc có hiệu quả. Một lập trình viên, kiểm thử viên hệ thống nhúng phải có kiến thức chuyên môn sâu rộng, sự năng động và khả năng học hỏi tốt để có thể làm việc tối ưu với nhiều phần cứng khác nhau như: Texas Instrument, Freescale, ARM, Intel, Motorola…, với nhiều hệ điều hành khác nhau cũng như các ngôn ngữ lập trình khác nhau. Trong một số trường hợp người lập trình viên, kiểm thử viên hệ thống nhúng cần phải bổ sung thêm một số kiến thức nhất định về trình biên dịch (compiler), xử lý tín hiệu số, điện tử và sơ đồ mạch (schematics)… để có thể am hiểu về hệ thống, hiểu về phần cứng, phần mềm giúp cho việc phát triển và kiểm thử phần mềm nhúng đạt kết quả tốt.

Một phần của tài liệu (LUẬN văn THẠC sĩ) các kỹ thuật kiểm thử phần mềm nhúng và ứng dụng (Trang 40 - 43)

Tải bản đầy đủ (PDF)

(74 trang)