
LỜI CAM ĐOAN
Tôi xin cam đoan luận án “Kiểm thử dựa trên mô hình với
cách tiếp cận mô hình hóa chuyên biệt miền” là công trình nghiên
cứu của riêng tôi. Các số liệu, kết quả được trình bày trong luận án là hoàn
toàn trung thực và chưa từng được công bố trong bất kỳ một công trình
nào khác.
Tôi đã trích dẫn đầy đủ các tài liệu tham khảo, công trình nghiên cứu
liên quan ở trong nước và quốc tế. Ngoại trừ các tài liệu tham khảo
này, luận án hoàn toàn là công việc của riêng tôi.
Trong các công trình khoa học được công bố trong luận án, tôi đã thể
hiện rõ ràng và chính xác đóng góp của các đồng tác giả và những gì
do tôi đã đóng góp.
Luận án được hoàn thành trong thời gian tôi làm Nghiên cứu sinh tại
Bộ môn Công nghệ phần mềm, Khoa Công nghệ Thông tin, Trường
Đại học Công nghệ, Đại học Quốc gia Hà Nội.
Tác giả:
Hà Nội:
i

LỜI CẢM ƠN
Trước hết, tôi muốn bày tỏ sự biết ơn đến PGS. TS. Nguyễn Ngọc Bình
và TS. Đặng Đức Hạnh, cán bộ hướng dẫn, các thầy đã trực tiếp giảng dạy
và định hướng tôi trong suốt thời gian học cao học, thực hiện luận văn thạc
sĩ cũng như luận án này. Một vinh dự lớn cho tôi được học tập, nghiên cứu
dưới sự hướng dẫn của các Thầy.
Tôi xin bày tỏ sự biết ơn sâu sắc đến các Thầy Cô trong Bộ môn
Công nghệ phần mềm vì sự giúp đỡ của các Thầy Cô về các đóng góp rất
hữu ích cho luận án.
Tôi xin trân trọng cảm ơn Khoa Công nghệ thông tin, Phòng Đào
tạo và Ban giám hiệu trường Đại học Công nghệ đã tạo điều kiện thuận lợi
cho tôi trong suốt quá trình thực hiện luận án.
Tôi cũng bày tỏ sự biết ơn đến Trường Đại học Sư phạm Kỹ thuật
Hưng Yên đã tạo điều kiện về thời gian và tài chính cho tôi thực hiện luận
án này. Tôi muốn cảm ơn đến Ban chủ nhiệm, các cán bộ, giảng viên Khoa
Công nghệ thông tin - Trường Đại học Sư phạm Kỹ thuật Hưng Yên đã cổ
vũ động viên và sát cánh bên tôi trong suốt quá trình nghiên cứu.
Tôi muốn cảm ơn đến tất cả những người bạn của tôi, những
người luôn chia sẻ, động viên tôi bất cứ khi nào tôi cần và tôi luôn ghi nhớ
điều đó.
Cuối cùng, tôi xin bày tỏ lòng biết ơn vô hạn đối với cha mẹ,
chồng, con và gia đình đã luôn ủng hộ và yêu thương tôi một cách vô điều
kiện. Nếu không có sự ủng hộ của gia đình và chồng con tôi không thể hoàn
thành được luận án này.
ii

iii
TÓM TẮT
Luận án này trình bày một số phương pháp cho phép sinh tự động
các ca kiểm thử chức năng mức hệ thống từ các ca sử dụng áp dụng các kỹ
thuật kiểm thử dựa trên mô hình với hướng tiếp cận mô hình hóa chuyên
biệt miền (Domain Specific Modeling - DSM). Cụ thể, luận án quan tâm
đến phương pháp đặc tả rõ ràng các ca sử dụng và các ca kiểm thử bằng
các mô hình trong các ngôn ngữ mô hình hóa chuyên biệt miền và phương
pháp chuyển tự động các mô hình ca sử dụng sang mô hình ca kiểm thử
trong các ngôn ngữ đặc tả chuyên biệt miền. Các đóng góp chính của luận
án như sau.
Đề xuất ngôn ngữ USL (Use Case Specification Language) để đặc tả
rõ ràng các ca sử dụng, hướng đến khả năng sinh tự động các chế tác phần
mềm (software artifacts) khác nhau trong quy trình phát triển phần mềm
bằng các chuyển đổi mô hình. Ngôn ngữ được xây dựng với cách tiếp cận
mô hình hóa chuyên biệt miền.
Xây dựng ngôn ngữ TCSL (Test Case Specification Language) để đặc
tả rõ ràng các ca kiểm thử. Ngôn ngữ được xây dựng với cách tiếp cận mô
hình hóa chuyên biệt miền.
Đề xuất một phương pháp USLTG (USL-based Test Generation) để
sinh tự động các ca kiểm thử từ ca sử dụng bằng cách chuyển đổi tự động
các mô hình USL vào trong một mô hình TCSL.
Xây dựng bộ công cụ hỗ trợ USL để hiện thực hóa những đề xuất của
luận án. Bộ công cụ hỗ trợ USL cho phép tích hợp ngôn ngữ USL vào trong
phương pháp phát triển phần mềm hướng mô hình. Cụ thể, bộ công cụ cung
cấp trình soạn thảo để tạo các mô hình USL một các trực quan và cung cấp
các bộ sinh tự động các chế tác khác nhau từ mô hình. Trọng tâm chính của
luận án này là sinh các ca kiểm thử tự động từ các mô hình USL. Ngoài ra,
luận án cũng trình bày các ví dụ nghiên cứu được áp dụng cho các phương
pháp của luận án, cung cấp các đánh giá của ngôn ngữ USL với các ngôn
ngữ đặc tả khác, và so sánh phương pháp USLTG với một số phương pháp
sinh ca kiểm thử từ ca sử dụng khác.
Từ khóa: ca sử dụng, ca kiểm thử, sinh ca kiểm thử tự động, mô hình
hóa chuyên biệt miền, USL, TCSL, USLTG.

Mục lục
Lời cam đoan i
Lời cảm ơn ii
Tóm tắt iii
Mục lục iv
Danh mục các từ viết tắt vii
Danh mục các bảng ix
Danh mục các hình vẽ x
Danh mục các thuật toán xii
Danh mục các đặc tả xiii
Chương 1. MỞ ĐẦU 1
1.1 Đặt vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Mục tiêu nghiên cứu và các đóng góp chính của luận án . . . 5
1.3 Cấu trúc luận án . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chương 2. KIẾN THỨC CƠ SỞ 11
2.1 Kiểm thử dựa trên ca sử dụng . . . . . . . . . . . . . . . . . . 11
2.1.1 Kiểm thử phần mềm . . . . . . . . . . . . . . . . . . . . 11
2.1.2 Ca sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.3 Xây dựng các ca kiểm thử từ ca sử dụng . . . . . . . . 25
2.2 Mô hình hóa chuyên biệt miền . . . . . . . . . . . . . . . . . . 27
2.2.1 Một số khái niệm cơ bản . . . . . . . . . . . . . . . . . 27
2.2.2 Phương pháp xây dựng DSML . . . . . . . . . . . . . . 28
2.2.3 Xây dựng DSML trong Eclipse . . . . . . . . . . . . . . 31
2.3 Chuyển đổi mô hình . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.1 Chuyển đổi mô hình sang mô hình . . . . . . . . . . . . 32
iv