Test-Driven Development là về viết thử nghiệm để xác định các thông số kỹ thuật của chương trình
Bạn không viết các bài kiểm tra để xác định đặc điểm kỹ thuật, mô tả kiểm tra, câu chuyện của người dùng và mô tả tính năng là đặc điểm kỹ thuật, theo nghĩa 'cây chết'.
Để xem xét, quy trình TDD một cách ngắn gọn là:
- định nghĩa một dự án về các tính năng
- mô tả các bên liên quan, hành vi và mục tiêu của từng tính năng bằng cách sử dụng các câu chuyện của người dùng
- chỉ định các quà tặng dự kiến, kích hoạt các sự kiện / điều kiện và hành vi / kết quả liên quan đến câu chuyện của người dùng bằng cách sử dụng các mô tả thử nghiệm [và điều này hoàn thành 'đặc tả']
- chọn một bộ tính năng cho mỗi lần lặp; các lần lặp lại nên ngắn gọn [tôi đang bỏ qua các bước lập kế hoạch và ước tính cho ngắn gọn]
- mã hóa thử nghiệm cho một tính năng (nó sẽ thất bại, nhưng bạn phải đưa ra quyết định API để mã hóa thử nghiệm)
- thực hiện đủ các tính năng để thử nghiệm vượt qua
- cấu trúc lại mã nếu cần thiết
- lặp lại với thử nghiệm tiếp theo cho đến khi tính năng được hoàn thành
- lặp lại với tính năng tiếp theo cho đến khi lặp lại hoàn thành
- lặp lại với lần lặp tiếp theo cho đến khi dự án hoàn thành
bao nhiêu thiết kế, kiến trúc, tài liệu hỗ trợ, et al bạn chọn làm không phải là một phần của TDD. Có một số 'thực tiễn tốt nhất' thực tế mà bạn có thể đọc, nhưng hãy nhớ rằng đó là những thực tiễn 'tốt nhất' trong hội thảo của người khác , không phải của bạn.
lưu ý rằng vấn đề là để khách hàng và nhà phát triển đưa ra các tính năng và viết các câu chuyện và mô tả thử nghiệm cùng nhau , để hiểu lẫn nhau
Vì vậy, với cách đó, câu hỏi ban đầu là:
vai trò của kiến trúc sư phần mềm trong TDD là gì?
Và câu trả lời ngắn gọn là:
Giống như nó đã từng, giống như nó đã từng. --David Byrne
EDIT: Câu trả lời dài là: kiến trúc sư đóng vai trò tầm nhìn / điều tra viên / gây khó chịu / hỗ trợ / hỗ trợ / hỗ trợ thông thường trong toàn bộ quá trình, khi cần thiết.
EDIT 2: xin lỗi tôi đã bỏ lỡ điểm của các câu hỏi phụ! Mọi người có trách nhiệm viết các thông số kỹ thuật; tất cả các nhà phát triển bao gồm kiến trúc sư nếu / khi thích hợp cộng với khách hàng . Các nhà phát triển cũng mã hóa các bài kiểm tra.