Kiểm thử phần mềm - Phương pháp
Có nhiều phương pháp khác nhau có thể được sử dụng để kiểm thử phần mềm. Chương này mô tả ngắn gọn các phương pháp có sẵn.
Kiểm tra hộp đen
Kỹ thuật kiểm tra mà không có bất kỳ kiến thức nào về hoạt động bên trong của ứng dụng được gọi là kiểm tra hộp đen. Người kiểm tra không biết gì về kiến trúc hệ thống và không có quyền truy cập vào mã nguồn. Thông thường, trong khi thực hiện kiểm tra hộp đen, người kiểm tra sẽ tương tác với giao diện người dùng của hệ thống bằng cách cung cấp đầu vào và kiểm tra đầu ra mà không cần biết cách thức và vị trí hoạt động của đầu vào.
Bảng dưới đây liệt kê những ưu điểm và nhược điểm của kiểm thử hộp đen.
Ưu điểm | Nhược điểm |
---|---|
Phù hợp và hiệu quả cho các phân đoạn mã lớn. | Phạm vi giới hạn, vì chỉ một số kịch bản thử nghiệm được chọn được thực hiện thực sự. |
Truy cập mã là không cần thiết. | Kiểm tra không hiệu quả, do thực tế là người kiểm tra chỉ có kiến thức hạn chế về ứng dụng. |
Phân tách rõ ràng quan điểm của người dùng với quan điểm của nhà phát triển thông qua các vai trò được xác định rõ ràng. | Phạm vi bảo hiểm mù, vì người kiểm tra không thể nhắm mục tiêu các phân đoạn mã cụ thể hoặc các khu vực lỗi. |
Một số lượng lớn người kiểm tra có kỹ năng vừa phải có thể kiểm tra ứng dụng mà không cần kiến thức về triển khai, ngôn ngữ lập trình hoặc hệ điều hành. | Các trường hợp kiểm thử rất khó để thiết kế. |
Kiểm tra hộp trắng
Kiểm thử hộp trắng là kiểm tra chi tiết về logic và cấu trúc bên trong của mã. Thử nghiệm hộp trắng còn được gọi làglass testing hoặc là open-box testing. Để trình bàywhite-box thử nghiệm trên một ứng dụng, người thử nghiệm cần biết hoạt động bên trong của mã.
Người kiểm tra cần phải xem bên trong mã nguồn và tìm ra đơn vị / đoạn mã nào đang hoạt động không phù hợp.
Bảng sau liệt kê những ưu điểm và nhược điểm của thử nghiệm hộp trắng.
Ưu điểm | Nhược điểm |
---|---|
Vì người kiểm tra có kiến thức về mã nguồn, nên rất dễ dàng tìm ra loại dữ liệu nào có thể giúp kiểm tra ứng dụng một cách hiệu quả. | Do thực tế là cần một người kiểm tra có tay nghề cao để thực hiện kiểm tra hộp trắng, chi phí sẽ tăng lên. |
Nó giúp tối ưu hóa mã. | Đôi khi không thể nhìn vào mọi ngóc ngách để tìm ra những lỗi tiềm ẩn có thể tạo ra vấn đề, vì nhiều con đường sẽ không được kiểm tra. |
Có thể loại bỏ các dòng mã bổ sung có thể gây ra các khuyết tật tiềm ẩn. | Rất khó để duy trì thử nghiệm hộp trắng, vì nó đòi hỏi các công cụ chuyên dụng như máy phân tích mã và công cụ gỡ lỗi. |
Do kiến thức của người thử nghiệm về mã, mức độ phù hợp tối đa đạt được trong quá trình viết kịch bản thử nghiệm. |
Thử nghiệm hộp xám
Kiểm thử hộp xám là một kỹ thuật để kiểm tra ứng dụng với kiến thức hạn chế về hoạt động bên trong của ứng dụng. Trong kiểm thử phần mềm, cụm từ bạn càng biết nhiều thì càng có nhiều sức nặng trong khi kiểm thử một ứng dụng.
Việc nắm vững miền của hệ thống luôn mang lại cho người thử nghiệm lợi thế hơn người có kiến thức về miền hạn chế. Không giống như kiểm thử hộp đen, nơi người kiểm tra chỉ kiểm tra giao diện người dùng của ứng dụng; trong thử nghiệm hộp xám, người thử nghiệm có quyền truy cập vào tài liệu thiết kế và cơ sở dữ liệu. Có kiến thức này, người kiểm tra có thể chuẩn bị dữ liệu kiểm tra tốt hơn và các kịch bản kiểm tra trong khi lập kế hoạch kiểm tra.
Ưu điểm | Nhược điểm |
---|---|
Cung cấp các lợi ích kết hợp của thử nghiệm hộp đen và hộp trắng bất cứ khi nào có thể. | Vì quyền truy cập vào mã nguồn không khả dụng, nên khả năng xem qua mã và kiểm tra phạm vi bị hạn chế. |
Người kiểm tra hộp màu xám không dựa vào mã nguồn; thay vào đó chúng dựa vào định nghĩa giao diện và các đặc tả chức năng. | Các bài kiểm tra có thể dư thừa nếu nhà thiết kế phần mềm đã chạy một trường hợp kiểm thử. |
Dựa trên thông tin hạn chế có sẵn, trình kiểm tra hộp xám có thể thiết kế các kịch bản kiểm tra tuyệt vời, đặc biệt là xung quanh các giao thức truyền thông và xử lý kiểu dữ liệu. | Việc kiểm tra mọi luồng đầu vào có thể có là không thực tế vì nó sẽ mất một khoảng thời gian không hợp lý; do đó, nhiều đường dẫn chương trình sẽ không được kiểm tra. |
Thử nghiệm được thực hiện từ quan điểm của người dùng chứ không phải của nhà thiết kế. |
So sánh các phương pháp kiểm tra
Bảng sau liệt kê các điểm phân biệt kiểm tra hộp đen, kiểm tra hộp xám và kiểm tra hộp trắng.
Kiểm tra hộp đen | Thử nghiệm hộp xám | Kiểm tra hộp trắng |
---|---|---|
Không cần biết các hoạt động bên trong của một ứng dụng. | Người thử nghiệm có kiến thức hạn chế về hoạt động bên trong của ứng dụng. | Tester có đầy đủ kiến thức về hoạt động bên trong của ứng dụng. |
Còn được gọi là thử nghiệm hộp kín, thử nghiệm theo hướng dữ liệu hoặc thử nghiệm chức năng. | Còn được gọi là thử nghiệm trong mờ, vì người thử nghiệm có kiến thức hạn chế về nội dung của ứng dụng. | Còn được gọi là thử nghiệm hộp rõ ràng, thử nghiệm cấu trúc hoặc thử nghiệm dựa trên mã. |
Được thực hiện bởi người dùng cuối và cả người thử nghiệm và nhà phát triển. | Được thực hiện bởi người dùng cuối và cả người thử nghiệm và nhà phát triển. | Thường được thực hiện bởi người thử nghiệm và nhà phát triển. |
Kiểm tra dựa trên kỳ vọng bên ngoài - Hành vi bên trong của ứng dụng là không xác định. | Việc kiểm tra được thực hiện trên cơ sở sơ đồ cơ sở dữ liệu cấp cao và sơ đồ luồng dữ liệu. | Các hoạt động bên trong đã được biết đầy đủ và người thử nghiệm có thể thiết kế dữ liệu thử nghiệm cho phù hợp. |
Nó là hoàn chỉnh và ít tốn thời gian nhất. | Một phần là mất thời gian và mệt mỏi. | Loại thử nghiệm toàn diện và tốn thời gian nhất. |
Không phù hợp để kiểm tra thuật toán. | Không phù hợp để kiểm tra thuật toán. | Thích hợp để kiểm tra thuật toán. |
Điều này chỉ có thể được thực hiện bằng phương pháp thử và sai. | Các miền dữ liệu và ranh giới bên trong có thể được kiểm tra, nếu biết. | Miền dữ liệu và ranh giới bên trong có thể được kiểm tra tốt hơn. |