Giới thiệu phương pháp kiểm thử UnitTest và ví dụ đơn giản
Giới thiệu phương pháp kiểm thử UnitTest
UnitTest là một phương pháp kiểm thử phần mềm trong đó từng đơn vị nhỏ nhất của phần mềm, thường là các hàm hoặc phương thức, được kiểm thử độc lập để đảm bảo rằng chúng hoạt động đúng như mong đợi.
Đặc điểm của UnitTest
- Kiểm thử độc lập: Từng đơn vị của chương trình được kiểm thử riêng biệt.
- Tự động hóa: Các UnitTest thường được thực hiện tự động thông qua các công cụ hoặc framework như JUnit (Java), NUnit (C#), PyTest (Python), v.v.
- Tính lặp lại: Test case có thể chạy nhiều lần mà không thay đổi kết quả.
- Phát hiện lỗi sớm: Giúp phát hiện và sửa lỗi ngay trong giai đoạn phát triển.
- Dễ bảo trì: Khi có thay đổi trong code, UnitTest giúp đảm bảo rằng các chức năng khác vẫn hoạt động đúng.
Ví dụ đơn giản: UnitTest trong C# sử dụng NUnit
Giả sử chúng ta có một lớp Calculator với hai phương thức:
- Add(): Tính tổng của hai số.
- Subtract(): Tính hiệu của hai số.
1. Code lớp Calculator
2. Code UnitTest sử dụng NUnit
Giải thích đơn giản:
-
Lớp
Calculatorcó 2 phương thức:-
Add(int a, int b)cộng hai số. -
Subtract(int a, int b)trừ hai số.
-
-
Test Case
TestAdd():-
Tạo một đối tượng của lớp
Calculator. -
Kiểm thử kết quả của
Add(2, 3)xem có bằng 5 không.
-
Tạo một đối tượng của lớp
-
Test Case
TestSubtract():-
Kiểm thử kết quả của
Subtract(5, 3)xem có bằng 2 không.
-
Kiểm thử kết quả của
-
Assert.AreEqual(expected, actual): So sánh kết quả mong đợi với kết quả thực tế.
Chạy Test
Nếu bạn sử dụng NUnit trên Visual Studio:
- Cài đặt NUnit và NUnit3TestAdapter.
- Chạy Test bằng cửa sổ Test Explorer.
- Kết quả sẽ thông báo từng test case có thành công hay thất bại.