Behavior Driven Framework (Khung phát triển dựa trên hành vi) nhận đầu vào từ tất cả các bên liên quan trong dự án như nhà phát triển, người kiểm thử, chủ sở hữu sản phẩm, quản lý, khách hàng và nhà phân tích kinh doanh. Ý tưởng là đưa tất cả các thành viên dự án đến cùng một sự hiểu biết.
Behavior Driven Framework hoạt động dựa trên sự cộng tác và phối hợp giữa mọi người trong nhóm. Kiến thức lập trình kỹ thuật không cần thiết vì các yêu cầu chức năng hoặc đặc tả được mô tả bằng ngôn ngữ phổ thông, phi kỹ thuật.
Đặc tả này có thể được dùng làm mẫu chuẩn cho người kiểm thử khi thiết kế các ca kiểm thử bằng cả tự động và thủ công. Độ bao phủ kiểm thử cho từng kịch bản kinh doanh có thể ước lượng dễ dàng. Bên cạnh đó, cả góc nhìn của khách hàng và nhà phát triển đều được xem xét.
Trung tâm chính của BDD là đạt được hành vi và bản chất của ứng dụng chứ không quá nhấn mạnh vào khía cạnh triển khai.
Một số ưu điểm của Behavior Driven Framework được liệt kê dưới đây.
Đánh giá và phản hồi thích hợp - Vì các ca kiểm thử được xây dựng bằng ngôn ngữ phi kỹ thuật, nhà phân tích kinh doanh có thể tham gia tích cực và đưa ra phản hồi về chất lượng và độ bao phủ của ca kiểm thử.
Behavior driven framework phù hợp hơn với tác động kinh doanh của các yêu cầu thay vì triển khai và kỹ thuật phát triển.
Tạo mối quan hệ mạnh mẽ hơn giữa nhà phát triển, QA, chủ sở hữu sản phẩm và khách hàng, từ đó tăng cường cộng tác và phối hợp giữa họ.
Kiểm thử dựa trên hành vi liên quan đến nhiều tính năng có thể tái sử dụng, do đó dễ dàng bảo trì.
Vậy quy trình BDD có thể được minh họa như sau:
Bản chất của ứng dụng được mô tả bằng tiếng Anh đơn giản.
Dựa trên mô tả bản chất, phát triển kịch bản kiểm thử.
Sau đó chuyển sang phát triển mã ứng dụng theo hành vi.
Thực thi các kịch bản tự động trên mã mới phát triển.
Phân tích kết quả thực thi kiểm thử.
Nếu kịch bản kiểm thử không pass, sửa lỗi trong mã.
Khi tất cả kịch bản kiểm thử pass, tái cấu trúc mã để đảm bảo chất lượng.
Terminologies Given When Then được sử dụng khi thiết kế ca kiểm thử.
Cucumber là công cụ hiện có cho Behavior Driven Testing Framework.