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 đủ
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:
bai_giang_cong_cu_kiem_thu_phan_mem_bai_7_kiem_thu_don_vi_un.pdf

