iTMS Coaching – Nơi bạn có thể tìm kiếm cho mình những khoá học từ căn bản đến nâng cao về Kiểm Thử Phần Mềm. Hệ thống khoá học của chúng tôi đang dần cập nhật mỗi tuần, hãy quay lại website này thường xuyên để không bị bỏ lỡ kiến thức bạn nhé.
Đang xem: Kiểm thử hộp trắng là gì
White Box Testing là gì?
Kiểm thử hộp trắng (White Box Testing) là một kỹ thuật xác minh giúp các Tester có thể sử dụng để kiểm tra mã code của họ hoạt động như dự kiến. Có 2 hoạt động kiểm thử hộp trắng:
Kiểm thử luồng điều khiểnKiểm thử dòng dữ liệu
Các kỹ thuật White Box Testing phổ biến
Để thực hiện được kiểm thử hộp trắng, ta cần tuân thủ các bước cơ bản sau:
Một ví dụ đơn giản với đoạn mã như sau:
Printme (int a, int b) { ———— Printme is a function int result = a+ b; If (result> 0) Print (“Positive”, result) Else Print (“Negative”, result)} Mục tiêu đặt ra là xác định tất cả các nhánh, các vòng lặp và câu lệnh trong đoạn mã trên.
Và các trường hợp thử nghiệm của White Box Testing sẽ là
A = 1, B = 1
A = -1, B = -3
Các trường hợp thử nghiệm trên sẽ bao phủ được các điều kiện, các nhánh cũng như các lệnh trong đoạn mã.
Xem thêm: Lệ Phí Đăng Ký Trong Tiếng Anh Là Gì? Đăng Ký In English
Các loại kiểm thử hộp trắng
Unit testing: đây là phương pháp kiểm thử đầu tiên được thực hiện để kiểm tra một ứng dụng. Phương pháp này khá quan trọng nên ta sẽ bàn về nó ngay sau khi đọc xong phương pháp kiểm thử Black box testing.Testing for Memory Leaks (kiểm tra rò rỉ bộ nhớ): Rò rỉ bộ nhớ là nguyên nhân hàng đầu khiến cho việc chạy ứng dụng trở nên chậm chạp hơn. Và khi có hiện tượng như trên thì cần phải nghĩ ngay đến trường hợp này.
Ngoài ra cũng có một số phương pháp khác như: White Box Penetration Testing và White Box Mutation Testing
Ưu điểm của White Box Testing:
Tối ưu hóa mã nguồn bằng cách tìm ra các lỗi ẩn.Dễ dàng thực hiện tự động nhưng cũng kỹ lưỡng hơnVà việc kiểm tra có thể bắt đầu sớm ngay cả khi GUI không khả dụng.
Nhược điểm của White Box Testing:
Thực hiện khá phức tạp và tốn kém chi phí.Đòi hỏi người kiểm thử phải thực sự chuyên nghiệp và hiểu biết về lập trình.Tốn rất nhiều thời gian