Ưu điểm
- Do quá trình sinh Test Case là tự động vì vậy mà rút ngắn thời làm phần mềm, và chất lượng phần mềm tốt hơn.
- Quá trình sinh ra các Test Case được thực hiện một cách tự động nên sinh ra nhiều ca kiểm thử và phát hiện nhiều lỗi.
- Tester sẽ không bị nhàm chán khi phải thực hiện lặp lại nhiều lần một công việc, điều đó làm cho tester không nhàm chán với công việc của mình.
- Sớm phát hiện lỗi và sự không rõ ràng trong đặc điểm kỹ thuật và thiết kế vì vậy sẽ tăng thời gian giải quyết vấn đề trong kiểm thử.
- Tự động tạo và kiểm tra chánh các ca kiểm thử trùng nhau hoặc không hữu hiệu.
Nhược điểm
- Tester phải yêu cầu là những người có khả năng phân tích và thiết kế hệ thống.
- Tester phải đầu tư đáng kể cả về thời gian, trí tuệ cho việc nghiên cứu tài liệu đặc tả của hệ thống.
Kết luận
Thông qua việc tìm hiểu lý thuyết về kiểm thử, kiểm thử tự động, các phương pháp sinh Test Case tự động cũng như áp dụng lý thuyết vào việc xây dựng công cụ sinh Test Case tự động. Luận văn đã đạt được các kết quả như sau:
Trước hết, chúng tôi đã tìm hiểu và trình bày lại một cách nhìn tổng quan về kiểm thử, vai trò và lợi ích về kiểm thử tự động và phân loại các công cụ kiểm thử tự động.
Bên cạnh đó, chúng tôi cũng đã nghiên cứu các phương pháp sinh Test Case tự động phổ biến hiện nay, từ đó xây dựng lên phương pháp sinh Test Case tự động từ giao diện. Vận dụng phương pháp sinh Test Case tự động từ giao diện, chúng tôi xây dựng thành công công cụ sinh Test Case tự động.
Thông qua việc thực hiện luận văn này, chúng tôi nhận thấy rằng, kiểm thử tự động cho phép giảm chi phí (thời gian, công sức) của quá trình kiểm thử, bên cạnh đó, kiểm thử tự động còn làm tăng độ chính xác, độ bao phủ của kiểm thử. Không những thế, kiểm thử tự động còn có thể làm được những việc mà con người khó có thể làm được (Ví dụ: việc cố gắng hoàn thành đúng như thực tế một ca kiểm thử của hệ thống với 200 người dùng cùng trực tuyến (online) có thể không thực hiện được nếu thực hiện kiểm thử bằng tay. Nhưng 200 người dùng này có thể được giả lập bằng các công cụ kiểm thử tự động).
Trong tương lai, luận văn có hướng nghiên cứu sau:
Hiện tại công cụ mới chỉ dừng lại ở mức hỗ trợ sinh Test Case mà chưa tự động nhận diện được các tham số xuất hiện trên màn hình giao diện phần mềm. Chúng tôi sẽ nghiên cứu để hệ thống có thể tự nhận diện được các tham số có trên giao diện mà tester không cần nhập bằng tay để có thể đem lại hiệu quả một cách cao nhất.
TÀI LIỆU THAM KHẢO
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.
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.