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

Áp dụng các kỹ thuật => các test case

Thực thi các test case

Viết code ???

Lớp Điểm, hàm tính khoảng cách

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

Tương tự cho các test case khác

Tương tự cho lớp và hàm khác

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

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

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

Tải về để xem bản đầy đủ

pdf 27 trang duykhanh 4360
Bạn đang xem 10 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ị", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung 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ị

Bài giảng Công cụ kiểm thử phần mềm - Bài 7: Kiểm thử đơn vị
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 
 2/4/15 Công cụ kiểm thử phần mềm 
 1. Mở đầu 
 Hàm nh Hàm khởi 
 Hàm 
 khoảng cách tạo Hàm 
 m kiếm nh toán 
 ??? 
Lớp Diem ??? 
 Hàm khởi 
 tạo Lớp  
 Hàm nh Lớp 
 chu vi TamGiac 
 Hàm đúng hay sai??? 
 Hàm nh ??? Hàm khởi 
 diện ch tạo 
 3 
 2/4/15 Công cụ kiểm thử phần mềm 
 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 
 Hàm nh Hàm khởi Thực thi test case 2 
 khoảng cách 
 tạo  
 Hàm khởi tạo 
 Lớp Diem Thực thi test case 1 
 Thực thi test case 2 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 2. Giới thiệu 
Hoàn thành Kiểm tra ứng Chỉnh sửa 
 ứng dụng dụng ứng dụng 
 Kiểm thử chấp nhận - 
 Acceptance Tesng 
 Kiểm thử hệ thống - 
 System Tesng 
 Kiểm thử ch hợp - 
 Integraon Tesng 
 Kiểm thử đơn vị - 
 Unit Tesng 
 6 
 2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 4. Unit testing framework 
 8 
2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 5. Các bước thực hiện 
 Hàm nh Hàm 
 Hàm nh 
khoảng cách Kiểm tra 
  diện ch 
 ??? 
 Thực thi hàm ??? 
 kiểm tra 
 Hàm nh 
 chu vi 
 Hàm 
 Báo cáo 
 m kiếm 
 ??? 
 ??? 10 
2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 6.1. Kết quả của hàm kiểm thử 
£ Pass 
£ Fail 
£ Error 
 14 
 2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 6.2. So sánh: assert 
£  Đối tượng giống nhau (same) 
 AreSame(MongDoi, ThucTe) 
 AreNotSame(MongDoi, ThucTe) 
£  Đối tượng bằng (equal) Hocsinh 1 & hoc sinh 2 
 AreEqual(MongDoi, ThucTe) Nhanvien 1 & nhan vien 2 
 AreNoteEqual(MongDoi, ThucTe) 
£  Số thực (sai số) 
 AreEqual(MongDoi, ThucTe, saiso) 
 16 
 2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 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 
 2/4/15 Công cụ kiểm thử phần mềm 
 6.4. Data driven 
 20 
2/4/15 Công cụ kiểm thử phần mềm 
 7. Mock object 
£  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 
=> Khó khăn trong quá trình khởi tạo đối 
tượng 
 21 
 2/4/15 Công cụ kiểm thử phần mềm 
 7. Mock object 
£ Mock object (MO): là đối tượng ảo 
£  Mô phỏng các tính chất và hành vi giống hết như đối 
 tượng thực. 
p Truyền vào lệnh đang vận hành nhằm kiểm tra 
 tính đúng đắn của các hoạt động bên trong. 
 22 
 2/4/15 Công cụ kiểm thử phần mềm 
 7.1. Thiết kế Mock Object 
1.  Đưa ra interface để mô tả đối tượng. 
2.  Viết nội dung cho đối tượng thực dựa trên interface. 
3.  Trích interface từ đối tượng thật và triển khai Mock 
 Object (MO) dựa trên interface đó 
 23 
 2/4/15 Công cụ kiểm thử phần mềm 
 7.1. Thiết kế Mock Object 
 Interface 
 Real Object Mock Object 
 Tested 
 Funcon 
 24 
2/4/15 Công cụ kiểm thử phần mềm 
 7.2 Cài đặt và sử dụng 
£ Thêm tham chiếu tới thư viện chứa lớp 
 Mock Object 
£ Ví dụ trong Nunit là: nuint.mocks 
 25 
 2/4/15 Công cụ kiểm thử phần mềm 
 Demo 
£ NUnit 
£ JUnit 
 26 
 2/4/15 Công cụ kiểm thử phần mềm 
 Thảo luận 
 27 
2/4/15 Công cụ kiểm thử phần mềm 

File đính kèm:

  • pdfbai_giang_cong_cu_kiem_thu_phan_mem_bai_7_kiem_thu_don_vi.pdf