Xâydựngcáccakiểmthửtựđộngtừgiaodiện
phần mềm
Trịnh Thị Minh Hiển
Trường Đại học Công nghệ
Luận văn Thạc sĩ ngành: Công nghệ Phần mềm; Mã số: 60 48 10
Người hướng dẫn: TS. Trương Ninh Thuận
Năm bảo vệ: 2011
Abstract: Trình bày tổng quan về kiểm thử, kiểmthửtự động. Trình bày các khái
niệm cơ bản về Test Case và các Phương pháp sinh Test Case tựđộng hiện nay. Trình
bày phương pháp sinh Test Case từgiaodiện và áp dụng phương pháp sinh Test Case
từ giaodiện với ví dụ cụ thể. Xâydựng công cụ sinh Test Case tựđộng bằng phương
pháp sinh Test Case từgiao diện.
Keywords: Kiểm thử; Phần mềm; Lập trình
Content
Mở đầu
Trong những năm gần đây cùng với sự phát triển của phần cứng máy tính, phầnmềm
có nhiều bước tiến quan trọng. Sản xuất phát triển phầnmềm hiện nay đã trở thành một ngành
công nghiệp thực sự. Cũng như các ngành công nghiệp khác, khi quy mô chức năng của các
phần mềm được sản xuất ngày càng phức tạp thì yêu cầu về quản lý chất lượng phầnmềm
ngày càng được quan tâm. Do đó, kiểmthửphầnmềm phải được thực hiện thường xuyên
trong suốt vòng đời phát triển của phầnmềm để đảm bảo chất lượng.
Như chúng ta đã biết, giaodiện người dùng đồ họa (Graphical User Interface -
GUI) là một trong những cách phổ biến nhất để người sử dụng tương tác với hệ thống phần
mềm. Khi kết thúc giai đoạn kiểmthử hệ thống, các tester tiếp tục kiểmthửphầnmềm với
các chức năng bổ sung cung cấp bởi giaodiện đồ hoạ. GUI làm cho việc kiểmthử hệ thống
khó khăn hơn vì các nguyên nhân: do bản chất sự kiện điều khiển của GUI, các sự kiện không
mong muốn, miền dữ liệu đầu vào/đầu ra vô hạn mà lập trình viên không lường trước được vì
không thể kiểmthử tất cảcác luồng dữ kiện. Thông qua GUI, các tester có thể thực hiện kiểm
thử hộp đen để tìm ra lỗi của phần mềm. Một trong những lý do quan trọng nhất trong kiểm
thử phầnmềm là thiết kế và tạo ra các Test Case có hiệu quả. Chi phí kiểmthửphầnmềm
thường chiếm tới 40% tổng các nỗ lực dành cho một dự án phát triển phần mềm. Vì thế, giảm
chi phí cho việc tạo Test Case (thời gian, công sức) cũng là một trong những vấn đề được
quan tâm trong kiểmthửphần mềm. Tựđộng hoá việc tạo Test Case không những giúp giảm
chi phí trong việc tạo Test Case mà còn giúp đồng nhất hoá chất lượng Test Case. Để đồng
2
nhất hóa công việc viết Test Case bằng các phương pháp tựđộng nhằm giảm bớt công sức và
thời gian của tester, làm cho chất lượng của Test Case tốt hơn, chúng tôi nghiên cứu phương
pháp sinh Test Case từgiao diện, từ đó phát triển công cụ sinh Test Case từgiaodiện để hỗ
trợ tester trong việc tạo Test Case để kiểmthửphần mềm.
Luận văn được trình bày theo bốn chương với nội dung sau:
Chương 1: Tổng quan về kiểmthử và kiểmthửtựđộng
Trình bày tổng quan về kiểm thử, kiểmthửtự động.
Chương 2: Phương pháp sinh Test Case tựđộng
Trình bày các khái niệm cơ bản về Test Case và các Phương pháp sinh
Test Case tựđộng hiện hay.
Chương 3: Phương pháp sinh Test Case từgiaodiện
Trình bày phương pháp sinh Test Case từgiaodiện và áp dụng phương
pháp sinh Test Case từgiaodiện với ví dụ cụ thể.
Chương 4: Công cụ hỗ trợ
Xây dựng công cụ sinh Test Case tựđộng bằng phương pháp sinh Test
Case từgiao diện.
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ề công cụ sinh Test Case tự động, đồng thời đề ra hướng nghiên cứu tiếp theo.
References
Tiếng Việt
1. Nguyễn Văn Vỵ , Nguyễn Việt Hà (2000), Giáo trình kỹ nghệ phần mềm, NXB Giáo dục.
2. Vũ Thị Đào (2008), Kỹ thuật sinh Test Case tựđộngtừ yêu cầu phần mềm, Luận văn Thạc
sĩ, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội.
Tiếng Anh
3. Aditya P. Mathur (2007), Foundations of Software Testing: Fundamental Algorithms and
Techniques, Pearson Education India.
4. Aynur Abdurazik and Jeff Offutt (2000), Using UML colloboration diagrams for Static
Checking and Test Generation, USA.
5. Brian Marick (2009), When Should a Test Be Automated, StickyMinds.com. Retrieved
2009-08-20.
6. Douglas Hoffman (1999), Test Automation Architectures: Planning for Test Automation,
Software Quality Methods, LLC.
7. Elfriede Dustin (1999), Automated Software Testing, Addison Wesley, 1999, ISBN 0-
20143-287-0
8. Elfriede Dustin (2003), Effective Software Testing: 50 specific ways to improve your
testing, Pearson Education, Inc.
3
9. Elfriede Dustin, Implementing Automated Software Testing, Addison Wesley, ISBN 978-
0321580511.
10. Jeff Offutt (2003), Generating test data from state-based specifications, John Wiley &
Sons.
11. Jeff Offutt (2003), Generating test from UML Specifications, George Mason University.
12. Glenford J. Myers (2004), The Art of Software Testing, John Wiley and Sons, Inc
13. Jerry Zeyu Gao, H S. Jacob Tsao and Ye Wu (2003), Testing And Quality Assurance for
Component-Based Software, Artech House.
14. Kanglin Li, Menqui Wu (2004), Effective Software Test Automation: Developing an
Automated Software Testing Tool, Sybex
15. Kolawa, Adam, Huizinga and Dorota (2007), Automated Defect Prevention: Best
Practices in Software Management, Wiley-IEEE Computer Society Press.
p. 74. ISBN 0470042125.
16. Mark Fewster and Dorothy Graham (1999), Software Test Automation: Effective use of
test execution tools, ACM Press Books.
17. Ron Patton (2005), Software Testing, Sams Publishing.
18. Roman Savenkov (2008), How to Become a Software Tester, Roman Savenkov
Consulting, ISBN 978-0-615-23372-7.
19. Roger S. Pressman (2005), Software Engineering: A Practitioner’s Approach, New York.
20. William E. Perry (2006), Effective methods for Software Testing, Wiley Publishing,
Indian.
. quan về kiểm thử và kiểm thử tự động
Trình bày tổng quan về kiểm thử, kiểm thử tự động.
Chương 2: Phương pháp sinh Test Case tự động
Trình bày các khái. Xây dựng các ca kiểm thử tự động từ giao diện
phần mềm
Trịnh Thị Minh Hiển
Trường Đại học Công nghệ
Luận văn Thạc sĩ ngành: Công nghệ Phần mềm;