Software Testing Method 2: Kiểm thử hộp trắng - White Box Testing và Kiểm thử hộp xám - Grey Box Testing.

Software Testing Method 2: 
Kiểm thử hộp trắng - White Box Testing và Kiểm thử hộp xám - Grey Box Testing.

Trong kiểm thử phần mềm, người kiểm thử luôn cần vận dụng nhiều hơn một phương pháp để tìm ra lỗi, sửa lỗi và phát triển được một ứng dụng phần mềm hoàn chỉnh nhất. Trong bài blog trước, chúng ta đã tìm hiểu về phương pháp kiểm thử đầu tiên và được cho là phổ biến nhất: Kiểm thử hộp đen. Còn ở bài blog lần này, hãy cùng tìm hiểu về hai phương pháp kiểm thử khác. Đó là: Kiểm thử hộp trắng và Kiểm thử hộp xám.

I. Kiểm thử hộp trắng - White Box Testing:

1.Khái niệm:

  • Kiểm thử hộp trắng (hoặc kiểm thử hộp kính) là một phương pháp kiểm thử mà ở đó, người thực hiện kiểm thử phải có kiến thức và kỹ năng về lập trình để hiểu cấu trúc code bên trong, thiết kế và mã hóa của phần mềm.
  • Khác với Kiểm thử hộp đen, kiểm thử hộp trắng dựa trên các hoạt động bên trong của một ứng dụng và xoay quanh kiểm tra nội bộ.
  • Người thực hiện kiểm thử (thường là lập trình viên) phải hiểu mã nguồn, mức độ bao phủ của câu lệnh và phạm vi của các nhánh.

2. Các loại Kiểm thử hộp trắng:

  • Kiểm thử đơn vị (Unit test):

+ Unit test là loại kiểm thử đầu tiên được thực hiện trên mỗi đơn vị, khối mã khi chức năng được phát triển.

+ Unit test về cơ bản thường được thực hiện bởi lập trình viên.

  • Kiểm thử rò rỉ bộ nhớ (Testing for Memory Leaks):

Trong trường hợp ứng dụng phần mềm chạy chậm, thì kiểm tra rò rỉ bộ nhớ được nhận định là một trong những ưu tiên hàng đầu để giải quyết lỗi.

  • Kiểm thử thâm nhập hộp trắng (White Box Penetration Testing):

Mục đích của loại này là tấn công mã từ nhiều góc độ thông tin (mã nguồn ứng dụng, địa chỉ IP, thông tin máy chủ…) để làm lộ ra các mối đe dọa bảo mật đối với ứng dụng phần mềm.

  • Kiểm thử đột biến hộp trắng (White Box Mutation Testing):

Mục đích của kiểm thử là để tìm ra các kỹ thuật code tốt nhất cho việc mở rộng giải pháp phần mềm.

3. Ưu điểm của Kiểm thử hộp trắng:

  • Giúp tối ưu việc code bằng cách tìm lỗi ẩn.
  • Có thể kiểm thử ở giai đoạn sớm trong SDLC kể cả khi GUI chưa khả dụng.
  • Kiểm thử kỹ lưỡng hơn, có thể bao phủ hết các đường dẫn.

4. Nhược điểm của Kiểm thử hộp trắng:

  • Đây là một phương pháp kiểm thử phức tạp. Đòi hỏi người thực hiện phải có kiến thức về lập trình nhiều hơn, chuyên nghiệp hơn.
  • Tốn nhiều thời gian, các ứng dụng lập trình lớn cần nhiều thời gian để kiểm tra kỹ.

II. Kiểm thử hộp xám - Grey Box Testing:

1.Khái niệm:

  • Ngoài hai phương pháp đã được nhắc đến trước đó thì kiểm thử hộp xám được cho là sự kết hợp giữa kiểm thử hộp đen và kiểm thử hộp trắng.
  • Với phương pháp này, người thực hiện kiểm thử cần phải biết và hiểu được một phần cấu trúc bên trong sản phẩm được phát triển.
  • Kiểm thử hộp xám được cho là ít phổ biến hơn 2 loại kiểm thử kể trên. Xong vẫn được nhắc đến để người kiểm thử có thể linh hoạt hơn giữa các phương pháp trong quá trình kiểm thử phần mềm.

2. Các kỹ thuật trong Kiểm thử hộp xám:

  • Kiểm thử ma trận (Matrix Testing): Ở kỹ thuật này, người thực hiện kiểm thử cần phải xác định tất cả các biến tồn tại trong chương trình phần mềm.
  • Kiểm thử quy hồi (Regression Testing): Kiểm tra sự ảnh hưởng lẫn nhau về nhiều khía cạnh của các phiên bản lập trình cũ và mới của phần mềm. Thường kỹ thuật này sẽ được thực hiện bằng các chiến lược như: kiểm thử tổng quát, kiểm thử rủi ro, kiểm thử trong firewall.
  • Kiểm thử mảng trực giao (Orthogonal Array Testing): Kỹ thuật cung cấp độ phủ tối đa của mã code đối với các trường hợp kiểm thử tối thiểu nhất.
  • Kiểm thử mẫu (Pattern Testing): Kỹ thuật dựa trên dữ liệu lỗi trước đó của phần mềm hệ thống. Khác với kiểm thử hộp đen, kiểm thử hộp xám đào sâu trong mã code để tìm hiểu lý do tại sao lỗi xảy ra.

Vì Kiểm thử hộp xám là sự kết hợp giữa kiểm thử hộp đen và kiểm thử hộp trắng nên sẽ có những ưu điểm và nhược điểm của cả hai phương pháp đó.

Tài liệu tham khảo:

https://www.guru99.com/white-box-testing.html

https://www.guru99.com/grey-box-testing.html

Tìm đọc bài blog “Software Testing Method 1: Kiểm thử hộp đen - Black Box Testing.” tại đây:

Software Testing Method 1: Kiểm thử hộp đen - Black Box Testing.
Bất kỳ một ứng dụng phần mềm nào được tạo ra cũng đều tồn tại lỗi. Bởi đây là sản phẩm do con người xây dựng lên. Dù có là người lập trình giỏi, giàu kinh nghiệm, cẩn thận và trách nhiệm đến đâu cũng không tránh được việc phần