Với sự xuất hiện của mạng internet toàn cầu và việc tăng cường các ứng dụng công nghệ thông tin trong mọi lĩnh vực kinh tế-xã hội, nhiều phần mềm ra đời đòi hỏi cần kiểm soát chặt chẽ chất lượng của chúng.
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU LÝ THUYẾT KIỂM THỬ VÀ KIỂM THỬ ĐƠN VỊ VỚI NUnit 2.5 Sinh viên thực : Bùi Trường Thi Lớp: Công nghệ phần mềm B – K50 Giáo viên hướng dẫn: ThS Thạc Bình Cường Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 HÀ NỘI 6-2010 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ tên sinh viên: BÙI TRƯỜNG THI Điện thoại liên lạc 0942554233 Email: thicay85@gmail.com Lớp: Công nghệ phần mềm B Hệ đào tạo: Đại học quy Đồ án tốt nghiệp thực tại: Trường Đại học Bách Khoa Hà Nội Thời gian làm ĐATN: Từ ngày 28 / 02 /2010 đến 28 / 05 /2010 Mục đích nội dung ĐATN Sử dụng tools Nunit: Xây dựng tốn phép tính, chương trình kiểm tra tam giác kiểm thử đơn vị Nunit Các nhiệm vụ cụ thể ĐATN - Tìm hiểu lý thuyết kiểm thử - Nghiên cứu công cụ kiểm thử NUnit version 2.5 - Xây dựng tốn phép tính, chương trình kiểm tra tam giác kiểm thử đơn vị NUnit Lời cam đoan sinh viên: Tôi – Bùi Trường Thi - cam kết ĐATN cơng trình nghiên cứu thân hướng dẫn ThS Thạc Bình Cường Các kết nêu ĐATN trung thực, khơng phải chép tồn văn cơng trình khác Hà Nội, ngày 28 tháng 05 năm 2010 Tác giả ĐATN Bùi Trường Thi Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ: Hà Nội, ngày 28 tháng 05 năm 2010 Giáo viên hướng dẫn ThS Thạc Bình Cường Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Đồ án bao gồm chương mục: Chương 1: Tổng quan kiểm thử Trình bày lý thuyết kiểm thử: trình kiểm thử, mơ hình phát triển chữ V, thiết kế trường hợp thử nghiệm, tự động hóa kiểm thử, cơng cụ thư viện mã nguồn mở hỗ trợ việc kiểm thử, lỗi liệu kiểm thử đơn vị Chương 2: Công cụ kiểm thử NUnit Giới thiệu công cụ kiểm thử NUnit version 2.5 gồm: lớp assert, thuộc tính Chương 3: Hướng dẫn sử dụng NUnit Hướng dẫn download, cài đặt cách sử dụng: xây dựng tốn phép tính kiểm thử đơn vị NUnit Chương 4: Tổng quan chương trình ứng dụng Giới thiệu chương trình ứng dụng kiểm tra tam giác Chương trình kiểm tra tam giác viết ngơn ngữ C#, sử dụng mơi trường lập trình Visual Studio 2008 chạy Windows XP Chương 5: Thiết kế kiểm thử Lập kế hoạch, đưa tình kết dự đoán cho trường hợp kiểm thử ứng dụng kiểm tra tam giác công cụ NUnit Chương 6: Tiến hành kiểm thử Kiểm thử ứng dụng kiểm tra tam giác dựa tình vạch ra, đưa kết cuối cùng, đánh giá Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 MỤC LỤC DANH MỤC CÁC BẢNG .9 DANH MỤC CÁC HÌNH VẼ 10 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 11 Thuật ngữ 11 Đầy đủ .11 Ý nghĩa 11 GUI 11 Graphic User Interface 11 Giao diện người sử dụng 11 VP 11 Verification point 11 Điểm xác thực 11 Performance test 11 Kiểm thử hiệu suất 11 Passed 11 Thông qua .11 Failed .11 Thất bại 11 Session .11 Phiên 11 Comparator 11 Bộ so sánh .11 Admin 11 Người quản trị 11 Test 11 Hoạt động kiểm thử 11 Project .11 Dự án .11 Breakpoint .11 Điểm kết thúc 11 UT 11 Unit Testing .11 Kiểm thử đơn vị 11 Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 LỜI NÓI ĐẦU 12 CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ .13 1.1.GIỚI THIỆU: 13 1.1.1 Bài toán kiểm thử phần mềm .13 1.1.2 Các mục tiêu kiểm thử 13 1.1.3 Mơ hình phát triển chữ V .14 1.1.4 Quá trình kiểm thử .15 1.2 KIỂM THỬ PHẦN MỀM 16 1.2.1 Kiểm thử hệ thống 16 1.2.2 Kiểm thử thành phần 24 1.2.3 Thiết kế trường hợp thử nghiệm 28 1.2.4 Tự động hóa kiểm thử 39 1.2.5 Một số công cụ, thư viện nguồn mở hỗ trợ việc kiểm thử 42 1.3 LỖI DỮ LIỆU .43 1.3.1 Vòng đời lỗi 43 1.3.3 Trạng thái lỗi 45 1.4.KIỂM THỬ ĐƠN VỊ 46 1.4.1 Tiến trình kiểm thử 46 1.4.2 Kế hoạch kiểm thử Unit .47 1.4.3 Kỹ thuật kiểm thử hộp đen ( Black box ) 47 1.4.4 Kỹ thuật kiểm thử hộp trắng ( White Box) 48 1.4.5 Các trường hợp kiểm thử liệu kiểm thử .49 1.4.6 Vòng đời Unit Testing 49 1.4.7 Lợi ích Unit Testing .49 CHƯƠNG 2: CÔNG CỤ KIỂM THỬ NUnit 52 2.1 GIỚI THIỆU: .52 2.2 NUnit-Console 52 2.3 NUnit gui runner 53 2.4 Lớp Assert 53 2.5 Các thuộc tính NUnit: 54 2.5.1 ExpectedExceptionAttribute 54 2.5.2 FixtureSetUpAttribute 55 2.5.3 Lớp FixtureTearDownAttribute 56 2.5.4 IgnoreAttribute .56 Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 2.5.5 SetUpAttribute 57 2.5.6 TearDownAttribute 57 2.5.7 TestAttribute 58 2.5.8 TestFailed .59 2.5.9 TestFixtureAttribute 59 CHƯƠNG 3: HƯỚNG DẪN SỬ DỤNG NUnit 61 3.1.Hướng dẫn dowload phần mềm 61 3.2.Hướng dẫn sử dụng phần mềm .61 3.3.Bắt đầu nhanh với NUnit .62 CHƯƠNG 4: TỔNG QUAN CHƯƠNG TRÌNH ỨNG DỤNG 71 4.1 Mơ tả tốn .71 4.1.1 Mục đích .71 4.1.2 Phạm vi 71 4.2 Mơ tả chương trình .71 4.2.1Tổng quan chương trình 71 4.2.2 Các hệ thống liên quan .71 4.3 Các yêu cầu chung 71 4.3.1 Yêu cầu kiến trúc chương trình .71 4.3.2 Các yêu cầu thẩm mỹ .72 4.3.3 Các yêu cầu sử dụng 72 4.4 Chương trình 72 4.4.1 Giao diện chương trình 72 4.4.2 Mô tả đối tượng 73 4.4.2 Mã code chương trình 73 CHƯƠNG 5: THIẾT KẾ KIỂM THỬ 78 5.1 Kiểm thử hộp đen 78 5.1.1 Yêu cầu giao diện 78 5.1.2 Mơ tả tình Test 79 5.2 Kiểm thử hộp trắng .79 CHƯƠNG 6: TIẾN HÀNH KIỂM THỬ 80 6.1 Kiểm thử hộp đen 80 6.1.1 Kết kiểm thử giao diện 80 6.1.2 Kết kiểm thử chức 80 6.2 Kiểm thử hộp trắng .81 Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .86 TÀI LIỆU THAM KHẢO 87 Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 DANH MỤC CÁC BẢNG Bảng 1.1 Dạng chung lỗi 43 Bảng 1.2 Dạng lỗi nguy hại 43 Bảng 1.3 Trạng thái lỗi 44 Bảng 4.1 Các đối tượng chương trình kiểm tra tam giác 70 Bảng 5.1 Yêu cầu giao diện 75 Bảng 5.2 Mơ tả tình test 76 Bảng 5.3 Dữ liệu kiểm thử .76 Bảng 6.1 Kết kểm thử giao diện 77 Bảng 6.2 Kết kiểm thử tình 78 Bảng 6.3 Kết kiểm thử hộp trắng 79 Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 DANH MỤC CÁC HÌNH VẼ Hình 1.1 Mơ hình phát triển chữ V 12 Hình 1.2 Quá Trình Kiểm Định 13 Hình 1.3 Kiểm thử tích hợp lớn dần .16 Hình 1.4 Kiểm thử hộp đen .18 Hình 1.5 Biểu đồ dãy tập hợp liệu thời tiết 20 Hình 1.6 Kiểm thử giao diện 24 Hình 1.7 Phân hoạch tương đương 29 Hình 1.8 Các phân hoạch tương đương 30 Hình 1.9 Đặc tả chương trình tìm kiếm 31 Hình 1.10 Các phân hoạch tương đương cho chương trình tìm kiếm .32 Hình 1.11 Kiểm thử cấu trúc 32 Hình 1.12 Các lớp tương đương tìm kiếm nhị phân .33 Hình 1.13.Chương trình tìm kiếm nhị phân viết java 34 Hình 1.14 Các trường hợp kiểm thử cho chương trình tìm kiếm .35 Hình 1.15 Đồ thị luồng chương trình tìm kiếm nhị phân 36 Hình 1.16 Một Workbench kiểm thử 39 Hình 1.17 Quá trình bắt lỗi .42 Hình 3.1: Trang web để dowload phần mềm 59 Hình 3.2: Giao diện Nunit sau cài đặt 60 Hình 3.3: Cách build toán thành file dll 62 Hình 3.4: Thư mục chứa file dll 62 Hình 4.1 Giao diện chương trình kiểm tra tam giác 70 Hình 6.1 Kết kiểm thử lần .79 Hình 6.2 Kết kiểm thử lần .79 Hình 6.3 Kết kiểm thử lần .80 Hình 6.4 Kết kiểm thử lần .80 Hình 6.5 Kết kiểm thử lần .81 Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 10 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Hình 4.1 Giao diện chương trình kiểm tra tam giác 4.4.2 Mơ tả đối tượng Các đối tượng chương trình kiểm tra tam giác nêu rõ Bảng 4.1 Đối tượng TextBox TextBox TextBox CheckBox CheckBox CheckBox TextBox TextBox TextBox Button Button Tên đối tượng txtA txtB txtC cbA cbB cbC txtTamgiac txtCV txtS btok bthuy Mô tả Cạnh AB Cạnh BC Cạnh AC Căn bậc AB Căn bậc BC Căn bậc AC Tam giác Chu vi Diện tích Thực Xóa Bảng 4.1 Các đối tượng chương trình kiểm tra tam giác 4.4.2 Mã code chương trình 4.4.2.1 Code giao diện using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using ClassLibrary1; namespace WindowsApplication1 Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B 73 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void btok_Click(object sender, EventArgs e) { if (txtA.Text == "") { txtA.Text = "0"; } if (txtB.Text == "") { txtB.Text = "0"; } if (txtC.Text == "") { txtC.Text = "0"; } double a = Convert.ToDouble(txtA.Text); double b = Convert.ToDouble(txtB.Text); double c = Convert.ToDouble(txtC.Text); if (cbA.Checked) { a = Math.Sqrt(a); } if (cbB.Checked) { b = Math.Sqrt(b); } if (cbC.Checked) { c = Math.Sqrt(c); } Class1 x = new Class1(); int d = x.phanloai(a, b, c); if (d==1) { txtTamgiac.Text = "Tam giác đều"; } else if (d==2) Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 74 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 { txtTamgiac.Text = "Tam giác vuông cân"; } else if (d==3) { txtTamgiac.Text = "Tam giác cân"; } else if (d==4) { txtTamgiac.Text = "Tam giác vuông"; } else if (d==5) { txtTamgiac.Text = "tam giac thuong"; } else { txtTamgiac.Text = "Không phải tam giác"; } txtCV.Text = x.chuvi(a, b, c).ToString(); txtS.Text = x.dientich(a, b, c).ToString(); } private void bthuy_Click(object sender, EventArgs e) { txtA.Text = ""; txtB.Text = ""; txtC.Text = ""; txtTamgiac.Text = ""; txtCV.Text = ""; txtS.Text = ""; } private void txtA_KeyPress(object sender, KeyPressEventArgs e) { string decimalString = "."; char decimalChar = Convert.ToChar(decimalString); if (Char.IsDigit(e.KeyChar) || Char.IsControl(e.KeyChar)) { } else if (e.KeyChar == decimalChar && txtA.Text.IndexOf(decimalString) == -1) { } else { e.Handled = true; } } } } Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 75 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 4.4.2.2 Code lớp kiểm tra tam giác using System; using System.Collections.Generic; using System.Text; namespace ClassLibrary1 { public class Class1 { public Boolean tamgiac(double a,double b,double c)// kiem tra la tam giac thuong { if ((a + b > c) && (b + c > a) && (a + c > b)) { return true; } return false; } public Boolean tamgiacvuong(double a, double b, double c)// kiem tra la tam giac vuong { if (tamgiac(a, b, c))// neu la tam giac thuong { if (a * a + b * b == c * c || a * a + c * c == b * b || b * b +c * c == a * a) return true; } return false; } public Boolean tamgiacvuongcan(double a, double b, double c)// kiem tra tam giac vuong can { if (tamgiacvuong(a, b, c)) { if (a == b || b == c || c == a) return true; } return false; } public Boolean tamgiaccan(double a, double b, double c)// kiem tra tam giac can { if (tamgiac(a, b, c)) { if (a == b || b == c || c == a) return true; } return false; Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B 76 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 } public Boolean tamgiacdeu(double a, double b, double c)// kiem tra tam giac deu { if (tamgiac(a, b, c)) { if (a == b && b == c && c == a) return true; } return false; } public double dientich(double a, double b, double c) { if (!tamgiac(a, b, c)) return 0; double p = (a + b + c)/2; return Math.Sqrt(p * (p - a) * (p - b) * (p - c)); } public double chuvi(double a, double b, double c) { if (!tamgiac(a, b, c)) return 0; return a + b + c; } public int phanloai(double a, double b,double c)// phan loai tam giac { if(tamgiacdeu(a, b, c)) return 1;// la neu tam giac deu if(tamgiacvuongcan(a, b, c)) return 2;// if(tamgiaccan(a, b, c)) return 3; if(tamgiacvuong(a,b,c)) return 4; if(tamgiac(a,b,c)) return 5; return 0;// la neu ko la tam giac } } } Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 77 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 CHƯƠNG 5: THIẾT KẾ KIỂM THỬ 5.1 Kiểm thử hộp đen Kiểm thử hộp đen phương pháp tập trung vào yêu cầu mặt chức phần mềm Sau tạo điều kiện input yêu cầu giao diện để kiểm thử chức ứng dụng kiểm tra tam giác 5.1.1 Yêu cầu giao diện Ứng dụng kiểm tra tam giác tạo với mục đích để minh họa cho q trình kiểm thử đơn vị với công cụ kiểm thử NUnit version 2.5 yêu cầu giao diện đơn giản Bảng 5.1 trình bày rõ yêu cầu giao diện ứng dụng TT Yêu cầu Test Các thơng tin chương trình Cho phép thực kiểm tra tam giác Cho phép nhập lại thông tin nhập Cho phép người dùng chọn bậc hai cạnh nhập Người dùng khơng cần sử dụng chuột thực chương trình Cho phép người dùng nhập độ Các textbox: Cạnh AB, Cạnh AC, dài cạnh Cạnh BC dùng cho phép người dùng nhập độ dài cạnh Cho phép xem tam giác sau Texbox “ TamGiac” cho phép người tiến hành kiểm tra dùng xem tam giác sau tiến hành kiểm tra Yêu cầu kết Chương trình bao gồm: Các Label: Cạnh AB, Cạnh BC, Cạnh AC Ba Checkbox: Căn Bậc Các textbox: A, B, C, TamGiac Các button: Bắt đầu, Hủy Click button “ Bắt đầu ” để tiến hành kiểm tra tam giác Click button “ Hủy ” để tiến hành nhập lại thông tin nhập Click checkbox “ Căn Bậc ” để chọn bậc hai cho cạnh nhập Sử dụng phím tab để di chuyển Bảng 5.1 Yêu cầu giao diện Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 78 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 5.1.2 Mô tả tình Test Bảng 5.2 sau trình bày tình test dựa yêu cầu giao diện bảng 5.1 TT Dữ liệu Test Nhập vào giá trị ba cạnh tam giác kích chọn button “Bắt đầu ” Nhập vào giá trị ba cạnh tam giác kích chọn button “ Hủy ” Nhập vào giá trị ba cạnh tam giác, kích chọn vào checkbox cạnh kích button “ Hủy ” Nhập liệu cạnh ký tự Yêu cầu kết Trên form chương trình loại tam giác Chương trình xóa trắng textbox để người dùng nhập liệu Chương trình xóa trắng textbox, checkbox để người dùng nhập liệu Trên form chương trình báo lỗi liệu bị sai Không nhập liệu cạnh Chương trình ngầm hiểu lại kích chọn button “Bắt đầu ” cạnh tam giác lúc không tiến hành kiểm tra Nhập liệu cạnh có dạng phân Trên form chương trình báo lỗi số liệu bị sai Bảng 5.2 Mơ tả tình test 5.2 Kiểm thử hộp trắng Trong kiểm thử hộp trắng,các trường hợp kiểm thử thiết kế để xem xét cấu trúc nội module cấu trúc điều kiện Bảng 5.3 đưa tình test với liệu đầu vào kết đầu cho trường hợp TT Tình Dữ liệu đầu vào kết đầu Dữ liệu đầu vào Cạnh AB: Cạnh AC: Cạnh BC: Kết đầu Tam giác vuông Dữ liệu đầu vào Cạnh AB: Tam giác vuông cân kết đầu Cạnh AC: Cạnh BC: Căn bậc hai Dữ liệu đầu vào Cạnh AB: kết Cạnh AC: đầu sai Cạnh BC: Tam giác vuông Dữ liệu đầu vào Cạnh AB: Căn bậc hai Tam giác cân kết đầu Cạnh AC: Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B 79 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Cạnh BC: Dữ liệu đầu vào Cạnh AB: 3/5 kết đầu Cạnh AC: sai Cạnh BC: Bảng 5.3 Không tam giác Dữ liệu kiểm thử CHƯƠNG 6: TIẾN HÀNH KIỂM THỬ 6.1 Kiểm thử hộp đen 6.1.1 Kết kiểm thử giao diện Bảng 6.1 sau kết đạt sau tiến hành kiểm thử giao diện chương trình ứng dụng TT Yêu cầu Test Các thông tin chương trình Cho phép thực kiểm tra tam giác Cho phép nhập lại thông tin nhập Cho phép người dùng chọn bậc hai cạnh nhập Người dùng không cần sử dụng chuột thực chương trình Cho phép người dùng nhập độ dài cạnh Cho phép xem tam giác sau tiến hành kiểm tra Yêu cầu kết Chương trình bao gồm: Các Label: Cạnh AB, Cạnh BC, Cạnh AC, Tam Giác Ba Checkbox: Căn Bậc Các textbox: A, B, C, TamGiac Các button: Bắt đầu, Hủy Click button “ Bắt đầu ” để tiến hành kiểm tra tam giác Click button “ Hủy ” để tiến hành nhập lại thông tin nhập Click checkbox “ Căn Bậc ” để chọn bậc hai cho cạnh nhập Kết True Sử dụng phím tab để di chuyển True True True True Các textbox: A, B, C dùng cho True phép người dùng nhập độ dài cạnh Texbox “ TamGiac” cho phép người True dùng xem tam giác sau tiến hành kiểm tra Bảng 6.1 Kết kiểm thử giao diện 6.1.2 Kết kiểm thử chức Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B 80 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Kết tình test nêu chương trình bày Bảng 6.2 TT Dữ liệu Test Nhập vào giá trị ba cạnh tam giác kích chọn button “ Bắt đầu ” Nhập vào giá trị ba cạnh tam giác kích chọn button “ Hủy ” Nhập vào giá trị ba cạnh tam giác, kích chọn vào checkbox cạnh kích button “ Hủy ” Nhập liệu cạnh ký tự Không nhập liệu cạnh lại kích chọn button “ Bắt đầu ” Nhập liệu cạnh có dạng phân số Yêu cầu kết Kết Trên form chương trình True loại tam giác Chương trình xóa trắng True textbox để người dùng nhập liệu Chương trình xóa trắng Faile textbox, checkbox để người dùng nhập liệu Trên form chương trình báo lỗi Faile liệu bị sai Chương trình ngầm hiểu True cạnh tam giác lúc không tiến hành kiểm tra Trên form chương trình báo lỗi Faile liệu bị sai Bảng 6.2 Kết kiểm thử tình 6.2 Kiểm thử hộp trắng Để kiểm thử module chương trình ứng dụng ta cần tạo project Visul Studio 2008 với tên testUnitTamGiac Sau TestCase chương trình với trường hợp kiểm thử thiết kế Bảng 5.3 using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; namespace checkTamGiac { [TestFixture] public class testUnitTamGiac { private ClassLibrary1.Class1 x; [TestFixtureSetUp] public void SetUp() { x = new ClassLibrary1.Class1(); Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 81 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 } [TestFixtureTearDown] public void TearDown() { x = null; } [Test] public void TestTamGiac() { int a = x.phanloai(3, 4,5); Assert.AreEqual(a, 4); } } } Sau tiến hành kiểm thử, ta có kết Bảng 6.3 đây: TT Tình Dữ liệu đầu vào kết đầu Dữ liệu đầu vào kết đầu Dữ liệu đầu vào Kết Kết Hình đầu Cạnh AB: Tam giác Kết chấp nhận liệu 6.1 Cạnh AC: vuông vào cho kết tam Cạnh BC: giác vuông → kết test Cạnh AB: Tam giác Kết chấp nhận liệu 6.2 Cạnh AC: vuông cân vào chương trình khơng Cạnh BC: Căn bậc báo lỗi → kết test hai Dữ liệu đầu vào kết đầu sai Dữ liệu đầu vào kết đầu Dữ liệu đầu vào kết đầu sai Cạnh AB: Cạnh AC: Cạnh BC: Tam vuông giác Kết chấp nhận liệu 6.3 vào chương trình báo lỗi → kết test Cạnh AB: Căn bậc Tam giác hai cân Cạnh AC: Cạnh BC: Cạnh AB: 3/5 Không Cạnh AC: tam giác Cạnh BC: Kết chấp nhận liệu 6.4 chương trình khơng báo lỗi → kết test Kết chấp nhận liệu 6.5 chương trình khơng báo lỗi → kết test sai Dữ liệu Cạnh AB dạng phân số Bảng 6.3 Kết kiểm thử hộp trắng Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Cơng nghệ phần mềm B 82 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Kết kiểm thử lần hình 6.1 cho thấy liệu đầu vào kết đầu trùng với (tam giác vuông),vậy kết test Hình 6.1 Kết kiểm thử lần Kết kiểm thử lần hình 6.2 cho thấy liệu đầu vào kết đầu trùng với (tam giác vuông cân),vậy kết test Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 83 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Hình 6.2 Kết kiểm thử lần Kết kiểm thử lần hình 6.3 cho thấy kết chấp nhận liệu đầu vào chương trình báo lỗi (dữ liệu đầu vào tam giác thường kết đầu lại tam giác vuông),vậy kết test Hình 6.3 Kết kiểm thử lần Kết kiểm thử lần hình 6.4 cho thấy liệu đầu vào kết đầu trùng với (tam giác cân),vậy kết test Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 84 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 Hình 6.4 Kết kiểm thử lần Kết kiểm thử lần hình 6.5 cho thấy liệu đầu vào cho cạnh AC dạng phân số chương trình test chấp nhận liệu chương trình ứng dụng khơng, kết test sai Hình 6.5 Kết kiểm thử lần Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 85 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt đồ án hiểu rõ vận dụng qui trình kiểm thử vào án thực tế, nghiên cứu vận dụng hiệu số công cụ hỗ trợ kiểm thử tự động đặc biệt công cụ kiểm thử NUnit thực số sản phẩm demo, từ đề xuất ứng dụng kiểm thử cho ứng dụng phức tạp hơn, thực nhiều loại, nhiều giai đoạn kiểm thử Việc kiểm thử NUnit giúp tiết kiệm thời gian kiểm thử đơn vị hiệu Trên sở nghiên cứu tư liệu kết thực nghiệm cho thấy kiểm thử phần mềm quan trọng, việc thực kiểm thử tốt làm tăng chất lượng sản phẩm Tuy nhiên, để vận dụng thực cách hiệu qui trình, phương pháp cơng cụ kiểm thử cịn nhiều vấn đề đặt cần tiếp tục giải Có thể đề xuất hướng nghiên cứu triển khai đồ án là: - Sử dụng công cụ kiểm thử NUnit để kiểm thử đối tượng website hiệu suất website - Nghiên cứu số công cụ kiểm thử web, kiểm thử sở liệu, kiểm thử tải Để nâng cao hiệu suất kiểm thử nhiều loại sản phẩm phần mềm khác nhau, ta cần nghiên cứu thêm nhiều công cụ kiểm thử tự động khác cơng cụ kiểm thử thực chuyên số kiểm thử Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 86 Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368 TÀI LIỆU THAM KHẢO [1] B.Beizer,Software Computer Press,1990 Testing Techniques.London: International Thompson [2] A.Bertolino,”Chapter 5: Software Testing,” in IEEE SWEBOK Trial Version 1.00,May 2001 [3] B.W.Boehm, Software Engineering Economics Englewood Cliffs, NJ: PrenticeHall,Inc.,1981 [4] R.D.Craig and S.P.Jaskiel, Systematic Software Testing Norwood,MA: Artech House Publishers,2004 Sinh viên thực hiện: Bùi Trường Thi- Khóa K50 - Lớp Công nghệ phần mềm B 87 ... tools Nunit: Xây dựng toán phép tính, chương trình kiểm tra tam giác kiểm thử đơn vị Nunit Các nhiệm vụ cụ thể ĐATN - Tìm hiểu lý thuyết kiểm thử - Nghiên cứu công cụ kiểm thử NUnit version 2.5. .. Trạng thái lỗi 1.4.KIỂM THỬ ĐƠN VỊ Kiểm thử đơn vị ứng dụng mức môđun Thường thực bới nhà phát triển trước mơđun tích hợp với mơ đun khác Kiểm thử đơn vị mức thấp tiến trình kiểm thử, thường áp... hình kiểm thử bao gồm : kế hoạch kiểm thử, thủ tục kiểm thử chương trình chạy kiểm thử như: chương trình giả lập mơi trường, chương trình tạo trường hợp kiểm thử? ?? Các trường hợp kiểm thử phải với