1 Khảosátmộtsốphươngphápsinhbộkiểmthửtrongkiểmthửhộpđen Mai Thị Kim Oanh Trường Đại học Công nghệ Luận văn ThS. ngành: Công nghệ phần mềm; Mã số: 60 48 10 Người hướng dẫn: TS. Phạm Ngọc Hùng Năm bảo vệ: 2011 Abstract. Trình bày các kiến thức tổng quan nhất về kiểmthử phần mềm bao gồm: các khái niệm cơ bản về kiểmthử phần mềm (định nghĩa, lý do, vai trò và mục tiêu của kiểm thử), tiến trình thực hiện kiểmthử bao gồm những giai đoạn nào, các công việc cần thực hiện trong suốt quá trình kiểmthử là gì và các cấp độ kiểmthửtrongkiểmthử phần mềm bao gồm: kiểmthử đơn vị, kiểmthử tích hợp, kiểmthử hệ thống và kiểmthử chấp nhận sản phẩm. Khảosát các phươngpháp sing bộkiểmthử bao gồm ba phươngpháp sau: phươngpháp phân tích giá trị biên, phươngpháp phân hoạch tương đương và phươngphápkiểmthử dựa trên bảng quyết định. Nghiên cứu việc ứng dụng xây dựng các ca kiểmthử cho bài toán cụ thể, áp dụng các phươngpháp đã khảosát ở chương 3. Phân tích và đánh giá kết quả đã đạt được của luận văn, trình bày những hạn chế và hướng nghiên cứu phát triển trong tương lai. Keywords. Công nghệ phần mềm; Hộp đen; Bộkiểm thử; Công nghệ thông tin; Hộp trắng Content 1.1. Đặt vấn đề Kiểmthử phần mềm [1] là mộttrong những hoạt động quan trọngtrong tiến trình phát triển phần mềm. Nó góp một phần rất lớn trong việc đánh giá chất lượng của một phần mềm và là quy trình bắt buộc trong các dự án phát triển phần mềm. Hiện nay, hai kỹ thuật chính đang được áp dụng rộng rãi trongkiểmthử phần mềm là kiểmthửhộp trắng và kiểmthửhộpđen [1]. Tuy nhiên, trong thực tế hiện nay, các công ty phần mềm thường tập trung nguồn lực vào kiểmthửhộpđen do kỹ thuật kiểmthửhộp trắng rất tốn kém vì liên quan đến phân tích mã nguồn và yêu cầu người kiểmthử phải có hiểu biết sâu sắc về hệ thống, có khả năng phân tích cấu trúc dữ liệu cũng như am hiểu nhất định các vấn đề kỹ thuật của chương trình. Kiểmthửhộpđen là mộtphươngpháp quan trọngtrongkiểmthử phần mềm. Để thực thi được hoạt động kiểmthử này chúng ta cần sinhbộkiểmthử hay chính là tập hợp của các ca kiểm thử. Chất lượng của hoạt động kiểmthử hoàn toàn phụ thuộc vào chất lượng của bộkiểmthử này. Tuy nhiên, các công ty phần mềm hiện nay chủ yếu sử dụng phươngpháp phân hoạch tương đương để sinhbộkiểm thử. Phươngpháp này sẽ rất tốn kém khi số lượng đầu vào của một chức năng cần kiểmthử là lớn. Hơn nữa, phươngpháp này chỉ hiệu quả với giả thiết là các đầu vào hoàn toàn độc lập nhau. Với những bài toán có đầu vào phụ thuộc lẫn nhau, phươngpháp phân hoach tương đương khó phát hiện ra các lỗi gây ra bởi những phụ thuộc này. Để giải quyết bài toán này, chúng ta cần khảosát các phươngphápsinhbộkiểm 2 thử và đưa ra gợi ý cho các công ty trong việc lựa chọn hay kết hợp các phươngpháp để đảm bảo chất lượng phần mềm. 1.2. Nội dung nghiên cứu Luận văn tập trung vào việc nghiên cứu và khảosátmộtsốphươngphápsinhbộkiểmthử thường được sử dụng trongkiểmthửhộpđen như: kiểmthử giá trị biên, kiểmthử dựa trên phân hoạch tương đương và kiểmthử dựa trên bảng quyết định. Với mỗi phương pháp, luận văn sẽ đưa ra các tiêu chí sinhbộkiểm thử, đồng thời đánh giá được ưu điểm, nhược điểm và khả năng phát hiện lỗi của từng phươngpháp theo bộkiểmthử được sinh ra. Từ kết quả của quá trình khảo sát, luận văn sẽ đưa ra những được gợi ý cho từng loại bài toán, từng hệ thống phù hợp với phươngphápkiểmthử nào. Luận văn cũng sẽ tiến hành thử nghiệm các phươngphápkiểmthử nêu trên cho hai bài toán cụ thể và đưa ra các phân tích đánh giá cho các phươngphápkiểmthử đã khảosáttrong phạm vi luận văn này. 1.3. Cấu trúc luận văn Các phần còn lại của luận văn có cấu trúc như sau: Chương 2 trình bày các kiến thức tổng quan nhất về kiểmthử phần mềm bao gồm: các khái niệm cơ bản về kiểmthử phần mềm (định nghĩa, lý do, vai trò và mục tiêu của kiểm thử), tiến trình thực hiện kiểmthử bao gồm những giai đoạn nào, các công việc cần thực hiện trong suốt quá trình kiểmthử là gì và các cấp độ kiểmthửtrongkiểmthử phần mềm bao gồm: kiểmthử đơn vị, kiểmthử tích hợp, kiểmthử hệ thống và kiểmthử chấp nhận sản phẩm. Chương này cũng sẽ trình bày các phươngphápkiểmthử chính trongkiểmthử phần mềm bao gồm kiểmthửhộp trắng và kiểmthửhộp đen. Các phươngphápsinhbộkiểmthửtrongkiểmthửhộpđen sẽ được khảosáttrong chương 3 của luận văn bao gồm ba phươngpháp sau: phươngpháp phân tích giá trị biên, phươngpháp phân hoạch tương đương và phươngphápkiểmthử dựa trên bảng quyết định. Việc ứng dụng xây dựng các ca kiểmthử cho bài toán cụ thể, áp dụng các phươngpháp đã khảosát ở chương 3 sẽ được trình bày trong nội dung của chương 4. Chương 5 là chương cuối cùng với nội dung tóm tắt kết quả đã đạt được của luận văn, trình bày những hạn chế và hướng nghiên cứu phát triển trong tương lai. References Tiếng Việt [1] Nguyễn Văn Vỵ, Nguyễn Việt Hà (2008), “Giáo trình kỹ nghệ phần mềm”, NXB Đại học Quốc gia Hà Nội. Tiếng Anh [2] Rex Black (October 2008), “Advanced_Software_Testing”, Rocky Nook Publisher. [3] Lee Copeland (2004), “A Practitioner's Guide to Software Test Design”, Artech House Publisher. [4] Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black (2008), "Foundations of Software Testing: ISTQB Certification", Intl Thomson Business Publisher. [5] IEEE (1990), “Standard Glossary of Software Engineering Terminology”, IEEE Computer Society Press Publisher. [6] Paul C.Jorgensen (2002), “Software testing, a craftman's approach”, second edition, CRC Press Publisher. [7] Glenford J. Myers, Tom Badgett, Todd M. Thomas, Corey Sandler (2004), “The Art of Software Testing”, 2nd Edition, John Wiley & Sons Publisher.