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
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
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ị
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 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 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 Func on 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:
- bai_giang_cong_cu_kiem_thu_phan_mem_bai_7_kiem_thu_don_vi.pdf