18/09/2018, 14:45

Sự khác biệt giữa Black box test, White Box Test và Grey box test

Thông thường, có hai kiểu kiểm thử chính : Kiểm tra hộp trắng (White box testing) và kiểm tra hộp đen (Black box testing). Bên cạch đó, chúng ta cũng có một kiểu nữa kết hợp hai kiểu trên, đó là kiểm tra hộp xám (Grey box testing). Bạn có biết chúng được dùng khi nào và sự khác nhau giữa các ...

Thông thường, có hai kiểu kiểm thử chính : Kiểm tra hộp trắng (White box testing) và kiểm tra hộp đen (Black box testing). Bên cạch đó, chúng ta cũng có một kiểu nữa kết hợp hai kiểu trên, đó là kiểm tra hộp xám (Grey box testing). Bạn có biết chúng được dùng khi nào và sự khác nhau giữa các kiểu kiểm thử này là gì không?? Hãy cùng tìm hiểu với chúng tôi trong bài viết dưới đây.

1. BLACK BOX TEST (Kiểm tra hộp đen)

Định nghĩa

Kiểm tra hộp đen (Black box testing) là một phương pháp kiểm thử phần mềm mà việc kiểm tra các chức năng của một ứng dụng không cần quan tâm vào cấu trúc nội bộ hoặc hoạt động của nó. Mục đích chính của kiểm tra hộp đen chỉ là để xem phần mềm có hoạt động như dự kiến trong tài liệu yêu cầu và liệu nó có đáp ứng được sự mong đợi của người dùng hay không.

kiem-thu-01

Đặc điểm

  • Đây là kiểu kiểm thử thành phần phần mềm (TPPM) và chỉ dựa vào các thông tin đặc tả về yêu cầu, chức năng của TTPM tương ứng.
  • Việc kiểm thử được thực hiện bên ngoài, không liên quan đến nhà phát triển phần mềm. Vì thế người kiểm thử cũng không cần thiết phải biết về cấu trúc bên trong của TPPM cũng như các kiến thức về lập trình.
  • Mức test này thường yêu cầu các tester phải viết test case đầy đủ trước khi test; Các bước tiến hành test khá đơn giản, chỉ cần thực hiện theo các mô tả trong test case, thực hiện nhập dữ liệu vào, đợi kết quả trả về và so sánh với kết quả dự kiến trong test case.

Đối tượng được kiểm thử
Là thành phần phần mền (TPPM) có thể là 1 hàm chức năng, 1 modul chức năng, 1 phân hệ chức năng.

Phương pháp thử nghiệm

Black box test được sử dụng thích hợp nhất trong kiểm thử hệ thống (System test) và Kiểm thử chấp nhận (Acceptance test). Ngoài ra kiểu test này còn được sử dụng trong nhiều cấp độ khác của kiểm thử phần mềm như : Kiểm thử đơn vị, kiểm thử tích hợp,….

Tạo test case và Thực hiện test case

  • Khi viết test case: Dựa vào yêu cầu và giao diện bên ngoài của chương trình (Không can thiệp vào bên trong code của chương trình)
  • Khi thực hiện test: Thực hiện trên giao diện của chương trình (yêu cầu chương trình phải chạy được mới test được, không can thiệp vào code)

2. WHITE BOX TEST (Kiểm tra hộp trắng)

Định nghĩa

Thử nghiệm kết cấu là loại thử nghiệm được thực hiện để kiểm tra cấu trúc code. Nó còn được gọi là thử nghiệm hộp trắng hoặc thử nghiệm hộp kính. Loại thử nghiệm này đòi hỏi người test phải có kiến thức về code. Do đó, phần lớn là do các lập trình viên, nhà phát triển phần mềm thực hiện.

kiem-thu-02

Đặc điểm

  • Kiểm thử hộp trắng quan tâm đến việc hệ thống vận hành như thế nào chứ không phải chứ năng của hệ thống. Vì nó dựa vào những giải thuật cụ thể, vào những cấu trúc dữ liệu bên trong của TPPM.
  • Trong kiểm tra này, đòi hỏi người tester phải có kiến thức và kỹ năng nhất định về ngôn ngữ lập trình được dùng, hiểu thuật giải trong thành phần phần mềm, để có thể hiểu được chi tiết về đoạn code cần kiểm thử .
  • Mức test này thường yêu cầu các tester phải viết test case đầy đủ các nhánh trong code; khi test, sẽ set điều kiện và data để chạy vào đủ tất cả các nhánh trong giải thuật, đảm bảo thực hiện đầy đủ.

Đối tượng kiểm thử
Là 1 thành phần của phần mềm (1 chức năng, 1 module chức năng, 1 phân hệ chức năng….)

Phương pháp thử nghiệm phù hợp

Kỹ thuật white box test thích hợp dùng để kiểm thử đơn vị (Unit test). Còn với những TPPM quá lớn thì không nên sử dụng kiểu test này bởi sẽ tốn rất nhiều thời gian và công sức, hiệu quả công việc lại không cao. Nó không thích hợp kiểm thử hệ thống hay kiểm thử chấp nhận.

Bài viết xem nhiều: Các kiểu kiểm thử cơ bản

Tạo testcase và thực hiện test

  • Khi viết test case: Dựa vào yêu cầu và nội dung Source Code (can thiệp vào bên trong Code của chương trình)
  • Khi thực hiện test: Thực thi test trong code (không cần thực thi chương trình, vì thực hiện test white box sẽ sử dụng framework nào đó hỗ trợ (Ví dụ như test kiểu debug)

3. GREY BOX TEST (Kiểm thử hộp xám)

Định nghĩa

Ngoài hai kỹ thuật được nhắc đến bên trên thì có 1 kỹ thuật kiểm thử khác là Grey box test , hay còn gọi là Gray box test nó là sự kết hợp giữa black box test và white box test. Kiểu kiểm thử này còn có tên gọi khác là Gray. Với phương pháp này cấu trúc bên trong sản phẩn được biết một phần.

kiem-thu-03

Phương pháp thử nghiệm

Kiểm thử hộ xám thường được sử dụng trong Kiểm thử tích hợp.Tuy nhiên, dựa vào giải thuật và chức năng, nó cũng có thể được sử dụng ở nhiều mức kiểm thử khác nhau

Tạo testcase và thực hiện test

  • Khi viết test case: Dựa vào yêu cầu và nội dung Source Code (can thiệp vào bên trong Code của chương trình)
  • Khi thực hiện test: Thực hiện trên giao diện của chương trình (yêu cầu chương trình phải chạy được mới test được, không can thiệp vào code)

Trên đây là một số sự khác nhau giữa các kiểu kiểm thử hộp trắng, hộp đen và hộp xám. Mỗi kiểu lại có mục đích và  ưu – nhược điểm khác nhau. Hi vọng bài viết này sẽ giúp ích cho bạn. Nếu bạn quan tâm đến vấn đề kiểm thử hãy tiếp tục theo dõi những bài viết tiếp theo của chúng tôi nhé.

0