Thử nghiệm hộp TRẮNG là gì? Kỹ thuật, Ví dụ & Các loại

Mục lục:

Anonim

Kiểm tra hộp trắng

White Box Testing là kỹ thuật kiểm thử phần mềm trong đó cấu trúc bên trong, thiết kế và mã hóa của phần mềm được kiểm tra để xác minh luồng đầu vào - đầu ra và để cải thiện thiết kế, khả năng sử dụng và bảo mật. Trong thử nghiệm hộp trắng, người thử nghiệm có thể nhìn thấy mã nên nó còn được gọi là Thử nghiệm hộp trong, Thử nghiệm hộp mở, Thử nghiệm hộp trong suốt, Thử nghiệm dựa trên mã và Thử nghiệm hộp thủy tinh.

Đây là một trong hai phần của phương pháp Box Testing đối với kiểm thử phần mềm. Đối tác của nó, thử nghiệm Hộp đen, liên quan đến việc thử nghiệm từ góc độ bên ngoài hoặc kiểu người dùng cuối. Mặt khác, kiểm thử Hộp trắng trong kỹ thuật phần mềm 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ộ.

Thuật ngữ "WhiteBox" đã được sử dụng vì khái niệm hộp nhìn xuyên qua. Hộp rõ ràng hoặc tên WhiteBox tượng trưng cho khả năng nhìn xuyên qua lớp vỏ bên ngoài của phần mềm (hoặc "hộp") vào hoạt động bên trong của nó. Tương tự như vậy, "hộp đen" trong "Thử nghiệm hộp đen" tượng trưng cho việc không thể nhìn thấy hoạt động bên trong của phần mềm để chỉ có thể kiểm tra trải nghiệm người dùng cuối.

Trong hướng dẫn kiểm tra hộp trắng này, bạn sẽ học-

  • Kiểm tra hộp trắng là gì?
  • Bạn xác minh điều gì trong Thử nghiệm Hộp trắng?
  • Làm thế nào để bạn thực hiện Kiểm tra Hộp trắng?
  • Ví dụ kiểm tra WhiteBox
  • Kỹ thuật kiểm tra hộp trắng
  • Các loại kiểm tra hộp trắng
  • Công cụ kiểm tra hộp trắng
  • Ưu điểm của thử nghiệm hộp trắng
  • Nhược điểm của Thử nghiệm WhiteBox

Bạn xác minh điều gì trong Thử nghiệm Hộp trắng?

Kiểm thử hộp trắng liên quan đến việc kiểm tra mã phần mềm cho những điều sau:

  • Các lỗ hổng bảo mật nội bộ
  • Đường dẫn bị hỏng hoặc có cấu trúc kém trong quá trình mã hóa
  • Luồng của các đầu vào cụ thể thông qua mã
  • Sản lượng mong đợi
  • Chức năng của vòng lặp có điều kiện
  • Kiểm tra từng câu lệnh, đối tượng và chức năng trên cơ sở riêng lẻ

Việc kiểm thử có thể được thực hiện ở các cấp độ hệ thống, tích hợp và đơn vị phát triển phần mềm. Một trong những mục tiêu cơ bản của thử nghiệm hộp trắng là xác minh luồng hoạt động cho một ứng dụng. Nó liên quan đến việc kiểm tra một loạt các đầu vào được xác định trước so với các đầu ra dự kiến ​​hoặc mong muốn để khi một đầu vào cụ thể không dẫn đến kết quả như mong đợi, bạn đã gặp lỗi.

Bấm vào đây nếu video không thể truy cập được

Làm thế nào để bạn thực hiện Kiểm tra Hộp trắng?

Để cung cấp cho bạn lời giải thích đơn giản về kiểm thử hộp trắng, chúng tôi đã chia nó thành hai bước cơ bản . Đây là những gì người kiểm tra làm khi 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

Điều đầu tiên mà người kiểm thử thường 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, người kiểm tra phải rất hiểu biết về ngôn ngữ lập trình được sử dụng trong các ứng dụng mà họ đang kiểm tra. Ngoài ra, người kiểm tra phải có nhận thức cao về các phương pháp mã hóa an toàn. Bảo mật thường là một trong những mục tiêu chính của phần mềm kiểm thử. Người kiểm tra sẽ 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 và người dùng ngây thơ, những người có thể cố ý hoặc vô tình đưa mã độc vào ứng dụng.

Bước 2) TẠO 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 liên quan đến việc kiểm tra mã nguồn của ứng dụng cho luồng và cấu trúc thích hợp. Một cách là viết thêm mã để kiểm tra mã nguồn của ứng dụng. Người kiểm thử 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ác phương pháp khác bao gồm 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 như chúng tôi sẽ giải thích thêm trong bài viết này.

Ví dụ kiểm tra WhiteBox

Hãy xem xét đoạn mã sau

Printme (int a, int b) {------------ Printme là một hàmint result = a + b;Nếu (kết quả> 0)In ("Dương tính", kết quả)KhácIn ("Âm bản", kết quả)} ----------- Cuối mã nguồn 

Mục tiêu của kiểm thử WhiteBox trong kỹ thuật phần mềm là xác minh tất cả các nhánh quyết định, vòng lặp, câu lệnh trong mã.

Để thực hiện các câu lệnh trong ví dụ kiểm tra hộp trắng ở trên, các trường hợp kiểm tra WhiteBox sẽ là

  • A = 1, B = 1
  • A = -1, B = -3

Kỹ thuật kiểm tra hộp trắng

Một kỹ thuật kiểm tra Hộp trắng chính là phân tích Độ phủ mã. Phân tích Code Coverage giúp loại bỏ các lỗ hổng trong bộ Test Case. Nó xác định các khu vực của một chương trình không được thực hiện bởi một tập hợp các trường hợp thử nghiệm. Sau khi các lỗ hổng được xác định, bạn tạo các trường hợp thử nghiệm để xác minh các phần chưa được kiểm tra của mã, do đó tăng chất lượng của sản phẩm phần mềm

Có các công cụ tự động có sẵn để thực hiện phân tích mức độ phù hợp của Mã. Dưới đây là một số kỹ thuật phân tích phạm vi bao phủ mà người kiểm tra hộp có thể sử dụng:

Mức độ bao phủ của câu lệnh : - Kỹ thuật này yêu cầu mọi câu lệnh có thể có trong mã phải được kiểm tra ít nhất một lần trong quá trình kiểm tra kỹ thuật phần mềm.

Phạm vi chi nhánh - Kỹ thuật này kiểm tra mọi đường dẫn có thể có (if-else và các vòng lặp có điều kiện khác) của một ứng dụng phần mềm.

Ngoài những điều trên, có rất nhiều loại phạm vi bảo hiểm như Bảo hiểm điều kiện, Bảo hiểm nhiều điều kiện, Bảo hiểm theo đường dẫn, Bảo hiểm chức năng, v.v. Mỗi kỹ thuật đều có những ưu điểm riêng và nỗ lực để kiểm tra (bao quát) tất cả các phần của mã phần mềm. Sử dụng Statement và Branch, bạn thường đạt được độ phủ mã 80-90% là đủ. Sau đây là các kỹ thuật kiểm tra WhiteBox quan trọng:

  • Báo cáo phạm vi
  • Phạm vi quyết định
  • Bảo hiểm chi nhánh
  • Điều kiện bảo hiểm
  • Bảo hiểm nhiều điều kiện
  • Bảo hiểm máy trạng thái hữu hạn
  • Phạm vi đường dẫn
  • Kiểm tra dòng chảy kiểm soát
  • Kiểm tra luồng dữ liệu

Tham khảo bài viết này để tìm hiểu thêm chi tiết https://www.guru99.com/code-coverage.html

Các loại kiểm tra hộp trắng

Kiểm thử hộp trắng bao gồm một số loại kiểm thử được sử dụng để đánh giá khả năng sử dụng của một ứng dụng, khối mã hoặc gói phần mềm cụ thể. Có liệt kê bên dưới -

  • Kiểm thử đơn vị: Đây thường là loại kiểm thử đầu tiên được thực hiện trên một ứng dụng. Kiểm thử đơn vị được thực hiện trên mỗi đơn vị hoặc khối mã khi nó được phát triển. Unit Testing về cơ bản được thực hiện bởi lập trình viên. Là một nhà phát triển phần mềm, bạn phát triển một vài dòng mã, một chức năng đơn lẻ hoặc một đối tượng và kiểm tra nó để đảm bảo nó hoạt động trước khi tiếp tục Unit Testing 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. Các lỗi được xác định trong giai đoạn này rẻ hơn và dễ sửa chữa.

  • Kiểm tra Rò rỉ bộ nhớ : Rò rỉ bộ nhớ là nguyên nhân hàng đầu khiến các ứng dụng chạy chậm hơn. Một chuyên gia QA có kinh nghiệm trong 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.

Ngoài những điều trên, một số kiểu thử nghiệm là một phần của cả thử nghiệm hộp đen và hộp trắng. Chúng được liệt kê như dưới đây

  • Thử nghiệm thâm nhập hộp trắng: Trong thử nghiệm này, người thử nghiệm / 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 và tất cả thông tin máy chủ mà ứng dụng chạy trên đó. Mục đích là tấn công mã từ nhiều góc độ để phơi bày các mối đe dọa bảo mật
  • Kiểm tra đột biến hộp trắng : Kiểm tra đột biến thường được sử dụng để khám phá các kỹ thuật mã hóa tốt nhất để sử dụng cho việc mở rộng giải pháp phần mềm.

Công cụ kiểm tra hộp trắng

Dưới đây là danh sách các công cụ kiểm tra hộp trắng hàng đầu.

  • Parasoft Jtest
  • EclEmma
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit

Ưu điểm của thử nghiệm hộp trắng

  • Tối ưu hóa mã bằng cách tìm lỗi ẩn.
  • Các trường hợp kiểm thử hộp trắng có thể được tự động hóa dễ dàng.
  • Kiểm tra kỹ lưỡng hơn vì tất cả các đường dẫn mã thường được bao phủ.
  • Thử nghiệm có thể bắt đầu sớm trong SDLC ngay cả khi không có GUI.

Nhược điểm của Thử nghiệm WhiteBox

  • Kiểm tra hộp trắng có thể khá phức tạp và tốn kém.
  • Các nhà phát triển thường thực hiện các trường hợp kiểm thử hộp trắng sẽ ghét nó. Việc kiểm tra hộp trắng của các nhà phát triển không chi tiết có thể dẫn đến lỗi sản xuất.
  • Kiểm thử hộp trắng đòi hỏi nguồn lực chuyên nghiệp, với sự hiểu biết chi tiết về lập trình và thực hiện.
  • Kiểm thử hộp trắng tốn nhiều thời gian, các ứng dụng lập trình lớn hơn cần thời gian để kiểm tra đầy đủ.

Ghi chú kết thúc:

  • Kiểm tra hộp trắng có thể khá phức tạp. Sự phức tạp liên quan có liên quan rất nhiều đến ứng dụng đang được thử nghiệm. Một ứng dụng nhỏ thực hiện một thao tác đơn giản có thể được kiểm tra hộp trắng trong vài phút, trong khi các ứng dụng lập trình lớn hơn mất nhiều ngày, vài tuần và thậm chí lâu hơn để kiểm tra đầy đủ.
  • Kiểm thử hộp trắng trong kiểm thử phần mềm nên được thực hiện trên một ứng dụng phần mềm vì nó đang được phát triển sau khi nó được viết và lặp lại sau mỗi lần sửa đổi