Trong chương này, chúng tôi trình bày công cụ SATAN (System’s Automatic Testability ANalysis), sẽ được sử dụng và mở rộng tính năng trong đề tài này. Trước đây, công cụ SATAN đã được phát triển để phân tích tính khả kiểm thử của các hệ thống phần cứng [29, 30]. Sau đó, Le Traon [31] đã nghiên cứu áp dụng SATAN để phân tích tính khả kiểm thử của các đặc tả phần mềm dưới dạng luồng dữ liệu. Các đặc tả được nghiên cứu là các mạng toán tử được thiết kế dựa vào phương pháp CAD (Computer-Aided Design) được phát triển bởi AEROSPATIALE1. Phân tích tính khả kiểm thử cho phép định vị các điểm khó kiểm thử trong đặc tả và thiết kế phần mềm, cải tiến các thuật toán và xác định các mục tiêu kiểm thử dựa vào các chiến lược kiểm thử.
Công cụ SATAN sử dụng một mô hình tính khả kiểm thử (testability model) để biểu diễn sự truyền thông tin trong hệ thống phần mềm, được đặc tả bởi mạng các toán tử. Mô hình tính khả kiểm thử là một đồ thị có hướng, được gọi là đồ thị truyền tin (Information Transfer Graph - ITG). Một mô
1 Ngày nay, công ty AEROSPATIALE trở thành tập đoàn EADS (European Aeronautic Defence and
45
hình tính khả kiểm thử cơ bản - chứa trong một đặc tả, được gọi là kiểu SATAN - ứng với mỗi toán tử hay mô-đun. Nó biểu diễn sự truyền thông tin trong toán tử hay mô-đun đó. Mô hình tính khả kiểm thử của hệ thống là sự kết nối các mô hình tính khả kiểm thử cơ bản của các toán tử và mô-đun trong hệ thống. Các đầu vào và đầu ra của các toán tử hay mô-đun và của hệ thống có khả năng thông tin (information capacity) được tính toán dựa trên miền dữ liệu. Trong quá trình hoạt động, một toán tử hay mô-đun có thể dẫn đến sự mất mát thông tin. Các khả năng thông tin và mất mát thông tin được bổ sung vào đồ thị truyền tin để có được một mạng, được gọi là mạng truyền tin
(Information Transfer Net - ITN). Luồng trao đổi thông tin trong hệ thống có thể được mô phỏng trên mạng truyền tin, và các sự mất mát thông tin thực sự của các toán tử hay mô-đun trong hệ thống được tính toán từ sự mô phỏng này. Trong các mục tiếp theo trong chương này, chúng tôi sẽ trình bày chi tiết về lý thuyết phương pháp phân tích tính khả kiểm thử được cài đặt bởi công cụ SATAN cũng như kiến trúc tổng thể của công cụ.