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; Mã số: 60 48 10 Người hướng dẫn: TS.. Tr
Trang 1Xâ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; 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ểm thử 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ừ giao diện và áp dụng phương pháp sinh Test Case
từ giao diện với ví dụ cụ thể 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
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ần mềm
có nhiều bước tiến quan trọng Sản xuất phát triển phần mề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ần mềm ngày càng được quan tâm Do đó, kiểm thử phần mề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ần mềm để đảm bảo chất lượng
Như chúng ta đã biết, giao diệ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ểm thử hệ thống, các tester tiếp tục kiểm thử phần mềm với các chức năng bổ sung cung cấp bởi giao diện đồ hoạ GUI làm cho việc kiểm thử 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ểm thử 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ần mềm là thiết kế và tạo ra các Test Case có hiệu quả Chi phí kiểm thử phần mề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ểm thử phần mềm Tự động hoá việc tạo Test Case không những giúp giảm
Trang 2nhấ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ừ giao diện để hỗ trợ tester trong việc tạo Test Case để kiểm thử 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ể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 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ừ giao diện
Trình bày phương pháp sinh Test Case từ giao diện và áp dụng phương pháp sinh Test Case từ giao diệ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ự động từ 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
Trang 39 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