Unit Test là gì?

Unit Test là gì?

November 7, 2021 3 By Nam Vu

Ở bài viết “Performance testing – Nó là cái quái gì mà lại dùng nó để vọc phá spiderum” mình có đề cập đến các loại testing. Mình thấy có vẻ nó chưa đủ đâu về kiến thức testing nên mình dành riêng loạt bài viết tới đây để đi sâu về các loại testing. 

Tất nhiên là trong tầm hiểu biết của bản thân có thể nó chưa đầy đủ nhưng mong rằng loạt bài này sẽ giúp ích cho các anh dev hiểu thêm cái nhìn của chị em QC hay Tester nhé!

Trước đó mình cũng đã nói về một loại test mà không phải chị em QC quan tâm mà chính là anh em dev phải quan tâm đến. Bài viết “Unit test, chuyện chẳng của riêng devs nào!” bạn có thể đọc lại để hiểu thêm tại sao nó không thuộc phạm vi test của QC nhé.

Bài viết này mình sẽ đi cụ thể hơn chút về Unit test để mở đầu cho series testing này.

Unit Test là một trong 4 cấp độ kiểm thử phần mềm giúp phát hiện ra lỗi. Vậy Unit Test có vai trò như thế nào trong quá trình kiểm thử? Làm thế nào để có thể viết nó tốt nhất? Bài viết dưới đây sẽ giúp bạn giải đáp các thắc mắc trên.

Unit Test là gì?

Kiểm thử đơn vị (Unit Test) là một trong 4 cấp độ của việc kiểm thử phần mềm, bao gồm:

– Unit Test: kiểm thử cấp đơn vị;

– Integration Test: cấp kiểm thử tích hợp;

– System Test: cấp kiểm thử hệ thống;

– Acceptance Test: cấp kiểm thử chấp nhận.

Trong số 4 cấp độ kiểm thử trên, kiểm thử cấp đơn vị thuộc mức độ kiểm thử nhỏ nhất. Kiểm thử đơn được dùng trong kiểm thử các mã nguồn như: class, method, module… để kiểm tra xem các chức năng, các mã nguồn của chương trình có đang hoạt động đúng hay không.

Vai trò của Unit Test

– Nếu Kiểm thử đơn vị được viết tốt thì mỗi lần khởi chạy Kiểm thử đơn vị, các mã nguồn bên trong có sự thay đổi thì chúng ta có thể phát hiện được ngay những lỗi xảy ra.

– Có thể kiểm thử một cách độc lập các thành phần của dự án mà không cần đợi những phần khác hoàn thành.

– Dễ dàng phát hiện và khoanh vùng các lỗi để sửa chữa do việc thực hiện test trên từng đơn vị của các module riêng.

– Cho phép tái sử dụng mã nguồn.

– Kiểm thử đơn vị được viết tốt sẽ giúp mã nguồn đáng tin cậy hơn.

– Trong giai đoạn Kiểm thử đơn vị, chi phí cho việc sửa chữa lỗi thấp hơn so với các giai đoạn sau này.

Một Unit Test như thế nào được đánh giá là tốt?

Một Unit Test được đánh giá là chạy tốt phải đáp ứng được các nhu cầu như sau:

– Unit Test chạy nhanh, sử dụng data dễ hiểu, dễ đọc.

– Không bị phụ thuộc vào thứ tự của kiểm thử phần mềm, chạy độc lập giữa các test case.

– Test case đơn giản và dễ bảo trì.

– Phản ánh được đúng hoạt động của các module.

– Được sử dụng các dữ liệu thực tế.

Kinh nghiệm viết Unit Test tốt nhất

Nếu chỉ dựa vào những khái niệm và các tiêu chí đánh giá mơ hồ, rất khó để bạn có thể học hỏi được một kinh nghiệm thiết thực.

Dưới đây là một số hướng dẫn để bạn có thể viết Unit Test tốt nhất:

– Nên đặt tên các đơn vị kiểm thử rõ ràng và nhất quán với nhau để đảm bảo rằng test case dễ đọc. Để bất kỳ ai cũng có thể khởi chạy test case mà không gặp phải trở ngại.

– Trong quá trình viết Unit Test, hãy luôn kiểm tra từng module riêng để đảm bảo không có sự chồng chéo giữa các ca thử nghiệm với nhau. Trong trường hợp bạn không kiểm tra các module cẩn thận và có sự chồng chéo giữa các module với nhau, việc thay đổi 1 module có thể ảnh hưởng đến tất cả các module khác.

– Tạo ra các test case độc lập và không bị phụ thuộc vào nhau cả về thứ tự thực hiện lẫn data case.

– Đảm bảo các lỗi xảy ra trong quá trình Unit Test phải được sửa chữa tốt trước khi bước qua giai đoạn tiếp theo.

– Không nên sử dụng Unit Test trong thiết lập cấu hình.

– Nếu số lượng test case nhiều lên, hãy chia nhỏ các nhóm test case mới và cũ ra thành 2 nhóm riêng biệt.

Trên đây là kiến thức cơ bản nhất về unit test. Hi vọng qua bài viết bạn sẽ có một cái nhìn mới cũng như kiến thức mới nào đó có thể giúp ích được cho bạn.

#ntechdevelopers