Khi tôi muốn khuyến khích việc sử dụng Phát triển dựa trên thử nghiệm, tôi đã chạy một Cyber-Dojo . Với loại bài tập này, sự nhấn mạnh không phải ở bản thân mã, mà là quá trình viết mã .
Chúng tôi đã dành một buổi chiều, theo cặp, lặp lại cùng một kata, nhưng trong các điều kiện khác nhau. Chúng tôi bắt đầu với tất cả các nhóm thực hiện một bài tập cùng một lúc. Điều này cung cấp một đường cơ sở.
Sau đó chúng tôi đã thảo luận về một số nguyên tắc cơ bản của TDD, mọi người đã thay đổi đối tác và lặp lại cùng một kata. Chúng tôi lặp lại cùng một kata để nhấn mạnh việc tạo mã và thay vào đó tập trung mọi người vào quá trình đặt tên các trường hợp thử nghiệm và chu trình Đỏ / Xanh lục.
Sau đó, chúng tôi lặp lại kata một lần nữa, nhưng cứ sau 10 phút, một người trong mỗi nhóm sẽ chuyển sang một nhóm khác, mô phỏng môi trường nhóm khá trôi chảy mà chúng ta thường thấy trong những ngày này.
Trong lần lặp lại cuối cùng, chúng tôi đã có cả hai đối tác thay đổi cứ sau 10 phút hoặc lâu hơn thành các nhóm khác nhau. Điều này giúp chứng minh rằng với TDD, ngay cả việc chuyển giao từ một nhóm sang một nhóm hoàn toàn khác không nhất thiết phải quá đau đớn, vì dự án chỉ nên thực hiện một chu kỳ Đỏ / Xanh.
Điều thú vị là, có rất ít người đã thực hiện bất kỳ TDD nào trước phiên, nhưng những kiến thức về TDD đã được lan truyền nhanh chóng cho đến khi lặp lại cuối cùng thông qua kata, hầu hết mọi người đều nghĩ theo cách TDD hoặc ít nhất có thể đánh giá cao lý do tại sao có thể có lợi
Mọi người thường nói rằng buổi chiều vừa vui vừa bổ ích và hiện chúng tôi đang xem xét các cách khác để sử dụng Cyber-Dojo tại nơi làm việc của tôi.
Cyber-Dojo , được viết bởi Jon Jagger , hoạt động cực kỳ tốt cho loại bài tập này. Đây là một trang web dựa trên môi trường tích hợp để thực hiện cố ý thực hành của TDD và tìm hiểu về động lực nhóm. Nó có rất nhiều kata được chọn đặc biệt để giúp mọi người tập trung vào quá trình TDD chứ không phải vấn đề. Nó cũng hỗ trợ một loạt các ngôn ngữ, từ Python và Ruby đến Java và C ++.
Điều tốt nhất là, sau khi thực hiện một kata, bạn có thể quay lại và xem tiến trình màu đỏ / xanh lá cây (hoặc có thể không * 8 ') của mỗi nhóm tham gia. Nó của đèn giao thông là một cách tuyệt vời để hình dung như thế nào quá trình TDD hoạt động.
Nếu bạn muốn máy chủ CyberDojo của riêng mình, toàn bộ dự án có thể được tìm thấy tại github và thậm chí còn có một máy ảo thiết bị Turnkey Linux được liên kết từ đó, có nghĩa là giả sử bạn đã cài đặt trình phát VMware hoặc VirtualBox , bạn có thể cài đặt và chạy trong Một vài phút tải xuống thiết bị!