Kiểm thử hộp đen – Black Box Testing

black box testing

Black Box Testing là gì?

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ó.
black box testing kiểm thử hộp đen

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

Dựa vào chức năng Kiểm thử hộp đen (Black box testing) có thể được áp dụng hầu như đến mọi cấp độ của kiểm thử phần mềm:

Tuy nhiên, 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 testing)

Ưu điểm Black Box Testing

  • Các Tester được thực hiện từ quan điểm của người dùng và sẽ giúp đỡ trong việc sáng tỏ sự chênh lệch về thông số kỹ thuật.
  • Các Tester theo phương pháp black box không có “mối ràng buộc” nào với code, và nhận thức của một tester rất đơn giản: một source code có nhiều lỗi. Sử dụng nguyên tắc, “Hỏi và bạn sẽ nhận” các tester black box tìm được nhiều bug ở nơi mà các developer không tìm thấy.
  • Tester không cần phải biết ngôn ngữ lập trình hoặc làm thế nào các phần mềm đã được thực hiện.
  • 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.

Nhược điểm Black Box Testing

Người ta nói kiểm thử hộp đen giống như là đi trong bóng tối mà không có bóng đèn vậy “, bởi vì kiểm thử viên không biết các phần mềm được kiểm tra thực sự được xây dựng như thế nào. Đây là lý do mà một kiểm thử viên viết rất nhiều test case để kiểm tra một thứ gì đó mà đáng lẽ ra chỉ cần 1 ca kiểm thử là đủ, và/hoặc một số phần của phần mềm không được kiểm thử chút nào.

Vòng đời phát triển của kiểm thử hộp đen.

Kiểm thử hộp đen có chu kỳ sống riêng của nó được gọi là vòng đời kiểm thử phần mềm( STLC) và nó liên quan đến mọi giai đoạn của Vòng đời phát triển phần mềm.

  • Requirement – Đây là giai đoạn ban đầu của SDLC và trong giai đoạn này các yêu cầu được thu thập. Kiểm thử phần mềm cũng tham gia vào giai đoạn này.
  • Test Planning & Analysis – Các loại thử nghiệm áp dụng cho dự án được xác định. Một kế hoạch thử nghiệm được tạo ra để xác định các rủi ro có thể xảy ra của dự án và giảm thiểu sự rủi ro của chúng.
  • Design – Trong giai đoạn này các trường hợp / tập lệnh thử nghiệm được tạo trên cơ sở các tài liệu yêu cầu phần mềm
  • Test Execution – Trong giai đoạn này chúng ta thực hiện các trường hợp thử nghiệm đã chuẩn bị.

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

Đoán lỗi: 
Là một kỹ năng quan trọng của tester, 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 tester. Nhiều tester 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ị nguyên nhân – kết quả (Cause Effect Graphing): là một kỹ thuật thiết kế kiểm thử phần mềm liên quan đến việc xác định các trường hợp (điều kiện đầu vào) và các hiệu ứng (điều kiện đầu ra). 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ù hợp.
Phân vùng tương đương (Equivalence Class):
Là một kỹ thuật kiểm thử phần mềm có liên quan đến phân chia các giá trị đầu vào thành các phân vùng hợp lệ và không hợp lệ, sau đó chúng ta sẽ viết ra các kịch bản kiểm thử cho từng phần, chọn giá trị đại diện từ mỗi phân vùng làm dữ liệu thử nghiệm.

  • Phân vùng tương đương: là kỹ thuật thực hiện test theo từng class đồng giá trị (tập hợp điều kiện cùng một thao tác).
  • Tập hợp giá trị input có cùng một kết quả xử lý, tập hợp thời gian có cùng một kết quả xử lý, tập hợp kết quả export được xử lý cùng một giá trị nhập.
  • Mục đích : Giảm đáng kể số lượng test case cần phải thiết kế vì với mỗi lớp tương đương ta chỉ cần test trên các phần tử đại diện.
  • Chọn tối thiểu một giá trị đại diện từ các class đồng giá trị để tiến hành test.

Nếu có lỗi xảy ra thì các giá trị khác trong class đồng giá trị cũng sẽ có lỗi giống nhau.
Phân tích giá trị biên (Boundary Value Analysis):
Là một kỹ thuật kiểm thử phần mềm có liên quan đến việc xác định biên (ranh giới) của điều kiện mô tả cho các giá trị đầu vào và chọn giá trị ở biên và bên cạnh giá trị biên làm dữ liệu kiểm thử. 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.
Những kỹ sư nhiều kinh nghiệm 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.

  • Test giá trị biên được thực hiện theo trình tự dưới đây:
    • Tìm ra đường biên
    • Quyết định giá trị biên
    • Quyết định giá trị để test
  • Giá trị biên.
  • Dưới giá trị biên. (Nếu là class đồng giá trị)
  • Trên 1 giá trị biên. (Nếu là class đồng giá trị)

Sử dụng bảng quyết định (Decision Tables)

  • Là dùng bảng để hiển thị danh sách các thao tác phần mềm được quyết định trên các điều kiện khác nhau.
  • Decision table testing chú trọng vào nhiều điều kiện để thực hiện test.

Leave a Reply

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