intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài thuyết trình: Unit Test

Chia sẻ: Huynh Thi Thuy | Ngày: | Loại File: PPT | Số trang:30

210
lượt xem
23
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Định nghĩa Unit Test, tầm quan trọng Unit Test, phương pháp xây dựng Unit Test, các đối tượng thay thế, các kinh nghiệm trong Unit Test,... là những nội dung chính trong bài thuyết trình "Unit test". Mời các bạn cùng tham khảo để có thêm tài liệu học và nghiên cứu.

Chủ đề:
Lưu

Nội dung Text: Bài thuyết trình: Unit Test

  1. UNIT TEST Nhóm 10 1
  2. Các nội dung chính Định nghĩa Unit Test Tầm quan trọng Unit Test Phương pháp xây dựng Unit Test Các đối tượng thay thế (MOCK Object) Các kinh nghiệm trong Unit Test Các công cụ hỗ trợ 2
  3. Unit Test là gì? - Unit Testing, kiểm tra từng bộ phận rất nhỏ, từng unit riêng biệt trong source code của chương trình để kiểm tra xem nó có hoạt động chính xác không. - Từ những bộ phận nhỏ này, ta lại kiểm tra những unit lớn hơn có sử dụng những unit nhỏ đã được kiểm tra đó. 3
  4. Unit Test ­ Một Unit Test là một phần của source  code, thực thi một phần code chính khác  và so sánh kết quả thực tế với kết quả  mong đợi. ­  Được thực hiện bởi các lập trình viên. ­  Có thể làm bằng tay (Manual Unit Test)  hoặc tự động (Automated Unit Test) 4
  5. Tầm quan trọng Unit Test • Lợi ích của Unit Test: ­  Đảm bảo chất lượng từng Unit trong phần  mềm. ­  Phát hiện lỗi sớm và chỉnh sửa kịp thời ­  Giảm chi phí ­  Tái sử dụng được ­  Giúp chúng ta Design 5
  6. Phương pháp xây dựng Unit Test  Quá trình thực hiện  Unit Test Unit test nên được  xây dựng cho mỗi  module sau khi  kiểm tra xong mã  nguồn. 6
  7. Phương pháp xây dựng Unit Test  Thiết kế UT: theo trình tự sau: • Thiết lập các điều kiện cần thiết: khởi tạo các đối tượng, xác định tài nguyên cần thiết, xây dựng các dữ liệu giả… • Triệu gọi các phương thức cần kiểm tra. • Kiểm tra sự hoạt động đúng đắn của các phương thức. • Dọn dẹp tài nguyên sau khi kết thúc kiểm tra. 7
  8. Phương pháp xây dựng Unit Test  Có 2 kỹ thuật phổ  biến: ­  Black box testing ­ White box testing 8
  9. Phương pháp xây dựng Unit Test • Phân tích các tình huống có thể xảy ra đối với mã. • Mọi UT phải bắt đầu với trạng thái “fail” và chuyển trạng thái “pass” sau một số thay đổi hợp lý đối với mã chính. • Khi viết một đoạn mã quan trọng, hãy viết các UT tương ứng. • Số lượng Test Case đủ lớn để phát hiện điểm yếu của mã theo nguyên tắc: – Nếu nhập giá trị đầu vào hợp lệ thì kết quả trả về cũng phải hợp lệ – Nếu nhập giá trị đầu vào không hợp lệ thì kết quả trả về phải không hợp lệ 9
  10. Phương pháp xây dựng Unit Test • Sớm nhận biết các đoạn mã không ổn định và có nguy cơ gây lỗi cao, viết UT tương ứng để khống chế. • Nên tạo ra một lớp kiểm tra riêng vì những lỗi nghiêm trọng có thể phát sinh từ các đối tượng quan trọng. • Nên kiểm tra lại các UT cũ, sau một thời gian code. • Sử dụng nhiều phương thức kiểm tra khác nhau. Hãy viết càng đơn giản càng tốt. • Cuối cùng, viết UT cũng đòi hỏi sự nỗ lực, kinh nghiệm và sự sáng tạo như viết PM. 10
  11. MOCK OBJECTS (Đối tượng thay thế) Các định nghĩa(what): 1. “A mock object is simply a debug replacement for a real-world object” (Andy Hunt, Dave Thomas – Pragmatic unit testing in  java with Junit) 2.  “A mock object is an object created to stand in for  an object that your code will be collaborating with.  Your code can call methods on the mock object,  which will deliver results as set up by your tests.”  (Source: JUnit in Action, Vincent Massol) 11
  12. Đăc điểm • Đơn giản hơn đối tượng thực nhưng vẫn giữ được sự tương tác với các đối tượng khác. • Không lặp lại nội dung đối tượng thực. • Cho phép thiết lập các trạng thái riêng trợ giúp kiểm tra. 12
  13. MOCK OBJECTS(tt) Sử dụng mocks khi nào thì thích hợp(when): • Có thể sử dụng “mock object” để mô phỏng các đối tượng thật(real object) sau: - Không có hành vi cụ thể => không thể đoán trước kết quả - Khó cài đặt - Xử lý chậm - Khó xảy ra và dễ gây lỗi - Object liên quan giao diện người dùng - Object chưa tồn tại dạng mã (mới trên bản thiết kế) 13
  14. MOCK OBJECTS(tt) Thiết kế (how): - 3 bước quan trọng để sử dụng các đối tượng thay thế trọng kiểm thử: 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 đó. 14
  15. MOCK Object INTERFACE REAL MOCK CLASS CLASS TESTED FUNCTION 15
  16. Các Dạng Mocks Có thể dùng nhiều kĩ thuật để test các module trong chương trình: 1. Stubs 2. Mock 3. Test a servlet 16
  17. Simple Stubs • Giả sử gọi hàm getTime() để trả về thời gian hiện tại: public long getTime() { return System.currentTimemillis(); } public long getTime() { if(debug) { return debug_cur_time; } else{ return System.currentTimemillis(); } } 17
  18. Mock Kiểm thử 1 lớp truy xuất cơ sở dữ liệu: public class RealDAO { public string getName( long id) { //…. } } Tạo 1 interface: public interface Environmental { public long getTime(); // Other methods omitted... } 18
  19. MOCK(tt) Áp dụng class interface cho lớp muốn kiểm thử: public class SystemEnvironment implements Environmental { public long getTime() { return System.currentTimeMillis(); } // other methods ... } 19
  20. MOCK(tt) Tạo class mock kế thừa từ interface này: public class MockSystemEnvironment implements Environmental { public long getTime() { return current_time; } public void setTime(long aTime) { current_time = aTime; } private long current_time; // ... } 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2