Tôi yêu cách tiếp cận BDD để phát triển, nhưng tôi đã gặp phải một mối quan tâm với cách xa. Nhận xét này từ Thought gần đây nhất Radar mang lại cho tôi tạm dừng:Làm cách nào để chúng tôi xử lý các hoán vị nhỏ của các tình huống BDD?
"Sự ra đời của thiết kế hành vi điều khiển (BDD) khuôn khổ kiểm tra như dưa chuột, kết hợp với các công cụ tự động hóa trình duyệt như Selenium, đã khuyến khích sử dụng rộng rãi chấp nhận kiểm tra tại Điều này không may khuyến khích làm phần lớn các thử nghiệm mà chi phí để chạy các bài kiểm tra là lớn nhất, thay vào đó, chúng ta nên kiểm tra ở mức thích hợp, càng gần mã càng tốt, để kiểm tra có thể chạy với hiệu quả tối đa. Kiểm tra trình duyệt cấp nên được đóng băng trên bánh, được hỗ trợ bởi sự chấp nhận và kiểm tra đơn vị được thực hiện ở các lớp thích hợp. "
Vì vậy, đây là kịch bản của tôi (ý định chơi chữ):
Tôi đã có một ứng dụng CRUD cơ bản với một yêu cầu kinh doanh để lọc dữ liệu hiển thị dựa trên các tiêu chí người dùng cuối được phép chọn. Để dễ dàng thảo luận, hãy nói đây là ứng dụng dành cho công ty điện lực và tôi đang hiển thị mức sử dụng năng lượng hàng tháng hiện tại cho từng khách hàng. Người dùng ứng dụng này có thể thu hẹp dữ liệu bằng cách chọn một khách hàng, nhiều khách hàng, không có khách hàng hoặc "Tất cả khách hàng". Dữ liệu được hiển thị sẽ thay đổi dựa trên những gì họ chọn.
Đối với một bên liên quan sản phẩm, chúng thực sự đại diện cho 4 trường hợp riêng biệt. Tuy nhiên từ góc nhìn của nhà phát triển, chúng thực sự giống nhau, với sự khác biệt duy nhất là một tham số được truyền cho DB. Vì vậy, câu hỏi trở thành: lợi ích của việc có mỗi hoán vị được đánh vần lớn hơn chi phí chạy và duy trì chúng?
Tôi nghĩ nguyên tắc BDD có lẽ sẽ nói "có" vì thông tin liên lạc về hành vi mong đợi rõ ràng hơn, nhưng tôi không chắc chắn. Nó chắc chắn có cảm giác với tôi về quá mức cần thiết. Các kịch bản có thể sẽ có rất nhiều bản sao-dán với những thay đổi nhỏ.
Độ nghiêng của tôi là bao gồm chức năng này với một trường hợp duy nhất nắm bắt được giá trị kinh doanh cốt lõi ("khi tôi chọn khách hàng tôi thấy dữ liệu sử dụng năng lượng"), và sau đó bao gồm các hoán vị khác với một tập hợp non-UI dựa trên các bài kiểm tra tích hợp hợp lệ dịch vụ/truy vấn trả về dữ liệu chính xác. Đây có phải là suy nghĩ sai? Câu trả lời hay nhất để đảm bảo các kịch bản này được đề cập đến, mà không đầu hàng lợi ích của BDD là gì?
Cảm ơn, Liz, điều đó rất hữu ích. Tôi nghĩ rằng sự đổ vỡ mà chúng ta đang thâm nhập ở đây vẫn đang suy nghĩ về những hành vi như thử nghiệm. Chúng tôi muốn thử nghiệm toàn diện, vì vậy chúng tôi muốn các kịch bản toàn diện. Gotta thay đổi suy nghĩ đó. Ngoài ra, tôi có thể tìm hiểu thêm một chút về mẫu "Bánh gừng" này ở đâu? Google đã không tăng lên nhiều cho tôi ngoại trừ một số công thức nấu ăn bánh đẹp ... :) –
@ ryan-nelson Dan North hy vọng sẽ được viết một cuốn sách tại * một số * điểm ... khác hơn thế, xem video của mình. Về cơ bản bạn có một công thức cho một số phần mềm được hiểu rõ về phần mềm (bánh sô-cô-la), và thay thế bit bạn cần để thay thế bằng một thứ khác (sôcôla thay thế bằng gừng). Bạn không cần phải giải thích toàn bộ công thức cho một đầu bếp - hoặc một nhà phát triển - để có được nó. – Lunivore
Tìm thấy một video ở đây, nơi ông giải thích nó: http://oredev.org/2011/sessions/patterns-of-effective-gelivery –