Kỹ thuật sinh test case tự động từ yêu cầu
phần mềm
Vũ Thị Đào
Trường Đại học Công nghệ
Luận văn ThS chuyên ngành: Công nghệ phần mềm; Mã số: 60 48 10
Người hướng dẫn: TS. Trương Anh Hoàng
Năm bảo vệ: 2008
Abstract: Đưa ra các vấn đề cần thiết và cấp bách trong việc nghiên cứu và xây dựng
một kỹ thuật sinh Test case hiệu quả từ yêu cầu người dùng. Giới thiệu tổng quan về
quá trình sinh test case tự động và các phương pháp sinh Test case: Sinh Test case
dựa trên đặc tả, sinh test case dựa trên mô hình, sinh test case hướng đường dẫn. Trình
bày các phương pháp và kỹ thuật sinh Test case tự động hiện có, từ đó đề xuất một kỹ
thuật sinh Test case tự động và phân tích ưu điểm của nó so với các kỹ thuật trước.
Phát triển chương trình ứng dụng quá trình sinh Test case tự động
Keywords: Công nghệ phần mềm, Kỹ thuật sinh test case, Phần mềm, Tin học
Content
MỞ ĐẦU
Mặc dù việc nghiên cứu về các phương pháp và kỹ thuật sinh Test case tự động từ yêu
cầu người dùng đã được quan tâm nhiều trên thế giới, nhưng ở Việt Nam các nghiên cứu và
ứng dụng chỉ mới ở bước đầu. Thực vậy, công việc sinh Test case tự động từ yêu cầu người
dùng một cách có hiệu quả trong quá trình kiểm thử là vấn đề cần thiết và bức xúc của các
công ty sản xuất phần mềm cũng như các tổ chức thực hiện phát triển dự án phần mềm.
Trong quá trình phát triển dự án phần mềm, thường công việc tạo ra các Test case từ
yêu cầu người dùng do các Tester phụ trách. Nhưng không phải Tester nào viết các tài liệu
Test case này cũng như nhau. Vì vậy trong các công ty phần mềm cũng như các tổ chức thực
hiện phát triển các dự án phần mềm sẽ phát sinh một vấn đề là: Tester nào viết tài liệu Test
case tốt, có hiệu quả thì chất lượng phần mềm sẽ tốt hơn những dự án có Test case tồi. Vậy
tại sao chúng ta không đồng nhất hóa công việc viết Test case bằng các phương pháp và kỹ
thuật tự động nhằm giảm bớt công sức và thời gian của các tester, làm cho chất lượng của
Test case tốt hơn.
Có các hướng tiếp cận khác nhau trong việc sinh Test case tự động: thứ nhất là có thể
sinh Test case tự động dựa trên đặc tả từ một file input đã được định sẵn; thứ hai là sinh Test
case tự động dựa trên code, chương trình có sẵn; thứ ba là sinh Test case tự động dựa trên các
mô hình UML. Trong ba hướng tiếp cận trên chúng tôi chọn hướng tiếp cận thứ ba và nghiên
cứu các phương pháp theo hướng tiếp cận này.
Trong đề tài luận văn này chúng tôi nghiên cứu các vấn đề về tạo Test case tự động từ
yêu cầu người dùng. Sau đó, chúng tôi xem xét các phương pháp và kỹ thuật hiện có trong
việc tạo Test case tự động để từ đó có thể đưa ra những cải tiến bổ sung và phát triển. Cuối
cùng là xây dựng một công cụ sinh Test case tự động có thể áp dụng trong thực tế.
Bố cục của luận văn gồm phần mở đầu, phần kết luận và 4 chương nội dung như sau:
Chương 1: Đặt vấn đề, đưa ra các vấn đề cần thiết và cấp bách trong việc nghiên cứu
và xây dựng một kỹ thuật sinh Test case hiệu quả từ yêu cầu người dùng.
Chương 2: Giới thiệu tổng quan về sinh Test case tự động. Trên cơ sở đó chọn hướng
tiếp cận sẽ đi sâu vào nghiên cứu ở Chương 3.
Chương 3: Trình bày các phương pháp và kỹ thuật sinh Test case tự động hiện có. Từ
đó đề xuất một kỹ thuật sinh Test case tự động và phân tích ưu điểm của nó so với các kỹ
thuật trước.
Chương 4: Trình bày quá trình sinh Test case hiệu quả dựa trên kỹ thuật được đề xuất.
Đồng thời xây dựng chương trình demo quá trình sinh Test case tự động.
Sau khi nghiên cứu và thử nghiệm, trong phần Kết luận có nêu một số tổng kết và nhận
xét về việc sinh Test case tự động, đồng thời đề ra hướng nghiên cứu tiếp theo.
References
[1] Andras Toth, Daniel Varro, Andras Pataricca, 2003, Model Level Automatic Test
Generation for UML State-Charts, Sixth IEEE workshop on Design and Diagnostics of
Electronic Circuits and System, (DDECS 2003).
[2] Clay E. Williams, November 1999, Software testing and the UML, International
Symposium on Software Reliability Engineering (ISSRE’99), Boca, Raton.
[3] Jeff Offutt, Aynur Abdurazik, October 1999, Generating Tests from UML specifications,
Second International Conference on the Unified Modeling Language (UML99).
[4] Jeff Offutt, Aynur Abdurazik, October 2000, Using UML Collaboration diagrams for
static checking and test generation, Third International Conference on UML, York, UK.
[5] Jeff Offutt, Shaoying Liu, Aynur Abdurazik, Paul Ammann, March 2003, Generating
Test data from State based Specifications, The Journal of Software Testing, Verification
and Reliability.
[6] Matthias Riebish, Ilka Philippow, Marco Gotze, UML Based Statistical Test Case
Generation".