Các phương pháp kiểm thử phần mềm và sự khác biệt? - ITNavi

ITNavi 22 Aug 2022 7950

Kiểm thử phần mềm là công việc nhằm đảm bảo hoạt động của sản phẩm đúng theo yêu cầu khách hàng. Công việc này được phân loại thành 3 hình thức: Kiểm thử hộp trắng, kiểm thử hộp đen và kiểm thử hộp xám. Tuy chỉ có 3 phương thức nhưng không phải tester nào cũng nắm được sự khác biệt giữa chúng. Tại bài viết này, ITNavi sẽ so sánh các phương pháp kiểm thử phần mềm để các tester hiểu được rõ ràng.

các phương pháp kiểm thử phần mềm - ảnh 1

So sánh các phương pháp kiểm thử phần mềm.

 

1. Phương pháp kiểm thử hộp trắng (White box testing)

 

Kiểm thử hộp trắng (White box testing) là phương pháp kiểm thử phần mềm nhằm kiểm tra thuật toán, cấu trúc code bên trong của sản phẩm. Hộp trắng 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 để thấy được hoạt động bên trong của chúng. 

 

Mục đích của White box testing là đảm bảo tất cả các câu lệnh và điều kiện sẽ được thực hiện đúng, kết quả đầu ra như mong đợi. Tester sẽ xác minh luồng hoạt động cho ứng dụng bằng cách kiểm tra một loạt đầu vào (Input) đã được xác định từ trước có dẫn đến đầu ra (Output) như dự kiến không? Nếu Output không khớp với kỳ vọng, có nghĩa là sản phẩm đang bị lỗi. 

 

Am hiểu về lập trình, có kiến thức về công nghệ thông tin là điều kiện tiên quyết để tester có thể tiến hành kiểm thử hộp trắng. Thông thường, nhiệm vụ thực thi White box Testing sẽ do chính các Developers đảm nhiệm.

 

các phương pháp kiểm thử phần mềm - ảnh 2

Kiểm thử hộp trắng (White box testing).

 

2. Phương pháp kiểm thử hộp đen (Black box testing)

 

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.

 

Ư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…

 

các phương pháp kiểm thử phần mềm - ảnh 3

Kiểm thử hộp đen (Black box testing).

 

3. Phương pháp kiểm thử hộp xám (Gray box testing)

 

Kiểm thử hộp xám (Gray box testing) là phương pháp kiểm thử phần mềm kết hợp giữa kiểm thử hộp đen và kiểm thử hộp trắng. Hộp xám trong kiểm thử phần mềm giống như bán trong suốt, nhìn vào sẽ thấy lớp vỏ bên ngoài và một phần cấu trúc bên trong.

 

Trong kiểm thử hộp xám, Tester có thể truy cập vào cấu trúc dữ liệu bên trong và thuật toán của chương trình với mục đích là để thiết kế test case, nhưng khi test thì test như là người dùng cuối hoặc là ở mức hộp đen. 

 

Ưu điểm của kiểm thử hộp xám là sử dụng kỹ thuật đơn giản của kiểm thử hộp đen kết nối với mã code hệ thống kiểm thử hộp trắng để tìm ra vấn đề của sản phẩm. Các tester được quyền truy cập vào cấu trúc dữ liệu bên trong cũng như các thuật toán được sử dụng trong sản phẩm.

 

các phương pháp kiểm thử phần mềm - ảnh 4

Kiểm thử hộp xám (Gray box testing).

 

4. So sánh các phương pháp kiểm thử phần mềm

 

Để giúp các bạn hiểu rõ hơn về sự khác biệt giữa các phương pháp kiểm thử phần mềm. ITNavi sẽ so sánh 3 phương pháp trên với các tiêu chí: Hành động, đối tượng, mục đích, nhân lực, phân loại, kỹ thuật.

 

Kiểm thử hộp trắng

Kiểm thử hộp đen

Kiểm thử hộp xám

Hành động

Kiểm tra thuật toán, cấu trúc code bên trong của sản phẩm. 

Không quan tâm đến cấu trúc code bên trong, tập trung 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…

Tìm kiếm và xác định các khiếm khuyết do cấu trúc mã không phù hợp hoặc sử dụng ứng dụng không đúng cách.

Đối tượng kiểm tra

Mã code, câu lệnh

Giao diện, chức năng, hiệu suất…

Cấu trúc mã, cách sử dụng ứng dụng

Mục đích

Đảm bảo tất cả các câu lệnh và điều kiện sẽ được thực hiện đúng, kết quả đầu ra như mong đợi.

Đảm bảo phần mềm hoạt động đúng như dự kiến và đáp ứng được sự mong đợi của khách hàng. 

Đảm bảo cấu trúc mã của sản phẩm phù hợp và ứng dụng được sử dụng đúng cách đem lại hiệu quả. 

Nhân lực 

Thường là Developers

Tester (Không cần có nền tảng IT vẫn có thể test được)

Tester có nền tảng IT

Các loại kiểu thử

  • Kiểm thử đơn vị (Unit Testing)
  • Kiểm thử rò rỉ bộ nhớ ( Testing for Memory Leaks) 
  • Kiểm thử đơn vị (Unit Testing)
  • Kiểm thử rò rỉ bộ nhớ ( Testing for Memory Leaks) 
  • Kiểm thử chức năng (Functional testing)
  • Kiểm thử phi chức năng (Non-Functional testing)
  • Kiểm thử hồi quy (Regression testing)
  • Kiểm thử tích hợp (Integration Testing) 
  • Kiểm thử thâm nhập (Penetration Testing)

Kỹ thuật 

Phân tích độ phủ mã (Coverage Testing)

  • Bao phủ câu lệnh (Statement Coverage)
  • Phạm vi chi nhánh (Branch Coverage)
  • Bao phủ nhánh (Path Coverage)
  • Phân vùng tương đương ( Equivalence partitioning)
  • Phân tích giá trị biên (Boundary value analysis)
  • Bảng quyết định (Decision table)
  • Đoán lỗi (Error Guessing)
  • Kiểm thử ma trận (Matrix testing)
  • Kiểm tra hồi quy (Regression testing)
  • Kiểm tra mảng trực giao hoặc OAT (Orthogonal array testing or OAT)
  • Kiểm tra mẫu (Pattern testing)

 

Kết luận

 

Qua những thông tin trên, các tester cũng đã hiểu rõ về các phương pháp kiểm thử phần mềm trên nhiều phương diện như: Hành động, mục tiêu, kỹ thuật... Nắm chắc về sự khác biệt giữa 3 phương pháp giúp các tester nhận định được hướng đi trong công việc test tương lai.

Mở rộng ngay cơ hội việc làm Tester tại ITNavi - Nền tảng kết nối việc làm IT với hơn 1000++ jobs cập nhật mỗi ngày.

 

Xem thêm:

1000 việc làm IT tại Nền tảng kết nối việc làm ITNavi

Kiểm thử hộp đen - Kỹ thuật kiểm thử hộp đen

Từ A-Z về kiểm thử hộp trắng

ITNavi - Nền tảng kết nối việc làm IT

Nguồn: Các phương pháp kiểm thử phần mềm và sự khác biệt? - ITNavi

Bài viết liên quan

NEWSLETTER

Nhập địa chỉ email của bạn dưới đây để đăng ký nhận tin mới nhất

KẾT NỐI VÀ THEO DÕI