Kiểm thử tích hợp có sử dụng giả không?


24

Tôi hiện đang ở trong một lớp để kiểm thử phần mềm, trong đó đối với dự án học kỳ của chúng tôi, chúng tôi phải thực hiện nhiều loại thử nghiệm trên đó, chẳng hạn như kiểm thử đơn vị và kiểm thử tích hợp. Để thử nghiệm tích hợp, giáo sư cho biết sử dụng các thư viện giả và giả (như EasyMock và Mockito) cho thử nghiệm tích hợp của chúng tôi. Tôi đang khá bối rối. Kiểm thử tích hợp là kiểm thử bên ngoài các lớp, mô-đun, dịch vụ, v.v ... Tại sao các mô phỏng và sơ khai sẽ thích hợp để sử dụng trong kiểm thử tích hợp nếu bạn đang kiểm tra nhiều lớp và dịch vụ?


8
Thử nghiệm "Tích hợp" và "Đơn vị" không được thống nhất theo các điều khoản. Tốt nhất là hỏi giáo sư của bạn chính xác cách họ đã xác định các thuật ngữ đó.
RubberDuck

1
Chỉ là một nhận xét. Kiểm thử tích hợp không phải là kiểm tra các phụ thuộc., Đó là kiểm tra sự tích hợp đúng của mã với các phụ thuộc (các cuộc gọi, xử lý phản hồi và xử lý lỗi, v.v.).
Laiv

Câu trả lời:


25

Nếu bạn có một phần chức năng chạm vào một số thành phần bên ngoài, bạn có thể giả định tất cả trừ một để tách biệt và kiểm tra một thành phần cụ thể. Ví dụ: giả sử bạn có một chức năng gọi một dịch vụ web và sau đó thực hiện một cái gì đó với cơ sở dữ liệu dựa trên kết quả. Bạn có thể viết ba bài kiểm tra tích hợp:

  1. một thử nghiệm giả định cuộc gọi dịch vụ web nhưng liên quan đến kết nối cơ sở dữ liệu thực sự.
  2. một thử nghiệm thực hiện cuộc gọi dịch vụ web thực sự nhưng sử dụng kết nối cơ sở dữ liệu giả.
  3. một thử nghiệm thực hiện cuộc gọi dịch vụ web thực và liên quan đến kết nối cơ sở dữ liệu thực.

Nếu bạn chạy cả ba thử nghiệm và 1 và 3 đều thất bại, rất có thể có một lỗi trong mã của bạn hoạt động với cơ sở dữ liệu, vì thử nghiệm duy nhất vượt qua là thử nghiệm sử dụng kết nối cơ sở dữ liệu giả.

Nói chung, các bài kiểm tra tích hợp không sử dụng giả, nhưng đôi khi tôi đã làm một cái gì đó như thế này.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.