Rate this post

Kiểm thử Greybox là một phương pháp kiểm thử phần mềm để kiểm tra ứng dụng phần mềm với kiến ​​thức một phần về cấu trúc làm việc bên trong. Nó là sự kết hợp giữa kiểm thử hộp đen và hộp trắng vì nó liên quan đến quyền truy cập vào mã hóa nội bộ để thiết kế các trường hợp thử nghiệm vì kiểm thử hộp trắng và thực hành thử nghiệm được thực hiện ở cấp chức năng như kiểm thử hộp đen.

Kiểm tra GreyBox thường xác định các lỗi theo ngữ cảnh cụ thể thuộc về hệ thống web. Ví dụ; trong khi kiểm tra, nếu người kiểm tra gặp bất kỳ lỗi nào thì anh ta sẽ thực hiện các thay đổi trong mã để giải quyết lỗi và sau đó kiểm tra lại trong thời gian thực. Nó tập trung vào tất cả các lớp của bất kỳ hệ thống phần mềm phức tạp nào để tăng phạm vi kiểm tra. Nó cho khả năng kiểm tra cả lớp bên ngoài cũng như cấu trúc coding phía bên trong. Nó chủ yếu được sử dụng trong testing integrated và testing xâm nhập.

Tại sao nên thử nghiệm GreyBox?

Lý do cho thử nghiệm GreyBox như sau

  • Nó cung cấp các lợi ích kết hợp của cả thử nghiệm Hộp đen và thử nghiệm WhiteBox.
  • Nó bao gồm các giá trị đầu vào của cả nhà phát triển và người kiểm tra cùng một lúc để cải thiện chất lượng tổng thể của sản phẩm.
  • Nó làm giảm thời gian tiêu thụ của quá trình dài kiểm tra chức năng và phi chức năng.
  • Nó cung cấp đủ thời gian để nhà phát triển sửa chữa các lỗi sản phẩm.
  • Nó bao gồm quan điểm của người dùng hơn là quan điểm của người thiết kế hoặc người thử nghiệm.
  • Nó liên quan đến việc kiểm tra các yêu cầu và xác định các thông số kỹ thuật theo quan điểm của người dùng một cách sâu sắc.

Chiến lược kiểm thử GreyBox

Kiểm thử hộp xám không bắt buộc người kiểm thử phải thiết kế các trường hợp kiểm thử từ mã nguồn. Để thực hiện việc kiểm thử này, các trường hợp kiểm thử có thể được thiết kế dựa trên kiến ​​thức về kiến ​​trúc, thuật toán, trạng thái bên trong hoặc các mô tả cấp cao khác về hành vi của chương trình. Nó sử dụng tất cả các kỹ thuật đơn giản của kiểm thử hộp đen để kiểm tra chức năng. Việc tạo trường hợp thử nghiệm dựa trên các yêu cầu và đặt trước tất cả các điều kiện trước khi thử nghiệm chương trình bằng phương pháp khẳng định.

Các bước Chung để thực hiện Gray Box testing là:

  • Đầu tiên, chọn và xác định đầu vào từ đầu vào thử nghiệm của BlackBox và WhiteBox.
  • Thứ hai, Xác định đầu ra mong đợi từ các đầu vào đã chọn này.
  • Thứ ba, xác định tất cả các con đường chính để đi qua trong thời gian thử nghiệm.
  • Nhiệm vụ thứ tư là xác định các chức năng phụ là một phần của các chức năng chính để thực hiện kiểm thử mức độ sâu.
  • Nhiệm vụ thứ năm là xác định đầu vào cho các chức năng con.
  • Nhiệm vụ thứ sáu là xác định đầu ra mong đợi cho các chức năng con.
  • Nhiệm vụ thứ bảy bao gồm việc thực thi một trường hợp thử nghiệm cho các Hàm con.
  • Nhiệm vụ thứ tám bao gồm xác minh tính đúng đắn của kết quả.

Các trường hợp kiểm thử được thiết kế để kiểm tra Greybox bao gồm liên quan đến Bảo mật, liên quan đến Trình duyệt, liên quan đến GUI, liên quan đến hệ thống hoạt động và kiểm tra liên quan đến cơ sở dữ liệu.

Xem thêm Functional Testing

Kỹ thuật Gray Box testing

Matrix Testing

Kỹ thuật thử nghiệm này nằm trong thử nghiệm Hộp xám. Nó định nghĩa tất cả các biến được sử dụng của một chương trình cụ thể. Trong bất kỳ chương trình nào, biến là các phần tử mà thông qua đó các giá trị có thể di chuyển bên trong chương trình. Nó phải theo yêu cầu nếu không, nó sẽ làm giảm khả năng đọc của chương trình và tốc độ của phần mềm. Kỹ thuật ma trận là một phương pháp để loại bỏ các biến không sử dụng và chưa được khởi tạo bằng cách xác định các biến đã sử dụng khỏi chương trình.

  • Trong Matrix Testing, việc định nghĩa tất cả các biến của chương trình được coi là bước quan trọng. Biến trong một chương trình là các phần tử chứa giá trị, qua đó dữ liệu có thể được truyền và thay đổi trong quá trình thực thi chương trình.
  • Việc quản lý hiệu quả các biến, bao gồm việc xác định các biến không sử dụng hoặc chưa được khởi tạo, giúp tăng khả năng đọc và hiệu suất của phần mềm.
  • Matrix Testing giúp loại bỏ các biến không cần thiết hoặc chưa được khởi tạo khỏi chương trình. Điều này không chỉ làm giảm kích thước và độ phức tạp của code mà còn giúp tránh các lỗi tiềm ẩn do sử dụng biến không chính xác.
  • Kỹ thuật này phân tích mọi biến để xác định những biến nào thực sự quan trọng và cần thiết cho chức năng của chương trình.

Regression Testing

Regression Testing được sử dụng để xác minh rằng sửa đổi trong bất kỳ phần nào của phần mềm không gây ra bất kỳ tác dụng phụ bất lợi hoặc không mong muốn nào trong bất kỳ phần nào khác của phần mềm. Trong quá trình kiểm tra xác nhận, bất kỳ lỗi nào đã được khắc phục và một phần của phần mềm bắt đầu hoạt động như dự kiến, nhưng có khả năng lỗi đã sửa có thể đã tạo ra một lỗi khác ở một nơi khác trong phần mềm. Vì vậy, kiểm tra hồi quy sẽ xử lý các loại lỗi này bằng cách kiểm tra các chiến lược như kiểm tra lại các trường hợp sử dụng rủi ro, kiểm tra lại trong tường lửa, kiểm tra lại tất cả, v.v.

  • Regression Testing, hay kiểm tra hồi quy, là một quy trình kiểm thử quan trọng trong quá trình phát triển phần mềm, nhằm đảm bảo rằng các thay đổi hoặc cập nhật trong một phần của phần mềm không ảnh hưởng tiêu cực đến các phần khác.
  • Loại thử nghiệm này đặc biệt quan trọng sau khi các bản vá lỗi hoặc cập nhật được thực hiện, để xác minh rằng không có “tác dụng phụ” không mong muốn xuất hiện, đặc biệt là ở những khu vực không trực tiếp liên quan đến thay đổi.
  • Mục tiêu chính của Regression Testing là xác minh sự ổn định và tính nhất quán của ứng dụng sau khi nó đã được sửa đổi. Điều này đảm bảo rằng các lỗi trước đây đã được khắc phục không tái xuất hiện và không có lỗi mới nào được tạo ra do sự thay đổi.

Orthogonal Array Testing hoặc OAT

Mục đích của thử nghiệm này là bao gồm mã tối đa với các trường hợp thử nghiệm tối thiểu. Các trường hợp thử nghiệm được thiết kế theo cách có thể bao gồm mã tối đa cũng như các chức năng GUI với số lượng trường hợp thử nghiệm ít hơn.

  • Orthogonal Array Testing (OAT) là một kỹ thuật thử nghiệm hệ thống phần mềm dựa trên nguyên lý của thiết kế thử nghiệm combinatorial. Phương pháp này sử dụng các mảng orthogonal để sắp xếp và quản lý các trường hợp kiểm thử.
  • Mục đích chính của OAT là để kiểm tra hiệu quả mã nguồn và chức năng của phần mềm bằng cách sử dụng số lượng trường hợp kiểm thử tối thiểu nhất có thể.
  • OAT cho phép các nhà phát triển và kiểm thử viên tối ưu hóa quá trình kiểm thử bằng cách giảm số lượng trường hợp kiểm thử cần thiết mà vẫn đảm bảo độ phủ code cao. Điều này giúp kiểm tra được nhiều chức năng và tình huống khác nhau mà không cần phải thử nghiệm mọi kết hợp có thể xảy ra.

Pattern Testing

Pattern Testing có thể áp dụng cho loại phần mềm được phát triển theo cùng một mẫu của phần mềm trước đó. Trong những loại phần mềm có khả năng xảy ra cùng một loại lỗi. Kiểm tra mẫu xác định lý do của lỗi để chúng có thể được khắc phục trong phần mềm tiếp theo.

Thông thường, các công cụ kiểm thử phần mềm tự động được sử dụng trong phương pháp luận của Greybox để tiến hành quá trình kiểm tra. Các đoạn mã và trình điều khiển mô-đun được cung cấp cho người thử nghiệm để giảm bớt quá trình tạo mã theo cách thủ công.

  • Pattern Testing thường được thực hiện trong khuôn khổ của phương pháp luận Greybox, kết hợp cả kiến thức bên ngoài (blackbox) và kiến thức bên trong (whitebox) về phần mềm.
  • Phương pháp này cho phép một cái nhìn tổng thể về cấu trúc và hành vi của ứng dụng, giúp xác định các mẫu lỗi một cách hiệu quả hơn.
  • Công cụ kiểm thử phần mềm tự động thường được sử dụng để hỗ trợ quá trình Pattern Testing. Các công cụ này giúp tự động hóa việc kiểm tra, giảm thiểu sự cần thiết của việc viết mã thủ công và tăng tốc quá trình phát hiện lỗi.
  • Các đoạn mã và trình điều khiển mô-đun cung cấp cho người kiểm thử cũng giúp tối ưu hóa quá trình kiểm thử và đảm bảo rằng các kết quả kiểm thử là chính xác và đáng tin cậy.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now