Kiểm thử hộp đen là gì? Các kỹ thuật kiểm thử hộp đen

Hải Yến

Trong quá trình lập trình và tạo ra sản phẩm ứng dụng phần mềm nào đó thì kiểm thử là công việc không thể thiếu giúp bạn nhanh chóng tìm và phát hiện ra các lỗi sai. Đặc biệt kiểm thử hộp đen chính là phương pháp kiểm thử được sử dụng để kiểm tra các lỗi bên trong của phần mềm hoặc ứng dụng bất kỳ. Để hiểu hơn về phương pháp kiểm thử này cũng như quy trình và các loại kiểm thử của black box testing hãy theo dõi các thông tin có trong bài chia sẻ dưới đây của Testerpro.vn nhé!

Kiem thu hop den

Kiểm thử hộp đen là gì?

Trong bất kỳ ứng dụng hoặc lĩnh vực nào có liên quan tới kỹ thuật, khoa học công nghệ thì hộp đen luôn được coi là thành phần quyết định và tìm ra các lỗi sai bên trong đó. 

Với kiểm thử hộp đen cũng vậy, phương pháp này hay còn gọi là Black Box Testing. Là cách thức thực hiện mà bạn chưa biết về cấu tạo cũng như thành phần bên trong của ứng dụng, sản phẩm bất kỳ, khi này bộ phận tester sẽ phải thực hiện việc kiểm thử toàn bộ dữ liệu không nhìn thấy bên trong “hộp đen” đó. 

Hiểu đơn giản thì kiểm thử hộp đen chính là công việc kiểm thử đầu vào, đầu ra và chức năng của sản phẩm phần mềm dựa trên quy trình nhất định. Do đó người thực hiện test sẽ không cần phải biết kiến thức về code hoặc quá giỏi về lập trình.

Bên cạnh đó, để thực hiện thành công phương pháp Black Box Testing thì tester nên lên kế hoạch và thiết lập giá trị đầu vào cụ thể và đây là những giá trị có thể thực hiện các yêu cầu từ chức năng của sản phẩm, ứng dụng.

Kiem thu hop den

Đặc biệt, khác với cách tiếp cận của kiểm thử hộp trắng hay kiểm thử hộp xám thì với kiểm thử hộp đen, người kiểm thử sẽ không được tiếp cận với hệ thống thông qua cấu trúc lập trình mà chỉ được xem nó là 1 cấu trúc hoàn chỉnh với thành phần bên trong không thể can thiệp vào. 

Thông thường, người ta hay sử dụng kiểm thử hộp đen trong System test hoặc Function Testing. 

Cũng giống với cái tên của nó thì hộp đen chình là phần khuyết bên trong không nhìn được vì thế các tester sử dụng cách kiểm thử này để tìm ra các lỗi cơ bản sau:

– Tìm ra phần chức năng còn thiếu hoặc chưa đúng so với kế hoạch.

– Các lỗi liên quan tới giao diện phần mềm.

– Lỗi phát sinh trong cấu trúc hoặc các lỗi tồn tại trong cơ sở dữ liệu phía bên ngoài.

– Phát hiện và xử lý các lỗi.

Kiem thu hop den

Các loại kiểm thử hộp đen

Functional testing

Là loại kiểm thử có liên quan tới chức năng của toàn bộ hệ thống bên trong sản phẩm, phần mềm. Thông thường Functional Testing được thực hiện bởi chính bộ phận tester.

Bên cạnh đó, trong quá trình kiểm thử với Functional Testing chức năng sẽ được kiểm tra kỹ càng trong luồng dữ liệu đầu vào, sau đó đánh giá kết quả đầu ra mà không lo bị ảnh hưởng tới cấu trúc bên trong ứng dụng. 

Với mục đích chính là kiểm tra chức năng của từng chi tiết ứng dụng, qua đó bạn có thể tìm ra các chức năng đã phù hợp hay chưa có bị dư thừa hay đang gặp lỗi gì không.

kiem thu hop den

Thêm vào đó, trong quá trình test người kiểm thử có thể sử dụng bộ kỹ thuật của Functional Testing bao gồm:

– Kiểm thử User Navigation Testing

– Kiểm thử Transaction Screen Testing

– Kiểm thử Transaction Flow Testing

– Kiểm thử Report Screen Testing

– Kiểm thử Report Flow Testing

Non – Functional testing

Non – Functional testing – kiểm thử phi chức năng nhằm mục đích kiểm thử các vấn đề về hiệu suất, độ tin cậy và mức độ có thể sử dụng trong 1 sản phẩm phần mềm, ứng dụng bất kỳ.

Bên cạnh đó, sử dụng Non – Functional testing với các mục tiêu:

  • Làm tăng khả năng sử dụng của sản phẩm, từ đó bạn có thể xác định khả năng cần bảo trì và đo lường được độ hiệu quả của phần mềm đó.
  • Hạn chế rủi ro trong quá trình sản xuất xuống mức thấp nhất, đặc biệt là các khía cạnh có liên quan tới Non – Functional testing.
  • Quá trình cài đặt được tối ưu hóa, giám sát, quản lý và thực thi sản phẩm chặt chẽ và chính xác nhất.
Kiem thu hop den
  • Nghiên cứu và thu thập được toàn bộ các thông số có liên quan nhằm phục vụ cho việc phát triển nội bộ bên trong hệ thống. 

Hiện nay, kiểm thử phi chức năng được sử dụng rất nhiều và trong quá trình này các loại kiểm thử Non – Functional testing thường được sử dụng có thể kể tới:

  • Kiểm thử hiệu suất
  • Kiểm thử tải
  • Kiểm thử di động
  • Kiểm thử bảo mật
  • Kiểm thử tuân thủ
  • Kiểm thử tài liệu.
  • Kiểm thử phục hồi
  • Kiểm thử khối lượng
  • Kiểm thử khả năng có thể sử dụng…..

Regression testing

Là kiểm thử hồi quy thường được sử dụng khi đã xác định được lỗi, đã nâng cấp và bảo trì hệ thống thành công.

Regression testing sẽ được thực hiện với mục đích đảm bảo về dữ liệu code lập trình mới sẽ không gây ảnh hưởng tới các thông tin code cũ được lập trình trong hệ thống phần mềm. 

Kiem thu hop den

Các kỹ thuật kiểm thử hộp đen

Phân vùng tương đương (Equivalence partitioning)

Đây là kỹ thuật kiểm thử liên quan tới sự phân chia dữ liệu đầu vào cho các thành phần giá trị hợp lệ hoặc không hợp lệ. 

Tiếp theo tester sẽ dựa trên thông tin này để lập ra kịch bản cho giá trị kiểm thử từng phần và quyết định dữ liệu kiểm tử từ các giá trị được chọn ra trong mỗi phân vùng. 

– Phân vùng tương đương: với nhiệm vụ chính là tập hợp các giá trị trong cùng 1 giai đoạn để test các class tương đương có cùng giá trị.

Kiem thu hop den

–  Từ vùng giá trị Input tương đương lựa chọn ra kết quả xử lý giống nhau, có cùng thời gian để từ đó cùng xử lý cho giá trị nhập cụ thể.

– Mục đích: Chỉ cần thực hiện test cho 1 giá trị đại diện cụ thể để giảm số lượng các test case cần được thiết kế. 

– Chọn ra giá trị cụ thể từ các class có cùng giá trị để tiến hành test. 

Phân tích giá trị biên (Boundary value analysis)

Đây là phương pháp kỹ thuật phân tích toàn bộ các giá trị biên trong các giá trị đặc tả cho dữ liệu đầu vào.

Bên cạnh đó, với kỹ thuật này tester bắt buộc phải chọn ra giá trị biên và giá trị bên cạnh xung quanh giá trị biên để lấy cơ sở dữ liệu cho việc kiểm thử.

Thêm vào đó, phương pháp này sẽ đem tới cho người kiểm thử nhiều giá trị đặc biệt như giá trị dữ liệu lỗi bên trong bên ngoài biên hoặc giá trị nhỏ nhất, lớn nhất.

Kiem thu hop den

Trong quá trình thực hiện kỹ thuật test với giá trị biên, tester sẽ phải thực hiện lần lượt 3 giai đoạn:

– Xác định đường biên 

– Chọn ra giá trị biên (quyết định giá trị).

– Quyết định giá trị cuối cùng sử dụng để test phần mềm, ứng dụng:

  • Giá trị biên.
  • Giá trị vùng biên dưới. 
  • Giá trị vùng biên trên.

Bảng quyết định (Decision Tables)

Là dữ liệu bảng bao gồm các thông tin có trong bảng phần mềm được lựa chọn và quyết định dựa trên nhiều điều kiện khác nhau.

Phương pháp kỹ thuật này luôn chú trọng vào các điều kiện để test thông qua chức năng Decision Table Testing.

kiểm thử hộp đen với bảng quyết định

 Đoán lỗi (Error guessing)

– Kỹ thuật kiểm thử này dựa hoàn toàn vào năng lực, trình độ, kinh nghiệm và các kiến thức liên quan khác của người kiểm thử. 

– Với phương pháp đoán lỗi sẽ không có kịch bản cho trước hoặc công cụ hỗ trợ cố định nào.

– Thực hiện mà không có quy tắc nhất định, toàn bộ testcase được thực hiện dựa trên trực giác, luồng thông tin chức năng và tình hình phát triển của dự án đó.

Bên cạnh 4 kỹ thuật kiểm thử trên thì kiểm thử hộp đen còn có thêm 1 vài kỹ thuật khác như Exploratory Testing, Orthogonal Arrays, State Models, Domain Tests, All-pairs testing….

kiểm thử hộp đen

Quy trình kiểm thử hộp đen

Trong quá trình kiểm thử hộp đen người kiểm thử sẽ phải tuân theo 4 bước thực hiện cụ thể như sau:

Bước 1: Lập kế hoạch test 

Trước tiên, để bắt đầu test kiểm tra cấu trúc và chức năng bên trong của sản phẩm bằng phương pháp Black Box Testing thì tester phải tiến hành phân tích các yêu cầu và lập tài liệu tổng quan cho việc kiểm thử gồm các thông tin cơ bản sau:

– Quy trình, phạm vi, các thông tin về nhân lực và tài nguyên phục vụ cho việc test.

– Đưa ra các công cụ kiểm thử phù hợp nhất, các chức năng sản phẩm cần phải kiểm tra.

– Phân công người test cho từng vị trí, giai đoạn. Test Case khi nào được bắt đầu và hoàn thiện….

Kiem thu hop den

Bước 2: Tiến hành thiết kế Test Case

Sau khi hoàn thành kế hoạch test plan thì khi này người kiểm thử phải dựa trên tài liệu và những yêu cầu cụ thể để hoàn thiện phần Test Case

Bên cạnh đó, 1 bản test case hoàn chỉnh sẽ phải chứa đầy đủ các thông tin của về giá trị dữ liệu đầu vào, mô tả được chính xác kết quả và hành động để có thể kiểm tra về chức năng của ứng dụng đã đúng theo kế hoạch hay chưa.

Bước 3: Thực hiện quá trình kiểm thử 

Sau khi Develops đã lập trình xong phần code của dự án thì bộ phận tester sẽ thực hiện kiểm tra dựa vào các thông tin có trong phần test case đã viết. 

Khi này, nếu lỗi được phát hiện ra thì tester sẽ note trong các công cụ quản lý lỗi và lỗi developers nào thì người đó sẽ phải tự xử lý và khắc phục. Cho tới khi lỗi được fix xong thì tester sẽ 1 lần nữa kiểm tra lại chức năng xem mọi hoạt thực sự ổn chưa và đi tới bước lập báo cáo test.

Kiem thu hop den

Bước 4: Báo cáo kết quả Test

Cuối cùng, khi đã thực hiện test thành công thì tester sẽ phải báo cáo kết quả đạt được và những chỉ số có liên quan đến sản phẩm vừa thực hiện, chúng có thể là:

– Trong quá trình thực hiện passed lượng test case được thực hiện thành công.

– Lỗi và tỷ lệ lỗi đã khắc phục.

– Thời gian tối thiểu cho việc kiểm thử thông thường sẽ được chốt từ khi kế hoạch kiểm thử được lập nên.

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

Với bất kỳ phương pháp kiểm thử nào thì cũng đều có ưu điểm và hạn chế khác nhau, với kiểm thử hộp đen cũng vậy. Phương pháp này cũng có 1 vài ưu và nhược điểm sau:

Với ưu điểm:

– Giống với việc sử dụng ứng dụng, phương pháp này sẽ không yêu cầu người kiểm thử nắm vững các kiến thức có liên quan tới lập trình, không cần thành thạo ngôn ngữ lập trình hoặc viết code.

– Không cần tìm hiểu quá sâu về cách triển khai cũng như các thông tin chi tiết có liên quan tới hệ thống.

– Hỗ trợ tester trong việc lên kịch bản kiểm thử thông qua luồng dữ liệu mô tả cụ thể nhanh và chính xác nhất.

– Người kiểm thử có thể thực hiện kiểm với 1 developer riêng biệt, từ đó giúp quá trình thực hiện khách quan hơn và tránh xảy ra tình trạng thiên vị.

– Mọi yêu cầu trên hệ thống đều được kiểm thử chính xác nhất. 

Kiem thu hop den

Về nhược điểm:

– Dữ liệu đầu vào khá nặng.

– Việc thực hiện test case sẽ mất thời gian nếu như dữ liệu mô tả hoặc thông số chưa rõ ràng. Do đó, quá trình kiểm thử sẽ tốn công sức trong việc xác định thông tin dữ liệu đầu vào và lên kịch bản thực hiện cũng gặp nhiều khó khăn hơn.

– Trong 1 lần thực hiện test sẽ có nhiều đường dẫn không được kiểm tra.

– Độ chính xác của phạm vi kiểm khó có thể xác định được.

– Bên cạnh đó, các đoạn mã nguồn và những đoạn mã sai người kiểm thử khó có thể kiểm tra bởi độ bao phủ thấp.

Trên đây là toàn bộ các thông tin có liên quan tới kiểm thử hộp đen mà chúng tôi muốn chia sẻ tới bạn. Hy vọng bạn sẽ có thêm những kiến thức và kỹ thuật về kiểm thử hộp đen để phục vụ cho quá trình làm việc và học tập được tốt hơn. Theo dõi Testerpro.vn để cập nhật thêm nhiều thông tin mới hơn nữa nhé!

Nhận ngay ưu đãi lên đến 20 % học phí khi đăng ký Khóa học tester trong tháng này!

5/5 - (2 votes)
Từ khóa:
Bình luận
Icon Phone Icon Zalo