Trang chủ » White box testing là gì? Các kỹ thuật kiểm tra White box testing
White box testing là gì? Các kỹ thuật kiểm tra White box testing
- 26/08/2022
- LANIT JSC
White box testing là gì? Nếu bạn đang quan tâm tới kỹ thuật kiểm thử phần mềm của mình để nắm bắt các cấu trúc bên trong thì nhất định phải biết đến khái niệm này. Trong bài chia sẻ hôm nay, LANIT sẽ giải đáp chi tiết cho bạn về White Box Testing và cách thực hiện kỹ thuật này nhé!

1. White box testing là gì?
White box testing (còn được gọi là thử nghiệm hộp trắng). Đây chính là một kỹ thuật kiểm thử phần mềm. Trong đó, cấu trúc bên trong, thiết kế và các mã hóa của phần mềm được kiểm tra để xác minh luồng đầu vào/đầu ra. Điều đó giúp các nhà phát triển có thể cải thiện thiết kế, cải thiện khả năng sử dụng và bảo mật ở phần mềm.
Trong White Box Testing, người thử nghiệm có thể nhìn thấy mã bên trong phần mềm nên kỹ thuật này còn được gọi với rất nhiều tên gọi khác như: Thử nghiệm hộp thủy tinh, thử nghiệm dựa trên mã hay thử nghiệm hộp mở,…
White Box Testing là một trong hai phần của phương pháp thử nghiệm Box Testing nổi bật trong kiểm thử phần mềm. Nó hoạt động dựa trên hoạt động bên trong của một ứng dụng và xoay quanh kiểm thử nội bộ.
2. Ưu, nhược điểm của White box testing là gì?
Kỹ thuật Kiểm Thử Hộp Trắng có những ưu điểm vượt trội và cũng có những hạn chế đi kèm. Ở phần nội dung tiếp theo, chúng ta sẽ tiếp tục tìm hiểu sâu hơn về ưu và nhược điểm của kỹ thuật kiểm thử này nhé!

2.1 Ưu điểm
- Một trong những ưu điểm rất lớn ở White Box Testing, chính là kỹ thuật này có thể thử nghiệm kỹ lưỡng hơn, với khả năng bao phủ hầu hết các đường dẫn. Nhờ đó, quá trình kiểm tra sẽ đơn giản hơn, nhanh chóng hơn và mang lại hiệu quả cao hơn.
- Việc kiểm thử phần mềm, giúp các lập trình các nhà phát triển có thể tìm ra những vấn đề thiếu sót, lỗi xảy ra bên trong cấu trúc phần mềm.
- Các thử nghiệm có thể bắt đầu triển khai ở giai đoạn trước đó, khi mà các tổ chức doanh nghiệp muốn kiểm thử phần mềm trước khi được vào sử dụng, hoạt động.
2.2 Nhược điểm
White Box Testing đòi hỏi các bài kiểm tra khá phức tạp. Vì thế các nguồn lực phải có kỹ năng cao và có kiến thức rất vững về lập trình, triển khai phần mềm mới có thể thực hiện được.
Không chỉ vậy, việc bảo trì các tập lệnh thử nghiệm có thể trở thành gánh nặng nếu việc triển khai thay đổi thường xuyên, liên tục.
3. Các kỹ thuật White box testing là gì?
Trong White Box Testing có rất nhiều kỹ thuật thử nghiệm khác nhau, giúp bạn có thể kiểm tra các vấn đề bên trong cấu trúc của phần mềm. Trong đó, 2 kỹ thuật được áp dụng thực hiện nhiều nhất, đó là:
3.1 Kiểm tra đường cơ sở – Biểu đồ đường
Kiểm tra đường cơ sở hay biểu đồ đường là một kỹ thuật lần đầu tiên được sử dụng trong thử nghiệm hộp trắng. Kỹ thuật này được giới thiệu bởi tiến sĩ Tom McCabe. Ở đó, đồ thị đường tương tự như đồ thị luồng điều khiển chương trình.

Kiểm tra đường cơ sở – Đồ thị đường cũng là một trong nhiều phương pháp mô tả thuật toán. Đây là một phương pháp trực quan cho chúng ta thấy dễ dàng các thành phần của thuật toán và các mối quan hệ trong phần mềm.
Các kỹ thuật đường cơ bản – đồ thị luồng có thể giúp các nhà thiết kế, các nhà phát triển thử nghiệm trong từng trường hợp để tìm hiểu và đưa ra mức độ phức tạp về cấu trúc bên trong phần mềm.
Cấu trúc phần mềm thường gồm 2 thành phần là: nút và cung nối chúng. Các loại nút trong biểu đồ đường điều khiển giúp kiểm tra nút điều khiển hộp trắng. Các thành phần cấu trúc của đồ thị đường giúp kiểm tra hộp trắng về cấu trúc và thành phần bên trong.
Chẳng hạn: Một đồ thị luồng điều khiển chỉ chứa các nút quyết định nhị phân, thì chúng ta gọi nó là đồ thị luồng điều khiển nhị phân. Ngoài ra, chúng ta luôn có thể trình bày chi tiết bất kỳ đồ thị luồng điều khiển nào thành đồ thị luồng điều khiển nhị phân.
3.2 Kiểm tra dựa trên luồng kiểm soát
Đường dẫn thực thi là một tập lệnh để thực thi đơn vị phần mềm tương ứng. Ngoài ra, nó là một danh sách có thứ tự các lệnh được thực hiện cho một lần chạy cụ thể của đơn vị phần mềm, bắt đầu từ điểm đầu vào của đơn vị phần mềm đến điểm kết thúc của đơn vị phần mềm.
Mỗi thành phần phần mềm có từ 1 đến N (có thể lớn hơn) đường dẫn thực hiện khác nhau. Và mục tiêu của phương pháp kiểm tra luồng điều khiển là đảm bảo rằng tất cả các đường dẫn thực thi của các đơn vị phần mềm được kiểm tra được chạy đúng cách. Nhưng trên thực tế, công sức và thời gian để đạt được mục tiêu trên là rất lớn, kể cả trên các đơn vị phần mềm nhỏ.

Chẳng hạn, ta có một đoạn mã: for (i = 1; i <= 1000; i ++) for (j = 1; j <= 1000; j ++) for (k = 1; k <= 1000; k ++) doSomethingWith (i, j, k); . Đoạn mã này chỉ có một đường dẫn thực thi nhưng nó rất dài.
4. Cách thực hiện kiểm thử white box testing
Để thực hiện Kiểm Thử Hộp Trắng – White Box Testing, chúng ta cần thực hiện theo 2 bước cơ bản. Dưới đây là những hướng dẫn chi tiết về cách kiểm tra một ứng dụng bằng kỹ thuật kiểm thử hộp trắng:
Bước 1: Hiểu mã nguồn
Muốn thực hiện kỹ thuật White Box Testing, điều đầu tiên mà người kiểm thử cần làm là học và hiểu mã nguồn của ứng dụng. Vì kiểm thử hộp trắng liên quan đến việc kiểm tra hoạt động bên trong của một ứng dụng. Khi kiểm tra, bạn cần hiểu rõ về ngôn ngữ lập trình được sử dụng trong các ứng dụng mà mình đang kiểm tra.
Ngoài ra, người kiểm tra phải có nhận thức cao về các thực hành mã hóa an toàn. Bởi vì bảo mật là yếu tố vô cùng quan trọng đối với quá trình kiểm thử của phần mềm kiểm thử. Người thực hiện kiểm tra có thể tìm ra các vấn đề bảo mật và ngăn chặn các cuộc tấn công từ tin tặc, những người cố ý hoặc vô tình đưa mã độc hại vào ứng dụng.
Bước 2: Tạo ra các trường hợp kiểm tra và thực hiện
Bước cơ bản thứ hai để kiểm tra hộp trắng và liên quan đến việc kiểm tra mã nguồn của ứng dụng để có quy trình và cấu trúc phù hợp, đó là tạo ra các trường hợp kiểm tra và thực hiện. Dưới đây là 2 cách để bạn tạo và thực hiện kiểm tra:
- Cách thứ nhất: Viết thêm mã để kiểm tra mã nguồn của ứng dụng. Người kiểm tra sẽ phát triển các bài kiểm tra nhỏ cho từng quy trình hoặc chuỗi quy trình trong ứng dụng. Phương pháp này yêu cầu người kiểm tra phải có kiến thức sâu sắc về mã và thường được thực hiện bởi nhà phát triển.
- Cách thứ hai: Thực hiện kiểm tra thủ công, thử nghiệm và kiểm tra lỗi và sử dụng các công cụ kiểm tra.
5. Phân loại White Box Testing
White Box Testing được phân chia thành nhiều loại khác nhau. Dưới đây, chúng tôi sẽ liệt kê những các loại kiểm thử được sử dụng nhiều nhất hiện nay để các bạn có thể nắm bắt và áp dụng.

5.1 Kiểm thử đơn vị
Kiểm thử đơn vị là loại kiểm thử thường được áp dụng đầu tiên trong quá trình kiểm tra trên một ứng dụng. Phân loại White Box Testing này được thực hiện trên mỗi đơn vị/khối mã khi nó được phát triển. Kiểm tra đơn vị hầu hết được thực hiện bởi lập trình viên.
Trong quá trình phát triển phần mềm, các nhà phát triển thực hiện một vài dòng mã, một chức năng đơn lẻ hoặc một đối tượng. Sau đó, thực hiện kiểm tra nó để đảm bảo nó hoạt động trước khi tiếp tục kiểm thử đơn vị. Nhằm giúp xác định phần lớn các lỗi, ngay từ đầu trong vòng đời phát triển phần mềm. Lúc này, việc xác định các lỗi sẽ dễ sửa chữa hơn.
5.2 Kiểm tra rò rỉ bộ nhớ
Một trong những nguyên nhân khiến các ứng dụng phần mềm chạy chậm hơn, đó là do rò rỉ bộ nhớ. Bởi vậy, nếu là một lập trình viên có kinh nghiệm, thì việc phát hiện rò rỉ bộ nhớ là điều cần thiết trong trường hợp bạn có một ứng dụng phần mềm chạy chậm.
5.3 Kiểm tra thâm nhập hộp trắng
Kiểm tra thâm nhập hộp trắng trong phân loại White Box Testing là gì? Thử nghiệm này giúp các nhà phát triển có đầy đủ thông tin về mã nguồn của ứng dụng, thông tin mạng chi tiết, địa chỉ IP liên quan cũng như các thông tin máy chủ mà ứng dụng chạy trên đó. Nhằm tấn công mã từ nhiều góc độ để phát hiện các mối đe dọa bảo mật.
5.4 Kiểm tra đột biến hộp trắng
Kiểm tra đột biến hộp trắng là phân loại dùng để khám phá các kỹ thuật mã hóa tốt nhất giúp cho việc mở rộng giải pháp phần mềm.
LỜI KẾT
Trên đây là những chia sẻ, giải đáp từ LANIT về “White Box Testing là gì?” cũng như cách thực hiện White Box Testing trong kiểm thử phần mềm. Hy vọng những kiến thức trên giúp anh chị trong quá trình tìm hiểu về White Box Testing.
LANIT Cảm ơn bạn đã đọc!