Trước tiên hãy có được các ưu tiên ...
Trong vai trò là khách hàng, mối quan tâm chính của bạn không phải là kiểm tra đơn vị
Nếu bạn đang sử dụng các nhà cung cấp sản xuất phần mềm cho bạn thì bạn thực sự không nên lo lắng nếu họ đang sử dụng phương pháp này hay phương pháp khác. Cổ phần của bạn là để có được một loại giải pháp sẽ giúp đạt được mục tiêu của bạn. Điều duy nhất bạn nên quan tâm là thời tiết đó có thể chấp nhận được hay không. Đó là lý do tại sao chúng tôi có thử nghiệm chấp nhận vì nó nằm trong trách nhiệm của bạn để đảm bảo rằng bạn có được những gì bạn muốn. Tại thời điểm quan trọng của sự chấp nhận của khách hàng, tiền sẽ được giao dịch từ túi của công ty bạn vào túi của nhà cung cấp.
Bạn có thể yêu cầu kiểm tra đơn vị theo yêu cầu có thể giao được nhưng có một số vấn đề di truyền với chúng, nghiêm trọng nhất là không có cách nào chắc chắn trước để xác định số liệu:
- Số lượng thử nghiệm đơn vị được chấp nhận là gì?
Có nên có 10 bài kiểm tra? Làm thế nào về 100 bài kiểm tra? Làm thế nào về 1000 bài kiểm tra? Trên thực tế, khá khó để xác định ngay từ đầu bạn sẽ cần bao nhiêu bài kiểm tra. Con số thực tế không thể xác định được thực sự ... giống như vấn đề tạm dừng ... nhưng chúng tôi không giải quyết vấn đề đó.
Bạn chỉ muốn phần mềm có các bài kiểm tra đơn vị để bạn có thể tiếp tục phát triển. Các bài kiểm tra đơn vị không cho biết những gì bạn đã phá vỡ, nhưng chúng rất phù hợp để cho bạn biết khi nào mã có lỗi hồi quy.
- Mức độ bao phủ mã được chấp nhận là gì?
"100%, tất nhiên!" bạn nghĩ Thật không may, số liệu đó là sai lệch; ngay cả khi bạn có phạm vi bảo hiểm 100% mã, bạn có thực sự chắc chắn mọi thứ đang hoạt động như mong đợi? Có thể có bảo hiểm 100% nhưng không được thực hiện.
Những gì bạn thực sự cần làm là thử nghiệm khám phá, tức là tìm một người thực sự giỏi trong việc phá vỡ mọi thứ và để họ làm thử nghiệm. Để tìm ra các lỗi mà không có nhà phát triển nào đã nghĩ đến.
Ngoài ra 100% đôi khi không thể đạt được với các thử nghiệm đơn vị thuần túy nếu bạn có một số hack hiệu suất cần thiết và sử dụng các mẫu thiết kế khó kiểm tra (tìm kiếm "singleton" và "tdd" trong công cụ tìm kiếm yêu thích của bạn và bạn sẽ tìm thấy một số ví dụ).
Bạn muốn phần mềm được phân phối hoạt động và tài liệu đặc tả là bảo hành duy nhất của bạn mà nó sẽ làm.
Bạn sẽ cần thử nghiệm ở cấp độ cao hơn
Tài liệu đặc điểm kỹ thuật của bạn phải được xác minh bằng cách nào đó. Mỗi điểm phải được thông qua với các nhà cung cấp của bạn có mục tiêu và tiêu chí chấp nhận rõ ràng. Một tổ chức QA hoạt động tốt (hoặc một người thử nghiệm tuyệt vời nếu bạn có ngân sách và trong phạm vi hạn chế) sẽ cung cấp các trường hợp thử nghiệm để kiểm tra các tiêu chí chấp nhận này. Bạn cũng cần một người để xác minh những tiêu chí chấp nhận.
Có một số cách để xác minh mục tiêu của bạn và nếu ai đó nói với tôi rằng bạn không thể đặt bất kỳ mục tiêu chất lượng, hiệu suất và hiệu quả lành mạnh nào, tôi sẽ đánh vào đầu họ bằng những cuốn sách lớn và nặng về kiểm tra khả năng khám phá, hiệu suất và khả năng sử dụng. Có thể dễ dàng quá mức với các mục tiêu, nhưng kiến thức và giao tiếp sẽ giúp bạn thiết lập các mục tiêu thực tế.
Tôi không phải là luật sư nhưng hầu hết các hợp đồng dự án (về cơ bản là mẹ của tất cả các thông số kỹ thuật cho dự án) Tôi đã đọc thường có một tiêu chí tỷ lệ lỗi quy định có bao nhiêu lỗi được coi là chấp nhận được. Các lỗi thường được xác định thông qua mức độ nghiêm trọng, các lỗi dừng hiển thị được tìm thấy bởi QA có dung sai thấp trong khi các nhược điểm nhỏ có khả năng chịu đựng cao. Trong các dự án thực tế, rất khó để yêu cầu phần mềm phải có 0 lỗi. Thời hạn thường dừng lại để thực hành đó. Chính tại những tình huống này, bạn phải bắt đầu mặc cả phạm vi.
Hầu hết các phần mềm được cung cấp mà tôi thấy thường không được cung cấp với các bài kiểm tra đơn vị. Bạn có thể lập luận rằng các nhà cung cấp phải đủ chuyên nghiệp để cung cấp điều này, tuy nhiên lý do chính khiến bạn muốn kiểm tra đơn vị được giao cho bạn là để đảm bảo rằng bạn không gặp phải lỗi hồi quy và cũng cho phép tái cấu trúc. Trong cuộc sống thực với các dự án có thời hạn chặt chẽ, cả nhà cung cấp và khách hàng sẽ hạ thấp phạm vi và các bài kiểm tra đơn vị thường sẽ ra khỏi cửa sổ và bị xóa khỏi danh sách các sản phẩm được yêu cầu.
Có một chút buồn khi phần mềm nguồn mở cấu hình cao được phân phối với các bài kiểm tra đơn vị nhưng một nhà phát triển phần mềm chuyên nghiệp thì không thể, phải không?
Vì vậy, khi nào tôi, với tư cách là một khách hàng, có thể quan tâm đến thử nghiệm đơn vị?
Tôi sẽ lập luận rằng lần duy nhất bạn thực sự quan tâm đến kiểm thử đơn vị là nếu phần mềm có thể phân phối là một thành phần tự cung cấp không được thực hiện như một chương trình độc lập, trong đó kiểm tra đơn giản nhất bạn có thể làm là kiểm tra đơn vị . Các thư viện lớp sẽ là một loại sản phẩm có thể được phân phối cùng với các bài kiểm tra đơn vị.