Kiểm thử hộp trắng, Kỹ thuật kiểm thử

Statement testing là gì?

⭐ Statement testing là một kỹ thuật kiểm thử hộp trắng (white-box testing) giúp xác định các test case để thực thi một số câu lệnh của một chức năng nào đó. Bài viết này sẽ giải thích cho bạn “statement testing là gì?” và cách xác định statement coverage cho một đoạn code đơn giản. Xuyên suốt bài này sẽ sử dụng câu hỏi white-box testing bên dưới làm minh hoạ.

Analyse the following highly simplified procedure:

  1. Ask: “What type of ticket do you require, single or return?”
  2. IF the customer wants ‘return’
  3. Ask: “What rate, Standard or Cheap-day?”
  4. IF the customer replies ‘Cheap-day’
  5. Say: “That will be £11,20”
  6. ELSE
  7. Say: “That will be £19,50”
  8. ENDIF
  9. ELSE
  10. Say: “That will be £9,75”
  11. ENDIF

Now decide the minimum number of tests that are needed to ensure that all the questions have been asked, all combinations have occurred and all replies given.

  • A. 3
  • B. 4
  • C. 5
  • D. 6

Đáp án của bạn là gì?

Statement testing là gì?

Statement testing (kiểm thử câu lệnh) là kỹ thuật dựa vào source code (mã nguồn) để xác định các test case (trường hợp kiểm thử) cần thiết để thực thi một số câu lệnh (statement) của một chức năng hay class nào đó. Đây là một kỹ thuật kiểm thử hộp trắng (white-box test technique).

Trên đây là một định nghĩa theo từ điển thuật ngữ ISTQB (https://glossary.istqb.org). Nguyên gốc tiếng Anh như sau:

A white-box test technique in which test cases are designed to execute statements.

Kỹ thuật kiểm thử câu lệnh này giúp bạn dựa vào mã nguồn (source code) của chương trình, function hay class đang được kiểm để xác định test case. Mỗi test case được viết ra là để thực thi (execute) một số câu lệnh cụ thể nào đó trong đoạn code.

Kiểm thử dựa vào câu lệnh
Nguồn: https://sonarcloud.io

Cách xác định statement coverage

Statement coverage của 1 chức năng/hệ thống được xác định theo công thức: số câu lệnh được thực thi bởi bộ test case chia cho tổng số câu lệnh của chức năng/hệ thống đó. Thường thì độ bao phủ sẽ được biểu diễn theo dạng % (phần trăm). Số lượng test case tối thiểu để bao phủ đầy đủ (hết 100%) cho một đoạn mã nguồn là số lượng test case thực thi (đi qua) mọi câu lệnh ít nhất một lần.

Áp dụng statement testing vào thực tế

Kỹ thuật kiểm thử dựa vào câu lệnh này thường được áp dụng ở mức thấp như unit testing (kiểm thử đơn vị). Và unit tests (test case ở mức kiểm thử đơn vị) phần lớn là do lập trình viên (developer) viết. Tester có thể giúp nhóm bằng cách phân tích đoạn code và xác định các test case cần kiểm thử để mọi câu lệnh trong component cần test đều được đi qua ít nhất 1 lần.

Theo ví dụ trên thì chúng ta cần có tối thiểu 3 test case để bao phủ các câu phát biểu (câu lệnh – statement). Để dễ hình dung, chúng ta nên vẽ lược đồ mô tả các phát biểu trên theo nguyên tắc sau:

  1. Phát biểu thông thường: hình chữ nhật
  2. Câu lệnh rẽ nhánh (IF): hình thoi – với hai nhánh đúng sai tương ứng (nếu có)

Sau đó, bạn chỉ cần xác định số lần đi ít nhất từ “Start” đến “End” để qua hết các hình chữ nhật (statement). Đó là số lượng test case tối thiểu để bao phủ hết câu lệnh trong đoạn code đó.

Cách xác định statement coverage
Cách xác định statement coverage

Đây chỉ là kết quả cuối cùng, để xem chi tiết từng bước xác định statement coverage, vui lòng xem video này.

Vui lòng để lại bình luận bên dưới câu hỏi #ISTQB mà bạn cần giải thích, mình sẽ làm video mới để giải thích giúp bạn nhé.

Happy testing!

You Might Also Like

Leave a Reply

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