2009-05-29 48 views
9

Tôi đang đấu tranh để tìm ra những gì cần được loại trừ khỏi các bài kiểm tra chức năng (trong trường hợp của tôi, bằng cách sử dụng Rails, nhưng tôi đoán khuôn khổ của có lẽ không liên quan). Tôi có ấn tượng rằng tôi không nên bận tâm sử dụng các bài kiểm tra chức năng cho những thứ sẽ bị bắt trong các bài kiểm tra đơn vị - chẳng hạn như kiểm tra xem một trường không thể có quá nhiều ký tự, hoặc một trường có thể ' t trống. Nếu đây là trường hợp, những gì dự phòng chắc chắn nên được kiểm tra với các bài kiểm tra chức năng, và/hoặc những gì các quy tắc của ngón tay cái để lại những người khác chỉ để thử nghiệm đơn vị?Lẫn lộn: bỏ qua các bài kiểm tra chức năng có cùng nền tảng như bài kiểm tra đơn vị?

Hay ấn tượng này không chính xác để bắt đầu?

Tôi đã nhìn thisthis nhưng tôi vẫn thua lỗ.

Trả lời

7

Kiểm tra chức năng: Nó có làm mọi thứ tiếp thị/khả năng sử dụng/khách hàng đã ký cho? tức là nếu thông số của bạn nêu rõ rằng hộp văn bản ZIP chỉ cho phép mã zip Hoa Kỳ hợp lệ, thì có thể bạn nên kiểm tra điều đó trong một thử nghiệm chức năng.

Kiểm tra đơn vị: Nó có làm những gì nhà phát triển mong muốn để thực hiện không? Trong các thử nghiệm này, bạn nên sử dụng thử nghiệm tăng gấp đôi để tách mã khỏi các phụ thuộc.

Vì vậy, có, sẽ có sự chồng chéo của một sắp xếp.

+0

Vì vậy, trong các chức năng, bạn có nên kiểm tra mọi khả năng xảy ra không? Nghe có vẻ như bạn thực sự không thể để lại bất cứ điều gì ngoài chức năng. – fig

+0

Tôi không nghĩ rằng bạn kiểm tra mọi dự phòng trong các hàm, bạn kiểm tra các dự phòng được nêu rõ trong đặc tả. Bạn cũng có thể sẽ có các bài kiểm tra đơn vị cho những điều này, và hy vọng một số bài kiểm tra đơn vị khác cho những điều bạn nghĩ và họ đã không. – Robert

+0

Tôi chắc chắn * không * một chuyên gia thử nghiệm. Vì vậy, hãy cẩn thận của việc tham gia bất kỳ lời khuyên từ tôi, nhưng tôi ít nhất sẽ làm kiểm tra sanity của các tính năng cần thiết trong spec. Thử nghiệm đơn vị của bạn có thể kiểm tra lực lượng vũ phu tất cả các mã zip của Hoa Kỳ có thể, nhưng kiểm tra chức năng của bạn có thể thử 1 mã zip không hợp lệ và 1 hợp lệ. – dss539

3

Tôi cho một người sẽ 'tăng đột biến' thông qua chức năng với các bài kiểm tra chức năng và không phải lo lắng về việc bao quát mọi thứ và thay vào đó tập trung vào các bài kiểm tra đơn vị.

Lý do:

  • kiểm tra chức năng chậm
  • kiểm tra chức năng rất khó để viết và duy trì
  • kiểm tra chức năng chỉ có thể bắt hai mục phụ bên cạnh kiểm tra đơn vị của bạn:
    • GUI lỗi
    • các lớp không khớp chéo

Tất cả trong tất cả, tôi nhận thấy rằng nó không trả hết để trang trải mọi thứ hai lần.

+0

Với cách tiếp cận của bạn, làm thế nào để bạn chọn những thứ để trang trải & bỏ qua? Nó là ngẫu nhiên, hoặc là có một quy tắc của ngón tay cái? – fig

+1

Quy tắc của ngón tay cái là bao gồm một trường hợp sử dụng trong một 'câu chuyện' với một bài kiểm tra tích hợp. Ví dụ: nếu tôi có trang thanh toán, tôi chỉ cần xử lý thanh toán thành công để xác thực rằng tích hợp được thực hiện đúng. Thử nghiệm đơn vị sẽ bao gồm tất cả các trường hợp khác. –

Các vấn đề liên quan