Kỹ thuật kiểm thử hộp đen – Black Box Testing

Kiểm thử hộp đen, đúng như tên gọi của nó, là cách mà kỹ sư kiểm xem hệ thống như một chiếc hộp đen, không có cách nào nhìn thấy bên trong của cái hộp. Và cách tiếp cận của kỹ sư đối với hệ thống là không dùng bất kỳ một kiến thức về việc cấu trúc lập trình bên trong hệ thống, xem hệ thống là một cấu trúc hoàn chỉnh, không thể can thiệp vào bên trong. Kiểm thử hộp đen thường hay bị nhầm lẫn với kiểm thử hành vi. Hai phương pháp này có vẻ khá giống nhau, chỉ với một khác biệt nhỏ: kiểm thử hành vi không khuyến khích kỹ sư sử dụng kiến thức về cấu trúc lập trình của hệ thống, trong khi kiểm thử hộp đen cấm hoàn toàn hành động này của kỹ sư kiểm thử.

Và, cũng như mọi kỹ thuật trong mọi ngành nghề, kỹ thuật nào cũng có ưu điểm và nhược điểm của nó. Các hệ thống thường phải được sử dụng nhiều phương pháp kiểm thử khác nhau để đảm bảo được chất lượng của hệ thống khi đến tay người dùng.

Ưu điểm của kiểm thử hộp đen

  • Kỹ sư kiểm thử có thể không phải IT chuyên nghiệp
  • Hệ thống thật sự với toàn bộ yêu cầu của nó được kiểm thử chính xác
  • Thiết kế kịch bản kiểm thử khá nhanh, ngay khi mà các yêu cầu chức năng được xác định

Khuyết điểm của kiểm thử hộp đen

  • Dữ liệu đầu vào yêu cầu một khối lượng mẫu (sample) khá lớn
  • Khó viết kịch bản kiểm thử do cần xác định tất cả các yếu tố đầu vào, và thiếu cả thời gian cho việc tập hợp này.
  • Khả năng để bản thân kỹ sư lạc lối trong khi kiểm thử là khá cao

Phương pháp kiểm thử hộp đen

Đoán lỗi: Đây là một kỹ năng quan trọng của kỹ sư kiểm thử phần mềm, thậm chí có thể gọi là nghệ thuật. Một kiệt tác của trực giác. Phương pháp này đặc biệt dựa vào kinh nghiệm và kiến thức của người kỹ sư. Nhiều kỹ sư kiểm thử cố gắng đoán xem phần nào của hệ thống mà có khả năng ẩn chứa lỗi. Với phương pháp này, họ không cần một công cụ hay một kịch bản kiểm thử nào khi bắt đầu vào việc.

Kiểm thử dựa vào đồ thị: Vì các hệ thống hiện nay đều được phát triển trên nền tảng OOP, do đó, chúng ta có thể có được một đồ thị các đối tượng mà hệ thống định nghĩa và kết nối. Từ đồ thị này, chúng ta dễ dàng biết các mối quan hệ của những đối tượng mà hệ thống xử lý, từ đó sẽ cho chúng ta các kịch bản kiểm thử.

Phân vùng tương đương: Xác định các miền của dữ liệu đầu vào thành từng phần nhỏ, sau đó, chúng ta sẽ viết ra các kịch bản kiểm thử cho từng phần.

Phân tích giá trị biên: Những kỹ sư nhiều kinh nghiệp chắc chắn đã từng gặp phải các lỗi của hệ thống ngay tại giá trị biên. Đó là lý do tại sao phân tích giá trị biên lại quan trọng khi kiểm thử hệ thống. Phương pháp phân tích giá trị biên sẽ đưa ra các giá trị đặc biệt, bao gồm loại dữ liệu, giá trị lỗi, bên trong, bên ngoài biên giá trị, lớn nhất và nhỏ nhất.

Sử dụng bảng quyết định

Sử dụng công cụ kiểm thử tự động

Chúng ta có thể sử dụng các công cụ record/playback khi tiến hành kiểm thử hộp đen. Thường thì các công cụ sẽ cho ra mã Java, VB hay C#. Các đoạn mã này có thể được dùng cho việc kiểm thử hồi quy để tìm ra sự khác biệt giữa bản build trước và bản hiện tại. Hơn nữa, nếu chúng ta có các kỹ sư kiểm thử tự động, chúng ta sẽ nâng cấp các đoạn mã mà công cụ sinh ra để việc kiểm thử mang lại hiệu quả cao hơn.