Tôi đã làm việc trong một môi trường đang trong quá trình chuyển đổi sang mô hình hoạt động TDD. Đối với một số thứ như kịch bản giám sát điều này làm việc rất tốt. Chúng tôi đã sử dụng buildbot để thiết lập môi trường thử nghiệm và chạy thử nghiệm. Trong trường hợp này, bạn tiếp cận TDD từ góc độ "Mã kế thừa". Trong TDD "Mã kế thừa" là mã hiện có không có kiểm tra. Vì vậy, các thử nghiệm đầu tiên không thất bại, chúng xác định hoạt động chính xác (hoặc dự kiến).
Đối với nhiều công việc cấu hình, bước đầu tiên là kiểm tra xem cấu hình có thể được phân tích cú pháp bởi dịch vụ hay không. Nhiều dịch vụ cung cấp một số cơ sở để làm việc này. Nagios có chế độ preflight, cfagent không có hành động, apache, sudo, bind và nhiều thứ khác có các phương tiện tương tự. Điều này về cơ bản là một lint chạy cho các cấu hình.
Một ví dụ sẽ là nếu bạn sử dụng apache và các tệp cấu hình riêng biệt cho các phần khác nhau, bạn có thể kiểm tra các phần cũng như chỉ sử dụng tệp httpd.conf khác để bọc chúng để chạy trên máy thử nghiệm của bạn. Sau đó, bạn có thể kiểm tra rằng máy chủ web trên máy kiểm tra cho kết quả chính xác ở đó.
Mỗi bước trên đường bạn đi theo cùng một mô hình cơ bản. Viết một bài kiểm tra, thực hiện bài kiểm tra, tái cấu trúc công việc bạn đã thực hiện. Như đã đề cập ở trên, khi đi theo con đường này, các bài kiểm tra có thể không phải lúc nào cũng thất bại theo cách TDD được chấp nhận.
Rik