Bài giảng Công cụ kiểm thử phần mềm - Bài 7:  Kiểm thử đơn vị (Unit Testing)

Kiểm thử đơn vị - Unit Testing  
BM. Công nghệ phần mềm  
Khoa. Công nghệ thông tin  
Nội dung  
1. Mở đầu  
2.ꢀ Giới thiệu  
3.ꢀ Tại sao cần kiểm thử đơn vị  
4.ꢀ Unit testing framework  
5.ꢀ Các bước thực hiện  
6.ꢀ Một số thuật ngữ  
7.ꢀ Mock Object  
8.ꢀ Demo  
2
Công cụ kiểm thử phần mềm  
2/4/15  
1. Mở đầu  
Hàm ꢀnh  
khoảng cách  
Hàm khởi  
tạo  
Hàm  
ꢁm kiếm  
Hàm  
ꢀnh toán  
???  
???  
Lớp Diem  
Hàm khởi  
tạo  
Lớp …  
Lớp  
TamGiac  
Hàm ꢀnh  
chu vi  
Hàm đúng hay sai???  
???  
Hàm ꢀnh  
diện ꢀch  
Hàm khởi  
tạo  
3
Công cụ kiểm thử phần mềm  
2/4/15  
1. Mở đầu  
£ꢀÁp dụng các kỹ thuật => các test case  
£ꢀThực thi các test case  
Hàm ꢀnh khoảng cách  
Thực thi test case 1  
Thực thi test case 2  
…
Hàm ꢀnh  
khoảng cách  
Hàm khởi  
tạo  
Hàm khởi tạo  
Thực thi test case 1  
Thực thi test case 2  
…
Lớp Diem  
Tương tự cho lớp TamGiac, …  
Chương trình có nhiều lớp, mỗi lớp nhiều hàm => thực thi bao  
nhiêu lần???  
4
Công cụ kiểm thử phần mềm  
2/4/15  
1. Mở đầu  
£ꢀ Viết code ???  
£ꢀ Lớp Điểm, hàm tính khoảng cách  
pꢀ Hàm thực thi test case 1:  
¡ꢀ Khởi tạo điểm 1 => (0, 0)  
¡ꢀ Khởi tạo điểm 2 => (0, 2)  
¡ꢀ Gọi hàm tính khoảng cách giữa điểm 1 và điểm 2 => kết  
quả thực tế  
¡ꢀ Kết quả mong đợi = 2  
¡ꢀ So sánh kết quả mong đợi và kết quả thực tế  
¡ꢀ Tùy vào kết quả so sánh, xuất ra pass, fail, error  
pꢀ Tương tự cho các test case khác …  
£ꢀ Tương tự cho lớp và hàm khác …  
5
Công cụ kiểm thử phần mềm  
2/4/15  
2. Giới thiệu  
Hoàn thành  
ứng dụng  
Kiểm tra ứng  
dụng  
Chỉnh sửa  
ứng dụng  
Kiểm thử chấp nhận -  
Acceptance Tesꢁng  
Kiểm thử hệ thống -  
System Tesꢁng  
Kiểm thử ꢀch hợp -  
Integraꢁon Tesꢁng  
Kiểm thử đơn vị -  
Unit Tesꢁng  
6
Công cụ kiểm thử phần mềm  
2/4/15  
3. Tại sao cần kiểm thử đơn vị  
£ꢀ Đảm bảo chất lượng từng đơn vị mã nguồn  
trong phần mềm  
£ꢀ Phát hiện lỗi sớm và chỉnh sửa kịp thời  
£ꢀ …  
7
Công cụ kiểm thử phần mềm  
2/4/15  
4. Unit testing framework  
8
Công cụ kiểm thử phần mềm  
2/4/15  
4. Unit testing framework  
£ꢀ Thư viện hỗ trợ - Script  
£ꢀ Dữ liệu - Data driven  
£ꢀ Thực thi - Run  
£ꢀ Thống kê - Report  
£ꢀ Các framework hỗ trợ cho từng ngôn ngữ lập  
trình  
pꢀ JUnit - java  
pꢀ NUnit - .NET  
pꢀ CPPUnit - C++  
pꢀ PyUnit - Python  
pꢀ …  
pꢀ xUnit  
9
Công cụ kiểm thử phần mềm  
2/4/15  
5. Các bước thực hiện  
Hàm  
Hàm ꢀnh  
khoảng cách  
Hàm ꢀnh  
Kiểm tra  
diện ꢀch  
…
???  
???  
Thực thi hàm  
kiểm tra  
Hàm ꢀnh  
chu vi  
Hàm  
ꢁm kiếm  
Báo cáo  
???  
Công cụ kiểm thử phần mềm ???  
10  
2/4/15  
5. Các bước thực hiện  
£ꢀ Hàm thực thi test case 1 của hàm tính khoảng  
cách:  
pꢀ Khởi tạo điểm 1 => (0, 0)  
pꢀ Khởi tạo điểm 2 => (0, 2)  
pꢀ Gọi hàm tính khoảng cách giữa điểm 1 và điểm 2  
=> kết quả thực tế  
pꢀ Kết quả mong đợi = 2  
pꢀ So sánh kết quả mong đợi và kết quả thực tế  
pꢀ Tùy vào kết quả so sánh, xuất ra pass, fail, error  
11  
Công cụ kiểm thử phần mềm  
2/4/15  
5. Các bước thực hiện  
[TestClass]  
public class TestDiem  
{
[TestMethod]  
public void TestKhoangCach()  
{
Diem d1 = new Diem(0, 0);  
Diem d2 = new Diem(0, 2);  
double KQThucTe = d1.KhoangCach(d2);  
double KQMongDoi = 2;  
Assert.AreEqual(KQMongDoi, KQThucTe);  
}
}
12  
Công cụ kiểm thử phần mềm  
2/4/15  
6. Một số thuật ngữ  
£ꢀKết quả của hàm kiểm thử  
£ꢀ So sánh: Assert  
£ꢀHàm khởi tạo và hủy  
£ꢀDữ liệu – data driven  
13  
Công cụ kiểm thử phần mềm  
2/4/15  
6.1. Kết quả của hàm kiểm thử  
£ꢀPass  
£ꢀFail  
£ꢀError  
14  
Công cụ kiểm thử phần mềm  
2/4/15  
6.2. So sánh: assert  
£ꢀĐiều kiện đúng/sai (boolean)  
isTrue(dieukien)  
isFalse(dieukien)  
£ꢀĐối tượng tồn tại (NULL)  
isNull(doituong)  
isNotNull(doituong)  
15  
Công cụ kiểm thử phần mềm  
2/4/15  
6.2. So sánh: assert  
£ꢀ Đối tượng giống nhau (same)  
AreSame(MongDoi, ThucTe)  
AreNotSame(MongDoi, ThucTe)  
Hocsinh 1 & hoc sinh 2  
Nhanvien 1 & nhan vien 2  
£ꢀ Đối tượng bằng (equal)  
AreEqual(MongDoi, ThucTe)  
AreNoteEqual(MongDoi, ThucTe)  
£ꢀ Số thực (sai số)  
AreEqual(MongDoi, ThucTe, saiso)  
16  
Công cụ kiểm thử phần mềm  
2/4/15  
6.2. So sánh: assert  
£ꢀ Mảng  
pꢀ Số phần tử bằng nhau  
pꢀ Mỗi phần tử bằng nhau  
£ꢀ Kiểm thử ngoại lệ  
try  
{
exceptionCausingMethod();  
// If this point is reached, the expected  
// exception was not thrown.  
fail("Exception should have occurred");  
}
catch ( ExceptedTypeOfException exc )  
{
String expected = "A suitable error message";  
String actual = exc.getMessage();  
Assert.assertEquals( expected, actual );  
}
17  
Công cụ kiểm thử phần mềm  
2/4/15  
6.3. Hàm khởi tạo và hủy  
£ꢀ Chạy mỗi lần bắt đầu và kết thúc hàm  
£ꢀ Chạy mỗi lần bắt đầu và kết thúc quá trình kiểm thử  
£ꢀ Thứ tự gọi hàm  
pꢀ Hàm khởi tạo lớp  
pꢀ Hàm khởi tạo  
pꢀ Hàm kiểm tra của hàm tính chu vi  
pꢀ Hàm hủy  
pꢀ Hàm khởi tạo  
pꢀ Hàm kiểm tra của hàm tính diện tích  
pꢀ Hàm hủy  
pꢀ Hàm hủy lớp  
18  
Công cụ kiểm thử phần mềm  
2/4/15  
6.4. Data driven  
£ꢀĐọc dữ liệu trong quá trình kiểm thử.  
£ꢀThực thi nhiều test case giống nhau.  
19  
Công cụ kiểm thử phần mềm  
2/4/15  
6.4. Data driven  
20  
Công cụ kiểm thử phần mềm  
2/4/15  
Tải về để xem bản đầy đủ
pdf 27 trang yennguyen 16420 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công cụ kiểm thử phần mềm - Bài 7:  Kiểm thử đơn vị (Unit Testing)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_cong_cu_kiem_thu_phan_mem_bai_7_kiem_thu_don_vi_un.pdf