Tải bản đầy đủ (.pdf) (200 trang)

Nghiên cứu mở rộng tính năng của công cụ satan, thử nghiệm ứng dụng trong môi trường scicos và simulink

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.7 MB, 200 trang )


BỘ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG



NHIỆM VỤ HỢP TÁC QUỐC TẾ
KHOA HỌC VÀ CÔNG NGHỆ THEO NGHỊ ĐỊNH THƯ



BÁO CÁO TỔNG HỢP
KẾT QUẢ KHOA HỌC CÔNG NGHỆ ĐỀ TÀI
NGHIÊN CỨU KỸ THUẬT PHÂN TÍCH KHẢ NĂNG
KIỂM THỬ PHẦN MỀM VÀ MỞ RỘNG TÍNH NĂNG
CỦA CÔNG CỤ SATAN, THỬ NGHIỆM ỨNG DỤNG TRONG
MÔI TRƯỜNG SCICOS VÀ SIMULINK




Cơ quan chủ trì đề tài: Đại học Đà Nẵng
Chủ nhiệm đề tài: TS. Nguyễn Thanh Bình











Đà Nẵng - 2012

BỘ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG



NHIỆM VỤ HỢP TÁC QUỐC TẾ
KHOA HỌC VÀ CÔNG NGHỆ THEO NGHỊ ĐỊNH THƯ



BÁO CÁO TỔNG HỢP
KẾT QUẢ KHOA HỌC CÔNG NGHỆ ĐỀ TÀI
NGHIÊN CỨU KỸ THUẬT PHÂN TÍCH KHẢ NĂNG
KIỂM THỬ PHẦN MỀM VÀ MỞ RỘNG TÍNH NĂNG
CỦA CÔNG CỤ SATAN, THỬ NGHIỆM ỨNG DỤNG TRONG
MÔI TRƯỜNG SCICOS VÀ SIMULINK


Chủ nhiệm đề tài Cơ quan chủ trì đề tài


TS. Nguyễn Thanh Bình


Bộ Khoa học và Công nghệ








Đà Nẵng - 2012

i

ĐẠI HỌC ĐÀ NẴNG
__________________
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

Đà Nẵng, ngày 26 tháng 12 năm 2011


BÁO CÁO THỐNG KÊ
KẾT QUẢ THỰC HIỆN ĐỀ TÀI

I. THÔNG TIN CHUNG
1. Tên đề tài:
Nghiên cứu kỹ thuật phân tích khả năng kiểm thử phần mềm và
mở rộng tính năng của công cụ SATAN, thử nghiệm ứng dụng trong môi trường
Scicos và Simulink

2. Chủ nhiệm đề tài/dự án:
Họ và tên: Nguyễn Thanh Bình
Ngày, tháng, năm sinh: 16/06/1975 Nam/ Nữ: Nam
Học hàm, học vị: Tiến sỹ
Chức danh khoa học: Giảng viên Chức vụ: Trưởng Khoa

Điện thoại: Tổ chức: 0511 3 736 949 Nhà riêng: 0511 3 955 461
Mobile: 0914 74 79 74 E-mail:
Tên tổ chức đang công tác: Trường Đại học Bách Khoa, Đại học Đà
Nẵng
Địa chỉ tổ chức: 54, Nguyễn Lương Bằng, Liên Chiểu, TP. Đà Nẵng
Địa chỉ nhà riêng: Lô 202, Tổ 7, Mỹ An, Ngũ Hành Sơn, Đà Nẵng
3. Tổ chức chủ trì đề tài/dự án:
Tên tổ chức chủ trì đề tài: Đại học Đà Nẵng
Điện thoại: 0511 3 817 180 Fax: 0511 3 823 683
E-mail:
Website:
Địa chỉ: 41, Lê Duẩn, TP. Đà Nẵng
Họ và tên thủ trưởng tổ chức: Trần Văn Nam
Số tài khoản:
Ngân hàng:
Tên cơ quan chủ quản đề tài: Đại học Đà Nẵng

ii

II. TÌNH HÌNH THỰC HIỆN
1. Thời gian thực hiện đề tài/dự án:
- Theo Hợp đồng đã ký kết: từ tháng 01/2010 đến tháng 12/2011
- Thực tế thực hiện: từ tháng 01/2010 đến tháng 12/2011
2. Kinh phí và sử dụng kinh phí:
a) Tổng số kinh phí thực hiện: 950 tr.đ, trong đó:
+ Kính phí hỗ trợ từ SNKH: 950 tr.đ.
+ Kinh phí từ các nguồn khác (của đối tác nước ngoài): 16.000 USD.

b) Tình hình cấp và sử dụng kinh phí từ nguồn SNKH:
Số

TT

Theo kế hoạch Thực tế đạt được Ghi chú
(Số đề nghị
quyết toán)
Thời gian
(Tháng, năm)
Kinh phí
(Tr.đ)
Thời gian
(Tháng, năm)
Kinh phí
(Tr.đ)
1 01/2010 700 05/2010 700 700
2 01/2011 250 11/2011 250 250

c) Kết quả sử dụng kinh phí theo các khoản chi:
Đối với đề tài:
Đơn vị tính: Triệu đồng
Số
TT

Nội dung
các khoản chi
Theo kế hoạch Thực tế đạt được
Tổng SNK
H
Nguồn
khác
Tổng SNKH Nguồn

khác
1 Trả công lao động
(khoa học, phổ
thông)
450

450


450

450


2 Nguyên, vật liệu,
năng lượng
40

40


40

40


3 Thiết bị, máy móc
62

62



68,2

68,2


4 Đoàn ra
140 140 129,045 129,045
5 Đoàn vào
92 92 92 92
6 Chi khác
166 166 170,755 170,755

Tổng cộng 950 950 950 950
- Lý do thay đổi (nếu có):
1. Thiết bị máy móc: Do giá thực tế khi mua cao hơn so với giá lúc dự toán.

iii
2. Đoàn ra: Thay đổi số lượng người tham gia đoàn ra.

3. Các văn bản hành chính trong quá trình thực hiện đề tài/dự án:
(Liệt kê các quyết định, văn bản của cơ quan quản lý từ công đoạn xác định nhiệm vụ, xét chọn,
phê duyệt kinh phí, hợp đồng, điều chỉnh (thời gian, nội dung, kinh phí thực hiện nếu có); văn
bản của tổ chức chủ trì đề tài, dự án (đơn, kiến nghị điều chỉnh nếu có)
Số
TT

Số, thời gian ban
hành văn bản

Tên văn bản Ghi chú
1 2615/QĐ-
BKHCN, 2009
Về việc phê duyệt danh mục
và kinh phí thực hiện các
nhiệm vụ hợp tác quốc tế về
Khoa học và Công nghệ theo
Nghị định thư từ năm 2010

2 05/2010/HĐ-
NĐT, 2010
Hợp đồng thực hiện nhiệm vụ
hợp tác quốc tế về Khoa học
và Công nghệ theo Nghị định
thư


4. Tổ chức phối hợp thực hiện đề tài, dự án:
Số
TT
Tên tổ chức
đăng ký theo
Thuyết minh
Tên tổ chức đã
tham gia thực
hiện
Nội dung
tham gia
chủ yếu
Sản phẩm

chủ yếu
đạt được
Ghi
chú*
1 Khoa Công
nghệ Thông
tin, Trường
Đại học Bách
Khoa, Đại
học Đà Nẵng
Khoa Công
nghệ Thông
tin, Trường Đại
học Bách
Khoa, Đại học
Đà Nẵng
Tham gia
nghiên cứu
đề tài và
phát triển
phần mềm
Báo cáo,
bài báo,
đào tạo,
phần mềm

2 Khoa Công
nghệ Thông
tin, Trường
Đại học Công

nghệ, Đại học
Quốc gia Hà
Nội
Khoa Công
nghệ Thông
tin, Trường Đại
học Công
nghệ, Đại học
Quốc gia Hà
Nội
Tham gia
nghiên cứu
đề tài
Báo cáo
3 Khoa Tin
học, Trường
Đại học sư
phạm Huế
Khoa Tin học,
Trường Đại
học sư phạm
Huế
Tham gia
nghiên cứu
đề tài
Báo cáo

iv
4 Phòng nghiên
cứu LCIS,

Viện Đại học
Bách khoa
Grenoble
Phòng nghiên
cứu LCIS,
Viện Đại học
Bách khoa
Grenoble
Cung cấp
công cụ, hỗ
trợ cùng
nghiên cứu
và phát triển
phần mềm
Bài báo,
đào tạo,
phần mềm


5. Cá nhân tham gia thực hiện đề tài, dự án:
(Người tham gia thực hiện đề tài thuộc tổ chức chủ trì và cơ quan phối hợp, không quá 10
người kể cả chủ nhiệm)
Số
TT
Tên cá nhân
đăng ký theo
Thuyết minh

Tên cá nhân
đã tham gia

thực hiện
Nội dung
tham gia
chính
Sản phẩm
chủ yếu đạt
được
Ghi
chú*
1 TS. Nguyễn
Thanh Bình
TS. Nguyễn
Thanh Bình
Chủ trì
nghiên cứu
Bài báo,
Đào tạo,
Phần mềm

2 ThS. Đặng
Thiên Bình
ThS. Đặng
Thiên Bình
Tham gia
nghiên cứu,
viết phần
mềm
Bài báo,
Phần mềm


3 TS. Đặng Văn
Hưng
TS. Đặng Văn
Hưng
Tham gia
nghiên cứu
Báo cáo
4 ThS. Nguyễn
Văn Khang
ThS. Nguyễn
Văn Khang
Tham gia
nghiên cứu
Báo cáo
5 ThS. Trịnh
Công Duy
ThS. Trịnh
Công Duy
Tham gia
nghiên cứu,
viết phần
mềm
Phần mềm

6. Tình hình hợp tác quốc tế:
Số
TT
Theo kế hoạch
(Nội dung, thời gian, kinh phí, địa
điểm, tên tổ chức hợp tác, số

đoàn, số lượng người tham gia )
Thực tế đạt được
(Nội dung, thời gian, kinh phí, địa
điểm, tên tổ chức hợp tác, số
đoàn, số lượng người tham gia )
Ghi
chú*

1 Trao đổi, tiếp nhận công cụ
SATAN, 6/2010, Kinh phí
40,000,000đ, Phòng thí
nghiệm LCIS, Valence,
Pháp, 01 đoàn ra, 02 người.
Trao đổi, tiếp nhận công cụ
SATAN, 6/2010, Kinh phí
35,606,000đ, Phòng thí
nghiệm LCIS, Valence,
Pháp, 01 đoàn ra, 01 người.

2 Triển khai và chuyển giao
kết quả mở rộng công cụ
Triển khai và thực hiện mở
rộng công cụ SATAN,


v
SATAN, 01/2012, Kinh phí
100,000,000đ, Phòng thí
nghiệm LCIS, Valence,
Pháp, 01 đoàn ra, 02 người.

01/2012, Kinh phí
93,439,000đ, Phòng thí
nghiệm LCIS, Valence,
Pháp, 01 đoàn ra, 02 người.
3 Trao đổi về triển khai đề tài,
Kinh phí 62,000,000đ,
09/2010, Phòng thí nghiệm
DATIC, Đà Nẵng, 01 đoàn
vào, 02 người.
Trao đổi về triển khai đề tài,
Kinh phí 64,56,000đ,
12/2010, Phòng thí nghiệm
DATIC, Đà Nẵng, 01 đoàn
vào, 03 người.

4 Tư vấn kết quả thực hiện đề
tài, Kinh phí 30,000,000đ,
12/2011, Phòng thí nghiệm
DATIC, Đà Nẵng, 01 đoàn
vào, 02 người.
Tư vấn kết quả thực hiện đề
tài, Kinh phí 30,000,000đ,
12/2011, Phòng thí nghiệm
DATIC, Đà Nẵng, 01 đoàn
vào, 01 người.


7. Tình hình tổ chức hội thảo, hội nghị:
Số
TT

Theo kế hoạch
(Nội dung, thời gian, kinh phí, địa
điểm )
Thực tế đạt được
(Nội dung, thời gian, kinh
phí, địa điểm )
Ghi chú*
1 Kiểm thử và phân tích khả
năng kiểm thử phần mềm,
6/2011, 23 triệu đồng, Phòng
thí nghiệm DATIC, Đà Nẵng

Kiểm thử và phân tích
khả năng kiểm thử phần
mềm, 11/2011, 23 triệu
đồng, Phòng thí nghiệm
DATIC, Đà Nẵng


8. Tóm tắt các nội dung, công việc chủ yếu:
(Nêu tại mục 15 của thuyết minh, không bao gồm: Hội thảo khoa học, điều tra khảo sát
trong nước và nước ngoài)
Số
TT
Các nội dung, công
việc
chủ yếu
(Các mốc đánh giá chủ
yếu)


Thời gian
(Bắt đầu, kết thúc
- tháng … năm)
Người,
cơ quan
thực hiện
Theo kế
hoạch
Thực tế
đạt được
1
Nghiên cứu và đánh giá
tổng quan về các kỹ thuật
phân tích khả năng kiểm
thử hiện có.

1/1/2010 -
30/03/2010

1/1/2010 -
30/03/2010

Đặng Văn Hưng, Khoa
Công nghệ Thông tin,
Trường Đại học Công
nghệ, Đại học Quốc gia
Hà Nội
Nguyễn Thanh Bình,
Phòng thí nghiệm
DATIC.


vi
Nguy
ễn Văn Khang,
Khoa Tin học, Trường
Đại học Sư phạm Huế
2
Nghiên cứu công cụ phân
tích khả năng kiểm thử
SATAN.

01/04/2010
-
30/05/2010

01/04/2010
-
30/05/2010

Trịnh Công Duy,
Đặng Thiên Bình,
Phòng thí nghiệm
DATIC.
Michel Delaunay,
Phòng thí nghiệm LCIS.

3
Tiếp thu công cụ phân tích
khả năng kiểm thử
SATAN


01/06/2010
-
30/06/2010

01/06/2010
-
30/06/2010

Trịnh Công Duy,
Đặng Thiên Bình,
Nguyễn Thanh Bình,
Phòng thí nghiệm
DATIC.
Michel Delaunay,
Phòng thí nghiệm LCIS.

4
Tìm hiểu các môi trường
hỗ trợ phát triển phần
mềm: Simulink và Scicos.

01/07/2010
-
31/08/2010

01/07/2010
-
31/08/2010


Đặng Thiên Bình,
Phòng thí nghiệm
DATIC.

5
Mở rộng tính năng của
công cụ SATAN để phân
tích khả năng kiểm thử của
các phần mềm phát triển
trên môi trường mã nguồn
mở Scicos.

01/09/2010
-
28/02/2011

01/09/2010
-
28/02/2011

Đặng Thiên Bình,
Nguyễn Thanh Bình,
Phòng thí nghiệm
DATIC.
Michel Delaunay,
Chantal Robach, Phòng
thí nghiệm LCIS.

6
Mở rộng tính năng của

công cụ SATAN để phân
tích khả năng kiểm thử của
các phần mềm phát triển
trên môi trường mã nguồn
mở Simulink.

01/03/2011
-
30/10/2011

01/03/2011
-
30/09/2011

Đặng Thiên Bình,
Nguyễn Thanh Bình,
Phòng thí nghiệm
DATIC.
Michel Delaunay,
Chantal Robach, Phòng
thí nghiệm LCIS.

7
Thử nghiệm ứng dụng
phân tích khả năng kiểm
thử tại phòng thí nghiệm
sản xuất tự động, Trường
Đại học Bách khoa Đà
Nẵng.
01/09/2011

-
30/10/2011
01/09/2011
-
30/10/2011
Đặng Thiên Bình,
Nguyễn Thanh Bình,
Phòng thí nghiệm
DATIC.


III. SẢN PHẨM KH&CN CỦA ĐỀ TÀI, DỰ ÁN
1. Sản phẩm KH&CN đã tạo ra:

a) Sản phẩm

vii
Số
TT
Tên sản phẩm

Yêu cầu khoa học
cần đạt

Số lượng,
nơi công bố
(Tạp chí, nhà
xuất bản)
Theo
kế hoạch

Thực tế
đạt được
1 Công cụ SATAN

Toàn bộ mã
nguồn công cụ
SATAN.
Mã nguồn biên
dịch và thực thi
được.
Tài liệu kỹ thuật
về công cụ
SATAN.

Toàn bộ mã
nguồn công cụ
SATAN.
Mã nguồn biên
dịch và thực thi
được.
Tài liệu kỹ thuật
về công cụ
SATAN.


2 Chương trình mở rộng
tính năng công cụ
SATAN phân tích khả
năng kiểm thử các thiết
kế trong môi trường

Scicos.
Thiết kế rõ ràng,
chặt chẽ.
Mã nguồn dễ
bảo trì.
Được kiểm thử
đầy đủ.
Có tài liệu
hướng dẫn sử
dụng và hướng
dẫn cài đặt.
Tích hợp vào
SATAN.

Thiết kế rõ ràng,
chặt chẽ.
Mã nguồn dễ
bảo trì.
Được kiểm thử
đầy đủ.
Có tài liệu
hướng dẫn sử
dụng và hướng
dẫn cài đặt.
Tích hợp vào
SATAN.


3 Chương trình mở rộng
tính năng công cụ

SATAN phân tích khả
năng kiểm thử các thiết
kế trong môi trường
Simulink.
Thiết kế rõ ràng,
chặt chẽ.
Mã nguồn dễ
bảo trì.
Được kiểm thử
đầy đủ.
Có tài liệu
hướng dẫn sử
dụng và hướng
dẫn cài đặt.
Tích hợp vào
SATAN.

Thiết kế rõ ràng,
chặt chẽ.
Mã nguồn dễ
bảo trì.
Được kiểm thử
đầy đủ.
Có tài liệu
hướng dẫn sử
dụng và hướng
dẫn cài đặt.
Tích hợp vào
SATAN.



4 Đào tạo sau đại học
Góp phần đào
tạo 01 Nghiên
cứu sinh và 02
học viên Cao
học.
Góp phần đào
tạo 01 Nghiên
cứu sinh và 04
học viên Cao
học.

5 Bài báo khoa học
01 bài báo đăng
trên kỷ yếu hội
thảo khoa học
quốc tế.
01 bài báo
đăng
01 bài báo
đăng
trên tạp chí
quốc tế.
02 bài báo đăng
trên k
ỷ yếu hội


viii

trên t
ạp chí hoặc
kỷ yếu hội thảo
khoa học quốc
gia.
thảo khoa học
quốc tế.
01 bài báo đăng
trên tạp chí
khoa học và
công nghệ (6
trường Đại học
Kỹ thuật).

b) Kết quả đào tạo:
Số
TT
Cấp đào tạo, Chuyên
ngành đào tạo
Số lượng
Ghi chú
(Thời gian kết
thúc)
Theo kế
hoạch
Thực tế đạt
được
1 Thạc sỹ 02 04 2010, 2011
2 Tiến sỹ 01 01 2013


c) Thống kê danh mục sản phẩm KHCN đã được ứng dụng vào thực tế
Số
TT
Tên kết quả
đã được ứng dụng
Thời
gian
Địa điểm
(Ghi rõ tên, địa chỉ
nơi ứng dụng)
Kết quả
sơ bộ
1 Thử nghiệm phân
tích khả năng kiểm
thử
2011 Phòng thí nghiệm
sản xuất tự động,
Trường Đại học
Bách Khoa, Đà
Nẵng
Kết quả áp
dụng mang lại
thông tin hữu
ích cho người
kiểm thử.
2 Thử nghiệm phân
tích khả năng kiểm
thử
2010 Công ty Astrium,
Paris, Pháp

Kết quả phân
tích khả năng
kiểm thử
tương ứng với
khó khăn khi
kiểm thử.
3 Thử nghiệm phân
tích khả năng kiểm
thử
2011 Công ty LogiGear,
Việt Nam
Ứng dụng
công cụ
SATAN.


2. Đánh giá về hiệu quả do đề tài, dự án mang lại:
a) Hiệu quả về khoa học và công nghệ:
Nhóm nghiên cứu DATIC phối hợp với nhóm nghiên cứu CTSYS của phòng
thí nghiệm LCIS đã nắm rỏ được tình hình nghiên cứu về lĩnh vực khả năng

ix
kiểm thử trên thế giới, làm chủ và áp dụng được công cụ phân tích khả năng
kiểm thử SATAN, mở rộng công cụ SATAN áp dụng cho các môi trường
Simlink và Scicos. Xây dựng được nhóm nghiên cứu chuyên sâu ở DATIC về
khả năng kiểm thử phần mềm.
b) Hiệu quả về kinh tế xã hội:
Kết quả nghiên cứu của đề tài có thể triển khai để đánh giá khả năng kiểm thử
của các phần mềm được phát triển trong môi trường Simulink hay Scicos tại
các doanh nghiệp.

Trong quá trình thực hiện đề tài, nhóm cũng đã góp phần đào tạo các nghiên
cứu sinh và học viên Cao học trong lĩnh vực kiểm thử và phân tích khả năng
kiểm thử.
3. Tình hình thực hiện chế độ báo cáo, kiểm tra của đề tài, dự án:
Số
TT

Nội dung
Thời gian
thực hiện
Ghi chú

I Báo cáo định kỳ
Lần 1 09/03/2011 Đề tài được thực hiện
theo đúng tiến độ đặt ra.
Bước đầu đã đạt được
các kết quả tốt.
Nhóm thực hiện đề tài sẽ
tiếp tục phối hợp với phía
đối tác để hoàn thành
đúng tiến độ các mục
công việc còn lại.
Lần 2 14/09/2011 Đề tài thực hiện tốt, theo
đúng tiến độ đặt ra.
II Nghiệm thu cơ sở 2/12/2011 Hội đồng đánh giá Đạt.

Chủ nhiệm đề tài






Thủ trưởng tổ chức chủ trì
(Họ tên, chữ ký và đóng dấu)

TS. Nguyễn Thanh Bình
1

MỤC LỤC
MỤC LỤC 1

DANH MỤC CÁC BẢNG 5

DANH MỤC CÁC HÌNH VẼ 7

MỞ ĐẦU 9

CHƯƠNG 1.

KIỂM THỬ PHẦN MỀM VÀ PHÂN TÍCH TÍNH KHẢ KIỂM
THỬ PHẦN MỀM 13

1.1.

Giới thiệu 13

1.1.1.

Kiểm chứng và hợp thức hóa 14


1.2.

Kiểm thử phần mềm 15

1.2.1.

Khái niệm kiểm thử 15

1.2.2.

Các hoạt động kiểm thử 16

1.2.3.

Các kỹ thuật kiểm thử 17

1.3.

Tính khả kiểm thử phần mềm 18

1.3.1.

Định nghĩa tính khả kiểm thử phần mềm 19

1.3.2.

Phân loại các định nghĩa phân tích tính khả kiểm thử phần
mềm 21

1.4.


Các phương pháp phân tích tính khả kiểm thử phần mềm 22

1.4.1.

Phương pháp phân tích tính khả kiểm thử truyền thống 23

1.4.2.

Phương pháp phân tích tính khả kiểm thử hướng đối tượng 35

1.5.

Tổng kết chương 1 43

CHƯƠNG 2.

PHÂN TÍCH TÍNH KHẢ KIỂM THỬ VỚI SATAN 44

2.1.

Giới thiệu 44

2.2.

Đồ thị truyền tin 45

2

2.3.


Luồng 49

2.4.

Chiến lược kiểm thử 50

2.5.

Độ đo tính khả kiểm thử 52

2.5.1.

Lý thuyết thông tin 53

2.5.2.

Mạng truyền tin 57

2.5.3.

Độ đo tính khả kiểm thử 57

2.6.

Công cụ SATAN 61

2.6.1.

Kiến trúc tổng thể của SATAN 61


2.6.2.

Mô-đun In-Mac 62

2.6.3.

Mô-đun lõi SATAN 63

2.6.4.

Thư viện In-Mac 65

2.7.

Tổng kết chương 2 68

CHƯƠNG 3.

MÔI TRƯỜNG SCICOS VÀ MÔI TRƯỜNG SIMULINK 69

3.1.

Giới thiệu 69

3.2.

Môi trường SCICOS 69

3.2.1.


Giới thiệu 69

3.2.2.

Xây dựng và mô phỏng các mô hình SCICOS 70

3.2.3.

Thư viện các khối SCICOS 72

3.3.

Môi trường SIMULINK 73

3.3.1.

Giới thiệu 73

3.3.2.

Các thư viện SIMULINK 74

3.3.3.

Thiết kế và mô phỏng bằng SIMULINK 75

3.4.

Tổng kết chương 3 77


CHƯƠNG 4.

MỞ RỘNG CÔNG CỤ SATAN CHO CÁC MÔI TRƯỜNG
SIMULINK VÀ SCICOS 78

4.1.

Giới thiệu 78

4.2.

Thiết kế mô-đun Simulink/Scicos2mac 79

4.2.1.

Thiết kế tổng thể 79

4.2.2.

Thiết kế chi tiết 80

4.2.3.

Cài đặt 86

3

4.3.


Xây dựng thư viện In-Mac cho SIMULINK/SCICOS 86

4.3.1.

Xây dựng kiểu SATAN 87

4.3.2.

Tính toán hệ số mất mát thông tin 91

4.4.

Xây dựng mô-đun Out-Mac 91

4.4.1.

Xử lý kết quả tính khả kiểm thử theo chiến lược Start-Small 93

4.4.2.

Xử lý kết quả tính khả kiểm thử theo chiến lược Multi-Clue 95

4.5.

Kết quả thử nghiệm 97

4.5.1.

Phân tích tính khả kiểm thử của các mô hình SCICOS 98


4.5.2.

Phân tích tính khả kiểm thử của các mô hình SIMULINK 100

4.6.

Tổng kết chương 4 110

CHƯƠNG 5.

PHÂN TÍCH TÍNH KHẢ KIỂM THỬ CÁC MÔ HÌNH MÁY
TRẠNG THÁI HỮU HẠN 111

5.1.

Giới thiệu 111

5.2.

Ngữ cảnh 112

5.2.1.

Hệ thống phản ứng 112

5.2.2.

Hệ thống phản ứng đồng bộ 114

5.2.3.


Tiếp cận luồng dữ liệu và luồng điều khiển 115

5.2.4.

Môi trường phát triển 116

5.3.

Khái niệm máy trạng thái hữu hạn 117

5.3.1.

Máy trạng thái hữu hạn cơ bản 118

5.3.2.

Máy trạng thái mở rộng 120

5.3.3.

Hệ thống chuyển tiếp được gán nhãn 121

5.3.4.

Statechart 121

5.4.

Tiêu chí bao phủ dựa trên máy trạng thái 123


5.4.1.

Định nghĩa 123

5.4.2.

Thảo luận 124

5.5.

Độ đo tính khả kiểm thử dựa trên máy trạng thái hữu hạn 125

5.5.1.

Chuỗi Markov 125

5.5.2.

Độ đo tính khả kiểm thử 127

5.6.

Thử nghiệm 130

4

5.6.1.

Tính khả kiểm thử của B01_AUTOMATON 131


5.6.2.

Thử nghiệm với công cụ GATeL 135

5.7.

Tổng kết chương 5 137

KẾT LUẬN 139

Kết quả đạt được 139

Hạn chế 141

Hướng phát triển 142

TÀI LIỆU THAM KHẢO 143


PHỤ LỤC I: NGÔN NGỮ MACDOT…………………………….……………………… 148
PHỤ LỤC II: NGÔN NGỮ IN-MAC…………………………….………………… 161
PHỤ LỤC III: THƯ VIỆN IN-MAC……………………………. ………………… 174
PHỤ LỤC IV: BÁO CÁO ĐOÀN RA VÀ ĐOÀN VÀO………. ………………… 186
PHỤ LỤC V: BÁO CÁO KẾT QUẢ THỬ NGHIỆM……… ………………… 187
PHỤ LỤC VI: SẢN PHẨM CỦA ĐỀ TÀI…………………… ……………… 188







5

DANH MỤC CÁC BẢNG
Bảng 1.1 Phân loại các định nghĩa tính khả kiểm thử 21
Bảng 1.2. Các luật tính khả năng điều khiển các phép gán 27
Bảng 4.1. Sự tương quan giữa SIMULINK/SCICOS và SATAN 80
Bảng 4.2. Các API được sử dụng 86
Bảng 4.3. Danh sách các kiểu SATAN được xây dựng 88
Bảng 4.4. Các tệp tin chứa kết quả phân tích tính khả kiểm thử 92
Bảng 4.5. Kết quả tính khả kiểm thử của hệ thống Pil-dem 98
Bảng 4.6. Kết quả tính khả kiểm thử của hệ thống GRS 99
Bảng 4.7. Thông tin về hệ thống re_gy_2sw_anno 101
Bảng 4.8. Kết quả phân tích trong lớp 1 (luồng 1) 102
Bảng 4.9. Kết quả phân tích trong lớp 2 (luồng 2) 102
Bảng 4.10. Kết quả phân tích trong lớp 2 (luồng 4) 102
Bảng 4.11. Kết quả phân tích trong lớp 3 (luồng 3) 102
Bảng 4.12. Hệ thống S_TEST_QUATERNION_SIGN 103
Bảng 4.13 Kết quả phân tích trong lớp 1 (luồng 1) 103
Bảng 4.14 Kết quả phân tích trong lớp 2 (luồng 2) 104
Bảng 4.15. Kết quả phân tích tính khả kiểm thử theo Multi-Clue 104
Bảng 4.16. Hệ thống B23_NAVIGATION_PROPAGATION 105
Bảng 4.17. Kết quả phân tích trong lớp 1 (luồng 8) 106
Bảng 4.18. Kết quả phân tích trong lớp 2 (luồng 7) 106
Bảng 4.19. Kết quả phân tích trong lớp 3 (luồng 5) 106
Bảng 4.20. Kết quả phân tích trong lớp 3 (luồng 2) 107
Bảng 4.21. Kết quả phân tích trong lớp 4 (luồng 1) 107
Bảng 4.22. Kết quả phân tích trong lớp 5 (luồng 9) 107
6


Bảng 4.23. Kết quả phân tích trong lớp 6 (luồng 13) 108
Bảng 4.24. Kết quả phân tích tính khả kiểm thử theo Multi-Clue 108
Bảng 5.1. Xác suất của các chuyển tiếp của B01_AUTOMATON 133
Bảng 5.2. Khả năng thực thi của trạng thái B01_AUTOMATON 134
Bảng 5.3. Khả năng thực thi các chuỗi chuyển tiếp được kiểm thử 135
Bảng 5.4. Chi phí kiểm thử bao phủ trạng thái 136
Bảng 5.5. Chi phí kiểm thử bao phủ chuỗi chuyển tiếp 137

7

DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Kiểm chứng và hợp thức hóa trong mô hình phát triển V 14
Hình 2.1. Các kiểu truyền tin 47
Hình 2.2. Ví dụ N27 48
Hình 2.3. Đồ thi truyền tin của ví dụ N27 48
Hình 2.4. Minh họa chiến lược Multi-Clue 51
Hình 2.5. Phân tích kết quả kiểm thử khi áp dụng Multi-Clue 51
Hình 2.6. Chiến lược Start-Small 52
Hình 2.7. Khả năng điều khiển và khả năng quan sát mô-đun 58
Hình 2.8. Kiến trúc tổng thể công cụ SATAN 62
Hình 2.9. Các xử lý chính của mô-đun In-Mac 63
Hình 2.10. Cấu trúc mô-đun lõi SATAN 64
Hình 3.1. Minh họa mô hình SCICOS 71
Hình 3.2. Mô phỏng hoạt động mô hình trong Hình 3.1 72
Hình 3.3. Minh họa mô hình SIMULINK 76
Hình 3.4. Kết quả mô phỏng mô hình trong Hình 3.3 77
Hình 4.1. Minh họa mở rộng công cụ SATAN 78
Hình 4.2. Thuật toán Simulink/Scicos2mac 79
Hình 4.3. Thuật toán cos_mdl_2_dot 84

Hình 4.4. Thuật toán system2dot 84
Hình 4.5. Thuật toán blocks_to_dot_nodes 85
Hình 4.6. Thuật toán lines_to_dot_egdes 85
Hình 4.7. ITG của phép toán AND_2 90
Hình 4.8. Mô hình mô-đun Out-Mac 93
Hình 4.9. Thuật toán xử lý kết quả tính khả kiểm thử theo Start-Small 94
8

Hình 4.10. Minh họa kết quả tính khả kiểm thử theo Start-Small 95
Hình 4.11. Thuật toán xử lý kết quả tính khả kiểm thử theo Multi-Clue 96
Hình 4.12. Minh họa kết quả tính khả kiểm thử theo Multi-Clue 97
Hình 4.13. Mô hình SCICOS của hệ thống Pil-dem 98
Hình 4.14. Mô hình SCICOS của hệ thống GRS 99
Hình 4.15. Mô hình Simulink của hệ thống re_gy_2sw_anno 101
Hình 4.16. Cây xác định lỗi theo chiến lược Multi-Clue 104
Hình 4.17. Cây xác định lỗi theo chiến lược Multi-Clue 109
Hình 5.1. Hệ thống phản ứng 113
Hình 5.2. Hệ thống tại thời điểm k 115
Hình 5.3. B01_AUTOMATON trong dự án MSU 131
Hình 5.4. B01_AUTOMATON được vẽ lại 132
Hình 5.5. B01_AUTOMATON với chuyển tiếp T10 134

9

MỞ ĐẦU
Các hệ thống phần mềm được phát triển ngày càng phức tạp. Sự phức
tạp này còn cao hơn đối với các hệ thống điều khiển và các hệ thống nhúng
trong các thiết bị công nghiệp, như máy bay, vệ tinh… Các hoạt động kiểm
thử đóng vai trò rất quan trọng nhằm đảm bảo chất lượng của các hệ thống
phần mềm. Các hoạt động này phải được tính đến trong suốt tiến trình phát

triển hệ thống phần mềm. Tuy nhiên, các hoạt động kiểm thử thường có chi
phí rất cao, thường chiếm đến 40% toàn bộ chi phí phát triển phần mềm. Các
hoạt động kiểm thử nhằm mục đích phân tích các thành phần và cấu trúc của
phần mềm để xác định số lượng lớn nhất các lỗi trong tiến trình phát triển: từ
đặc tả cho đến mã hóa.
Đối với các hệ thống phần mềm phức tạp, nguồn tài nguyên cần thiết cho
các hoạt động kiểm thử thường rất quan trọng. Vì vậy, cần nghiên cứu các
phương pháp giảm chi phí kiểm thử, nhưng vẫn đảm bảo hợp thức hóa hiệu
quả phần mềm. Khái niệm tính khả kiểm thử phần mềm (software testability)
đã được ra đời trong ngữ cảnh như thế. Một cách đơn giản, tính khả kiểm thử
thể hiện khó khăn trong kiểm thử phần mềm. Nghiên cứu tính khả kiểm thử
cho phép đánh giá chi phí của các hoạt động kiểm thử: một phần mềm có tính
khả kiểm thử cao, thì nó càng dễ dàng được kiểm thử. Như thế, một phần
mềm có tính khả kiểm thử cao, yêu cầu chi phí cho kiểm thử ít hơn. Tính khả
kiểm thử là một trong những yếu tố chất lượng quan trọng, bởi vì nó nhằm
10

giúp cho các hoạt động kiểm thử hiệu suất hơn và có khả năng phát hiện lỗi
cao hơn.
Hiển nhiên rằng việc tính đến tính khả kiểm thử là cần thiết ngay giai
đoạn đặc tả và trong tiến trình phát triển phần mềm. Các độ đo tính khả kiểm
thử có thể giúp cho các thiết kế viên cải tiến tính khả kiểm thử của phần mềm.
Việc xem xét tính khả kiểm thử càng sớm trong tiến trình phát triển, càng có ý
nghĩa đối với việc cải tiến chất lượng sản phẩm; bởi vì bất kỳ sự chỉnh sửa
nào (nhằm cải tiến tính khả kiểm thử của phần mềm) ở mức đặc tả hay thiết
kế có chi phí thấp hơn rất nhiều so với chỉnh sửa ở mức cài đặt (lập trình).
Mục tiêu của đề tài nhằm nghiên cứu tính khả kiểm thử của các phần
mềm được phát triển chủ yếu cho các lĩnh vực công nghiệp, đặc biệt trong
lĩnh vực hàng không. Các ứng dụng thử nghiệm trong đề tài chủ yếu được
cung cấp bởi các đối tác công nghiệp.

Nghiên cứu về tính khả kiểm thử phần mềm đã và đang được thực hiện
trong lĩnh vực phần cứng, cũng như phần mềm. Trong đó, công cụ SATAN
(System’s Automatic Testability ANalysis) đã được thiết kế và phát triển bởi
phòng thí nghiệm LCIS (Laboratoire de Conception et d’Intégration de
Systèmes), đã có nhiều ứng dụng trong phân tích tính khả kiểm thử phần mềm
của các hệ thống phần mềm luồng dữ liệu được phát triển trong các môi
trường như SCADE và GALA. Trong khuôn khổ hợp tác với nhóm nghiên
cứu của phòng thí nghiệm LCIS, chúng tôi nghiên cứu về công cụ SATAN và
đề xuất sự mở rộng ứng dụng của công cụ trong các môi trường phát triển
phần mềm SCICOS và SIMULINK. Phương pháp phân tích tính khả kiểm thử
này gồm bốn hoạt động cơ bản:
− Xây dựng mô hình tính khả kiểm thử, nhằm biểu diễn luồng thông
tin trong hệ thống phần mềm.
11

− Tính toán các luồng thông tin dựa trên mô hình tính khả kiểm thử.
− Áp dụng các chiến lược kiểm thử nhằm giảm số luồng thông tin.
− Tính toán các độ đo tính khả kiểm thử.
Hơn nữa, các hệ thống phần mềm có thể được thiết kế gồm hai phần:
phần tính toán và phần điều khiển. Phần tính toán thường được biểu diễn bởi
mô hình luồng dữ liệu. Phần điều khiển thường được biểu diễn bởi các mô
hình máy trạng thái hữu hạn, như STATEFLOW trong SIMULINK. Sự mở
rộng của công cụ SATAN chỉ cho phép phân tích tính khả kiểm thử của các
mô hình luồng dữ liệu trong các môi trường SCICOS và SIMULINK. Trong
nghiên cứu này, chúng tôi đề xuất phương pháp phân tích tính khả kiểm thử
của các mô hình máy trạng thái hữu hạn.
Báo cáo này được tổ chức gồm năm chương.
Trong chương 1, chúng tôi trình bày vai trò, mục đích và các khái niệm
cơ bản của kiểm thử phần mềm và phân tích tính khả kiểm thử phần mềm.
Trong chương này, chúng tôi cũng trình bày tổng quan về các nghiên cứu

trong lĩnh vực phân tích tính khả kiểm thử phần mềm. Chúng tôi tổng hợp,
phân loại và trình bày về các công trình nghiên cứu liên quan.
Trong chương 2, chúng tôi tập trung vào việc nghiên cứu phương pháp
phân tích tính khả kiểm thử được cài đặt bởi công cụ SATAN và tính năng kỹ
thuật của công cụ SATAN, nhằm chuẩn bị cho việc mở rộng công cụ trong
các môi trường phát triển phần mềm khác.
Chương 3 giới thiệu về hai môi trường phát triển phần mềm SCICOS và
SIMULINK.
Trong chương 4, chúng tôi trình bày các mở rộng của công cụ SATAN
nhằm có thể phân tích tính khả kiểm thử của các mô hình luồng dữ liệu được
12

thiết kế trên môi trường SCICOS và SIMULINK. Chúng tôi cũng thực hiện
một số thử nghiệm trên các ứng dụng cụ thể được cung cấp bởi các đối tác
doanh nghiệp.
Chương 5 trình bày đề xuất phương pháp phân tích tính khả kiểm thử
của các mô hình máy trạng thái hữu hạn và kết quả thử nghiệm.
13

CHƯƠNG 1. KIỂM THỬ PHẦN MỀM VÀ PHÂN
TÍCH TÍNH KHẢ KIỂM THỬ PHẦN MỀM
1.1. Giới thiệu
Có nhiều đặc tính của phần mềm ảnh hưởng đến tính khả kiểm thử,
chẳng hạn như khả năng hoạt động, khả năng điều khiển, khả năng phân tích,
tính đơn giản, tính bền vững và khả năng dễ hiểu [1]. Phần lớn các phương
pháp phân tích tính khả kiểm thử được nghiên cứu dựa trên một vài trong số
các đặc tính này. Mỗi phương pháp mang lại những thông tin khác nhau và có
ý nghĩa khác nhau.
Các phân tích và đánh giá độ đo khả năng năng kiểm thử phụ thuộc chủ
yếu vào thực thể phần mềm (một đơn vị, một kiến trúc phần mềm, một đặc

tả…) và kỹ thuật kiểm thử. Việc phân tích thực thể phần mềm có thể được
dựa trên các mô tả khác nhau của phần mềm, như luồng điều khiển, luồng dữ
liệu, đặc tả chức năng và thậm chí là mã nguồn.
Các kỹ thuật kiểm thử được sử dụng phổ biến gồm kiểm thử cấu trúc và
kiểm thử chức năng. Phương pháp phân tích và đánh giá độ đo tính khả kiểm
thử gắn liền với kiểm thử cấu trúc dựa trên cấu trúc bên trong của phần mềm,
nó thường mang lại nhiều thông tin chi tiết hơn so với phương pháp phân tích
và đánh giá độ đo tính khả kiểm thử gắn liền với kiểm thử chức năng chỉ dựa
trên đặc tả chức năng.
14

Trong chương này, trước khi trình bày các phương pháp phân tích tính
khả kiểm thử, chúng tôi trình bày ngắn gọn về kiểm chứng, hợp thức hóa và
kiểm thử phần mềm. Sau đó, chúng tôi giới thiệu các định nghĩa khác nhau về
tính khả kiểm thử phần mềm cũng như các phương pháp phân tích và đánh
giá độ đo tính khả kiểm thử phần mềm.
1.1.1. Kiểm chứng và hợp thức hóa
Chất lượng phần mềm ảnh hưởng bởi tất cả các hoạt động của tiến trình
phát triển, tuy nhiên, nó đặc biệt liên quan đến hai hoạt động: kiểm chứng
(verification) và hợp thức hóa (validation) (Hình 1.1).
Hình 1.1. Kiểm chứng và hợp thức hóa trong mô hình phát triển V
− Kiểm chứng cho phép thiết lập sự tương quan giữa phần mềm và
đặc tả của nó. Trong tiến trình phát triển, kiểm chứng đảm bảo
rằng phần mềm sau mỗi giai đoạn phát triển đạt các điều kiện đặt
ra để chuyển sang giai đoạn tiếp theo.
Đặc tả
Thiết kế
tổng thể
Thiết kế
chi tiết

Mã hóa

Kiểm thử
đơn vị
Kiểm thử
tích hợp
Kiểm thử
hệ thống
KI

M CH

NG

H

P TH

C HÓA

×