Độ phủ C1 (Bao phủ dòng lệnh) trong kiểm thử hộp trắng

3 min read

1. Giới thiệu

Tiếp tục với series về kiểm thử hộp trắng.

Trong bài viết trước chúng ta sẽ đề cập đến khái niệm độ phủ trong kiểm thử hộp trắng.

Hôm nay, chúng ta sẽ tìm hiểu về cấp độ thấp nhất (C1 – Độ phủ câu lệnh – Code coverage)

Độ phủ C1 (hay còn gọi là độ phủ dòng) là một trong những khái niệm quan trọng trong kiểm thử hộp trắng, đặc biệt khi đánh giá mức độ hoàn thành của kiểm thử trong phần mềm. Độ phủ C1 đề cập đến tỷ lệ phần trăm của các dòng mã trong một chương trình đã được thực thi trong quá trình kiểm thử.

2. Đặc điểm của độ phủ C1

Độ phủ C1 được tính bằng cách so sánh số lượng dòng mã đã được thực thi với tổng số dòng mã trong chương trình. Công thức tính độ phủ C1 là:

Độ phủ C1 = (Số dòng đã được thực thi/ Tổng số dòng mã nguồn) × 100

Độ phủ C1 cho thấy mức độ mà các kịch bản kiểm thử đã kiểm tra mã nguồn. Nếu độ phủ đạt mức cao, điều này có thể cho thấy rằng phần lớn mã đã được kiểm tra, nhưng không nhất thiết đảm bảo rằng mã là không có lỗi.

    Ví dụ

    Ta có đoạn chương trình như sau (Tìm số lơn hơn)

    Từ sơ đồ trên ta thấy để bao phủ được 100% các câu lệnh ta cần ít nhất 2 test case:

    TC1: (5, 3) -> Thực thi việc kiểm tra điều kiện a > b và trả về kết quả là a.

    TC2: (3, 8) -> Thực thi việc kiểm tra điều kiện a > b và trả về kết quả là b.

    Giả sử chúng ta chỉ có mỗi testcase TC1, khi đó chỉ có 2 câu lệnh trong chương trình được thực thi.

    Độ phủ C1 =2/3 = 66.67%

    Khi có thêm testcase TC2, thì cả 3 câu lệnh trong chương tình đều đã được thực thi nên độ phủ C1 sẽ là:

    C1 =3/3 =100%.

    3. Lợi ích của độ phủ C1

    1. Xác định hiệu quả kiểm thử: Độ phủ C1 cung cấp cái nhìn rõ ràng về hiệu quả của các kịch bản kiểm thử. Nó giúp các kỹ sư phần mềm nhận diện các phần của mã chưa được kiểm tra, từ đó điều chỉnh kế hoạch kiểm thử.
    2. Giảm thiểu rủi ro: Bằng cách đảm bảo rằng nhiều phần mã đã được kiểm tra, độ phủ C1 có thể giúp giảm thiểu rủi ro phát sinh lỗi trong sản phẩm cuối cùng.
    3. Tối ưu hóa quá trình phát triển: Việc nắm rõ độ phủ giúp các nhóm phát triển và kiểm thử cải thiện quy trình làm việc, đảm bảo rằng thời gian và công sức được tập trung vào những khu vực cần thiết nhất.

    4. Hạn chế của độ phủ C1

    1. Không đảm bảo chất lượng: Một độ phủ cao không đồng nghĩa với việc phần mềm không có lỗi. Có thể xảy ra tình huống mã được thực thi nhưng vẫn chứa lỗi logic hoặc lỗi ngữ nghĩa.
    2. Thiếu khả năng kiểm tra điều kiện: Độ phủ C1 không xem xét các điều kiện và nhánh trong mã. Một mã có thể có độ phủ dòng cao nhưng vẫn thiếu sót trong việc kiểm tra các tình huống đặc biệt.

    5. Cách cải thiện độ phủ C1

    Để cải thiện độ phủ C1, các kỹ sư kiểm thử có thể thực hiện các bước sau:

    1. Phát triển thêm kịch bản kiểm thử: Tạo ra các kịch bản kiểm thử mới nhằm đảm bảo rằng tất cả các dòng mã được thực thi.
    2. Sử dụng công cụ hỗ trợ: Áp dụng các công cụ phân tích độ phủ mã để theo dõi và đánh giá độ phủ C1 trong suốt quá trình phát triển.
    3. Phân tích mã nguồn: Thực hiện phân tích mã để xác định những phần của mã có thể chưa được kiểm tra hoặc có logic phức tạp.

    6. Kết luận

    Độ phủ C1 là một chỉ số quan trọng trong kiểm thử hộp trắng, cung cấp thông tin cần thiết về mức độ kiểm tra của mã.

    Mặc dù nó có một số hạn chế, nhưng nếu được sử dụng đúng cách, độ phủ C1 có thể góp phần vào việc nâng cao chất lượng phần mềm và giảm thiểu rủi ro. Để đạt được hiệu quả cao nhất, cần kết hợp độ phủ C1 với các phương pháp kiểm thử khác, như độ phủ điều kiện (C2) và kiểm thử chức năng.

    Avatar photo

    𝐌𝐄𝐙𝐎𝐍 – 𝐓𝐇𝐄 𝐔𝐋𝐓𝐈𝐌𝐀𝐓𝐄 𝐏𝐋𝐀𝐓𝐅𝐎𝐑𝐌 𝐅𝐎𝐑 𝐂𝐎𝐌𝐌𝐔𝐍𝐈𝐓𝐈𝐄𝐒 & 𝐁𝐔𝐒𝐈𝐍𝐄𝐒𝐒

    Discord is a widely used communication platform, but is it truly the best solution for community and business management? While it excels in creating...
    Avatar photo Ngan Ton Thuy
    3 min read

    𝐌𝐞𝐳𝐨𝐧 𝐯𝐬 𝐒𝐥𝐚𝐜𝐤 – 𝐖𝐡𝐢𝐜𝐡 𝐎𝐧𝐞 𝐄𝐧𝐡𝐚𝐧𝐜𝐞𝐬 𝐘𝐨𝐮𝐫 𝐁𝐮𝐬𝐢𝐧𝐞𝐬𝐬…

    Both Mezon and Slack are powerful communication platforms, but which one is the right fit for your organization? Let’s compare their key features: 𝐔𝐬𝐚𝐠𝐞...
    Avatar photo Ngan Ton Thuy
    1 min read

    Leave a Reply

    Your email address will not be published. Required fields are marked *