2. 1. BDD là gì
2. Xây dựng BDD như thế nào?
3. Áp dụng BDD vào kiểm thử tự động
NỘI DUNG BÀI GIẢNG
3. 1. Behavior Driven Development (BDD)
• Khái niệm:
– BDD (Behavior Driven Development) là quy trình phát triển phần mềm
mở rộng từ TDD (Test driven development). Theo đó, các kịch bản
test (Scenarios) sẽ được viết trước dưới dạng feature file bằng ngôn
ngữ tự nhiên và dễ hiểu nhất với tất cả thành viên tham gia dự án từ
Stakeholder, BA, PM, Developer và QC.
– Ở TDD thì nhìn testcase là thấy code, còn ở BDD thì nhìn thấy
testcase là thấy yêu cầu.
4. 1. Behavior Driven Development (BDD)
• BDD tập trung vào
– Cung cấp quy trình, công cụ comunicate cho Dev, BA và stakeholder
trong quá trình phát triển sản phẩm với mục tiêu làm ra sản phẩm
mang đáp ứng tối đa nghiệp vụ cho người dùng
– Hệ thống nên và không nên làm gì và nên được thi công như thế nào
– Việc kiểm thử không chỉ đơn thuần là kiểm thử phần mềm mà còn
kiểm thử được tính đáp ứng của phần mềm so với đặc tả yêu cầu của
khách hàng
5. 1. Behavior Driven Development (BDD)
• Những lợi ích khi sử dụng BDD
– Tài liệu được viết dưới dạng ngôn ngữ tự nhiên, bất kỳ đối tượng nào
cũng có thể hiểu được.
– Tài liệu này luôn được cập nhật khi có bất kỳ sự thay đổi nào nên tất
cả các thành viên sẽ không bị miss thông tin khi phát triển hệ thống.
– Nâng cao chất lượng phần mềm, tạo ra sản phẩm hữu ích: Vì phát
triển phần mềm theo hướng hành vi nên có thể focus vào việc tạo ra
sản phẩm đúng với yêu cầu của khách hàng.
6. 2. Xây dựng BDD như thế nào
• Phương thức xây dựng BDD
o sử dụng ngôn ngữ Gherkin, một file Gherkin chỉ mô tả cho
một feature
o Mỗi feature sẽ quy định các scenario và steps để thực
hiện
o Mỗi step sẽ match với một đoạn code thực thi được định
nghĩa sẵn trước đó gọi là “Step Definitions”
8. 2. Xây dựng BDD như thế nào
• Các từ khóa chính trong BDD
– Feature dùng để mô tả cái tính năng chúng ta sẽ test. Trong
Feature thì có thể có nhiều scenario. Mỗi một scenario bắt đầu bằng
1 dòng mới. Trong feature hay dùng format Connextra để miêu tả rõ
ràng cái tính năng. Có 2 kiểu thường dùng như dưới
– As a [stakeholder], I want [feature] so that [benefit].
– In order to [benefit][stakeholder] wants to [feature].
– Scenario [mô tả tóm tắt nội dung kịch bản test của feature]
9. 3. Áp dụng BDD trong Automation test
• Các từ khóa chính trong BDD
Mỗi scenario thì lại gồm nhiều steps. Các steps được bắt đầu bằng
Given, When, Then.
–Given: Mô tả trạng thái ban đầu của hệ thống.
–When: Mô tả các bước hay các hành vi thực hiện trên hệ thống.
–Then: Mô tả bước kiểm tra.
–Background: để mô tả bước thực hiện trước khi chạy qua các
scenario.
–“Dữ liệu”: Dữ liệu sử dụng trong test case – có thể là giá trị cụ thể
hoặc lấy từ Excel
• Lưu ý: Trong gherkin thì sử dụng # để comment.
10. 3. Áp dụng BDD trong kiểm thử tự động
• Các bước để áp dụng BDD trong kiểm thử tự động
1. Cài đặt công cụ hỗ trợ BDD frame work
• Cài specflow extension – Là một BDD Framework, hỗ trợ
việc tạo file feature, sinh các step từ file feature
• File cài
đặtTechTalk.SpecFlow.Vs2013Integration.v2015.1.2.vsix
1. Tạo test case cho mỗi tính năng/nghiệp vụ cần kiểm tra
2. Định nghĩa các bước cần thực hiện trong mỗi step
3. Chạy thử kịch bản
11. Tạo test case cho mỗi tính năng/nghiệp vụ cần kiểm tra
• Bấm chuột phải vào project chọn context menu
Add/New Item, Chọn SpecFlow Feature File
12. Tạo test case cho mỗi tính năng/nghiệp vụ cần kiểm tra
• Soạn thảo nội dung test case
13. Định nghĩa các thao tác thực hiện cho từng step
• Bấm chuột phài vào vị trí bất kỳ trên màn hình soạn thảo file
login.feature. Chọn generate steps