Kiểm thử hộp đen là kỹ thuật kiểm thử được các tester sử dụng phổ biến nhất hiện nay. Không cần có kiến thức chuyên sâu về IT, những người trái ngành vẫn có thể chuyển sang làm tester được ở mảng trên. Vậy kiểm thử hộp đen là gì? Cùng ITNavi tìm hiểu tất tần tật thông tin tại bài viết dưới đây nhé!

Phân biệt black box test và white box test, sơ lược một số kỹ thuật trong black box test

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

Trái ngược với kiểm thử hộp trắng, kiểm thử hộp đen (Black box testing) là phương pháp test dựa trên đầu vào và đầu ra của chương trình mà không quan tâm tới code bên trong được viết ra sao. Tester sẽ xem phần mềm như là một hộp đen, chỉ nhìn được lớp vỏ bên ngoài mà không nhìn được cấu trúc bên trong.

Ví dụ: Ta có sản phẩm app thương mại điện tử:

Kiểm thử hộp trắng sẽ test mã code mà developers đã lập trình tạo nên sản phẩm.Kiểm thử hộp đen sẽ test các chức năng như: Mua sắm, đăng sản phẩm, tạo tài khoản… hoặc hiệu suất làm việc của app.

Ưu điểm của kiểm thử hộp đen chính là các tester không cần có nền tảng công nghệ, không cần biết ngôn ngữ lập trình đều có thể thực hiện test được. Người kiểm thử khi vận dụng Black box testing sẽ là một phương diện độc lập, có cái nhìn khách quan về sản phẩm.

Phương pháp kiểm thử hộp đen sẽ cố gắng tìm ra lỗi ở các vấn đề sau: Chức năng không chính xác hoặc thiếu, lỗi giao diện, lỗi trong cấu trúc dữ liệu hoặc truy cập cơ sở bên ngoài, lỗi về hiệu suất…

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

Kiểm thử hộp đen bao gồm 3 loại: Functional testing (Kiểm thử chức năng), Non-Functional testing (Kiểm thử phi chức năng) và Regression testing (Kiểm thử hồi quy).

Functional testing kiểm tra chức năng của ứng dụng đó có hoạt động đúng như khách hàng mong đợi không.Non-Functional testing xem xét các hành vi bên ngoài của phần mềm dựa trên kinh nghiệm người dùng và mong đợi của khách hàng để kiểm tra phản hồi của hệ thống.Regression testing kiểm tra lại tính năng đã hoàn thiện nhằm chắc chắn rằng phần tính năng mới được thêm vào không phá hỏng các phần khác của ứng dụng.

Công dụng của sáp nhũ hoá mềm mượt trong việc sản xuất mỹ phẩm

Bảng quyết định là một kỹ thuật tốt để áp dụng cho những trường hợp cần nhiều sự kết hợp. Kỹ thuật này hỗ trợ việc lựa chọn Test Case tối thiểu một cách có hệ thống kỹ thuật với độ bao phủ tối đa.

Có 4 bước để người kiểm thử tạo được Decision Tables:

Liệt kê tất cả Conditions/Inputs.Tính số lượng kết hợp có thể (Rules).Đặt tất cả các kết hợp trong bảng.

d. Đoán lỗi (Error guessing)

Đoán lỗi là kỹ thuật mô tả hành động phỏng đoán lỗi thường gặp của hệ thống dựa trên trực giác và kinh nghiệm của các tester. Người kiểm thử sẽ liệt kê các loại lỗi có thể xảy ra và cho vào Test Case để kiểm tra xác minh vấn đề.

Phương pháp này đặc biệt dựa vào kinh nghiệm và kiến thức của tester. Kỹ thuật đoán lỗi không tuân theo bất kỳ quy tắc cụ thể nào, Test Case có thể được thiết kế tùy thuộc vào nhiều yếu tố như: Đặc trưng hoạt động của phần mềm, lỗi đã xuất hiện ở các dự án tương tự khác…

Các yếu tố mà người kiểm thử hay sử dụng để đoán lỗi:

Trực giác kiểm thử.Có kiến thức liên quan, hiểu rõ về hệ thống.Bài học rút ra từ các lần kiểm thử phần mềm trước, các lỗi thường gặp…Tập trung test theo từng phần, từng chức năng sẽ giúp tester chú trọng và lý giải những vấn đề xảy ra ở vùng nào.

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

Quy trình kiểm thử hộp đen có thể áp dụng theo 4 bước: Lập kế hoạch kiểm thử, thiết kế Test Case, thực hiện test và báo cáo kiểm thử.

a. Lập kế hoạch test

Tester tiến hành phân tích yêu cầu và lập tài liệu tổng quan về việc kiểm thử dự án bao gồm những thông tin sau:

Phạm vi kiểm thử, hướng tiếp cận, quy trình kiểm thử, tài nguyên và nhân lực test.Các chức năng/module cần được kiểm tra; các công cụ và môi trường kiểm thử cần có.Ai test chức năng nào? – Khi nào bắt đầu thực hiện viết và hoàn thành test case? – Khi nào bắt đầu thực hiện và hoàn thành test?

Kiểm thử hộp trắng (White box testing) và kiểm thử hộp đen (Black box testing) là hai phương thức kiểm thử cơ bản nhất hiện nay. Hai phương thức kiểm thử này được sử dụng khá phổ biến. Tuy nhiên, không phải ai cũng biết sự khác biệt giữa chúng. Để tìm hiểu rõ hơn về vấn đề này, hãy tham khảo bài viết dưới đây nhé.

*

2/ Mục tiêu

Mục tiêu chính của Black box testing là kiểm tra chức năng của hệ thống được thử nghiệm
Đối tượng: Là thành phần phần mềm. Có thể là 1 hàm chức năng, 1 module chức năng, 1 phân hệ chức năng.Người thực hiện test: end user, developer, và tester

3/ Phương pháp kiểm thử

Kiểm thử hộp đen đượ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,….

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.

Xem thêm: Top Các Quán Trà Sữa Phô Mai Ngon Ở Sài Gòn, Cách Làm Trà Sữa Phô Mai Tươi Thơm Ngon Bắt Vị

4/ Các kỹ thuật của black box test

Phân vùng tương đương (Equivalence partitioning – EP)Phân tích giá trị biên (Boundary value analysis – BVA)Bảng quyết định (Decision table – test matrix)Test chuyển đổi trạng thái (State transition testing)Bảng trạng thái (States table)Trường hợp sử dụng (Use case testing)

4.1/ Phân vùng tương đương (Equivalence partitioning – EP)

Chia các vùng dựa vào đầu vào, đầu ra,.. thành các khu vực mà kết quả mong đợi là giống nhau (tương đương) vì thế chúng được xử lý theo một cách giống nhau.Chỉ cần kiểm chứng 1 giá trị thì sẽ có thể khẳng định được vùng đó là valid hay invalid
Testcase được thiết kế để bao phủ tất cả các TH valid và invalid. EP được áp dụng ở tất cả các level test

Ví dụ: Tìm tất cả các testcase (items)

*

=> EP: 3 case

TC1: x> 1, TC2: 1Kiểm tra các giá trị có xu hướng ẩn nấp gần ranh giới
Có 2 loại:Tow-boundary: Giá trị lớn nhất và nhỏ nhất trong 1 phân vùng là giá trị biên
Three-boundary: Giá trị trước, tại, sau trong 1 phân vùng
Test được thiết kế để cover các giá trị biên valid và invalid
BVA được áp dụng ở tất cả các level test. Nó khá dễ dàng áp dụng để tìm ra lỗi.Đặc tả chi tiết sẽ giúp cho các xác định được giá trị biên này

Ví dụ: -5

*

Two boundary: -5, -4, 4, 5Three boundary: -5, -4, -3, 3, 4, 5

4.3/ Bảng quyết định (Decision table – test matrix)

Kết hợp các input, tình huống hoặc sự kiện
Diễn đạt bằng các điều kiện đầu vào để họ có TRUE or FALSE

Ví dụ cụ thể, bạn có thể xem ở đây: https://viblo.asia/p/uu-diem-va-nhuoc-diem-cua-test-matrix-RQq
KLGOp57z

4.4/ Test chuyển đổi trạng thái (State transition testing)

Một hệ thống có thể biểu hiện một phản ứng khác nhau tùy thuộc vào điều kiện hiên tại hoặc tiền sử
Nó cho phép test để xem xét các phần mềm về trạng thái của nó, chuyển đổi giữa các trạng thái, các yếu tố đầu vào hoặc sự việc gây ra những thay đổi trạng thái (chuyển tiếp) và các lệnh, các đầu vào, có thẻ làm nổi bật quá trình chuyển đổi hoặc có thể là không hợp lệ

VD: sơ đồ cho nhập PIN cho thẻ

*

Một mô hình chuyển đổi trạng thái có bốn phần cơ bản:

Các trạng thái mà phần mềm có thể thực hiện(mở/đóng): O (states)Việc chuyển đổi từ một trạng thái khác: -> (transition)Các sự kiện đã gây ra một quá trình chuyển đổi: insert card, event,…Các hành động đó là kết quả của một quá trình chuyển đổi: action => Kỹ thuật này phù hợp với mô hình kinh doanh có trạng thái cụ thể hoặc test các dòng màn hình thoại

4.5/ Bảng trạng thái (States table)

Để xem tổng số kết hợp các trạng thái và quá trình chuyển đổi, hợp lệ và không hợp lệ, một bảng trạng thái có thể được sử dụng.Bảng liệt kê tất cả các trạng thái xuống một bên bảng và tất cả các sự kiện gây ra quá trình chuyển đổi ở đầu trang. Mỗi ô sau đó đại diện cho một cặp trạng thái-sự kiện. Các nội dung của mỗi ô chỉ ra trạng thái hệ thống sẽ chuyển sang

*

4.6/ Trường hợp sử dụng (Use case testing)

Là một kỹ thuật giúp chúng ta xác định các trường hợp test quyền thực hiện toàn bộ hệ thống trên cơ sở của giao dịch từ đầu đến cuối
Sử dụng các trường hợp là một chuỗi các bước mô tả sự tương tác giữa các đối tượng sử dụng và hệ thống
Có thể mô tả ở mức trừu tượng, hoặc ở cấp độ hệ thống
Mỗi trường hợp sử dụng thường có kịch bản chính và đường dẫn thay thếThiết kế trường hợp test từ trường hợp sử dụng có thể được kết hợp với các kỹ thuật dựa trên đặc điểm khác.

Hy vọng bài viết của mình sẽ giúp bạn hiển thêm về các kỹ thuật kiểm thử hộp đen. Và sẽ hứa hẹn với các bạn về bài viết kiểm thử hộp trắng nhé!!!

Leave a Reply

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