đối với TDD, các tính năng kiểm tra "tốt" mà khách hàng muốn ; các tính năng không nhất thiết phải tương ứng với các chức năng và các kịch bản thử nghiệm không được nhà phát triển tạo ra trong chân không
trong trường hợp của bạn - tôi đoán - 'tính năng' là chức năng phù hợp mô hình hóa dữ liệu đầu vào trong một khả năng chịu lỗi nhất định. Vì tôi không biết bạn đang làm gì, tôi đang làm gì đó; hy vọng nó là analgous.
Ví dụ câu chuyện:
Là một [Phi công cánh X] tôi muốn [không quá 0,0001% lỗi phù hợp] để [máy tính nhắm mục tiêu có thể chạm vào cổng xả của Death Star khi di chuyển hết tốc độ qua hẻm núi hộp]
Vì vậy, bạn đi nói chuyện với các phi công (và với máy tính nhắm mục tiêu, nếu có tình cảm). Đầu tiên bạn nói về những gì là 'bình thường', sau đó nói về những điều bất thường. Bạn tìm ra những gì thực sự quan trọng trong kịch bản này, những gì phổ biến, những gì không thể và những gì chỉ có thể.
Giả sử thông thường bạn sẽ có một cửa sổ nửa giây trên bảy kênh dữ liệu đo từ xa: tốc độ, cao độ, cuộn, ngáp, vectơ đích, kích thước mục tiêu và vận tốc mục tiêu và các giá trị này sẽ không đổi hoặc thay đổi tuyến tính. Bất thường, bạn có thể có ít kênh hơn và / hoặc các giá trị có thể thay đổi nhanh chóng. Vì vậy, cùng nhau bạn đưa ra một số thử nghiệm như:
//Scenario 1 - can you hit the side of a barn?
Given:
all 7 channels with no dropouts for the full half-second window,
When:
speed is zero
and target velocity is zero
and all other values are constant,
Then:
the error coefficient must be zero
//Scenario 2 - can you hit a turtle?
Given:
all 7 channels with no dropouts for the full half-second window,
When:
speed is zero
and target velocity is less than c
and all other values are constant,
Then:
the error coefficient must be less than 0.0000000001/ns
...
//Scenario 42 - death blossom
Given:
all 7 channels with 30% dropout and a 0.05 second sampling window
When:
speed is zero
and position is within enemy cluster
and all targets are stationary
Then:
the error coefficient must be less than 0.000001/ns for each target
Bây giờ, bạn có thể nhận thấy rằng không có kịch bản nào cho tình huống cụ thể được mô tả trong câu chuyện. Hóa ra, sau khi nói chuyện với khách hàng và các bên liên quan khác, mục tiêu đó trong câu chuyện ban đầu chỉ là một ví dụ giả định. Các thử nghiệm thực sự ra khỏi các cuộc thảo luận sau đó. Điều này có thể xảy ra. Câu chuyện nên được viết lại, nhưng nó không phải là [vì câu chuyện chỉ là một phần giữ chỗ cho một cuộc trò chuyện với khách hàng].