SlideShare a Scribd company logo
1 of 18
Download to read offline
Behavior driven development (BDD)
Trong kiểm thử tự động
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
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.
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
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.
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”
2. Xây dựng BDD như thế nào
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]
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.
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
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
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
Đị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
Định nghĩa các thao tác thực hiện cho từng step
Định nghĩa các thao tác thực hiện cho từng step
Định nghĩa các thao tác thực hiện cho từng step
Chạy thử kịch bản
Chạy thử kịch bản

More Related Content

Similar to bdd-190104042740.pdf

ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...Vu Hung Nguyen
 
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...Working in Japan
 
Nhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmNhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmTrần Gia Bảo
 
Phong cách phát triển mở (MHST 2014)
Phong cách phát triển mở (MHST 2014)Phong cách phát triển mở (MHST 2014)
Phong cách phát triển mở (MHST 2014)Vu Hung Nguyen
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềmLượng Võ Đại
 
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdfDuongDo35
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Thuyet Nguyen
 
PP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdfPP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdfHngVit831022
 
Slide đồ án kiểm thử PM
Slide đồ án kiểm thử PMSlide đồ án kiểm thử PM
Slide đồ án kiểm thử PMNguyễn Anh
 
Kĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmKĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmPhạm Trung Đức
 
phan tich thiet ke he thong
phan tich thiet ke he thongphan tich thiet ke he thong
phan tich thiet ke he thongvantinhkhuc
 
Phan Tich Httt Bang Uml
Phan Tich Httt Bang UmlPhan Tich Httt Bang Uml
Phan Tich Httt Bang Umlhbgfd
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNguyễn Anh
 
Chuong 1- Quan Ly Du An CNTT
Chuong 1- Quan Ly Du An CNTTChuong 1- Quan Ly Du An CNTT
Chuong 1- Quan Ly Du An CNTTPhuoc Long
 
Báo cáo môn đảm bảo chất lượng phần mềm
Báo cáo môn đảm bảo chất lượng phần mềmBáo cáo môn đảm bảo chất lượng phần mềm
Báo cáo môn đảm bảo chất lượng phần mềmThuyet Nguyen
 
Giao trinh phan tich thiet ke he thong thong tin
Giao trinh phan tich thiet ke he thong thong tinGiao trinh phan tich thiet ke he thong thong tin
Giao trinh phan tich thiet ke he thong thong tinNguyen Patrick
 
Slide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmSlide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmNguyễn Anh
 
Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014Phi Phi
 
Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014Đức Lưu
 

Similar to bdd-190104042740.pdf (20)

ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
 
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
Phuongphapluanduanphanmem truyenthongvaagilengotrungvietscrumday2013-13100720...
 
Nhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmNhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềm
 
Phong cách phát triển mở (MHST 2014)
Phong cách phát triển mở (MHST 2014)Phong cách phát triển mở (MHST 2014)
Phong cách phát triển mở (MHST 2014)
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềm
 
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
123doc-giai-ngan-hang-cong-nghe-phan-mem-ptit.pdf
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
 
PP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdfPP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdf
 
Slide đồ án kiểm thử PM
Slide đồ án kiểm thử PMSlide đồ án kiểm thử PM
Slide đồ án kiểm thử PM
 
Kĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmKĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềm
 
phan tich thiet ke he thong
phan tich thiet ke he thongphan tich thiet ke he thong
phan tich thiet ke he thong
 
Phan Tich Httt Bang Uml
Phan Tich Httt Bang UmlPhan Tich Httt Bang Uml
Phan Tich Httt Bang Uml
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
 
Chuong 1- Quan Ly Du An CNTT
Chuong 1- Quan Ly Du An CNTTChuong 1- Quan Ly Du An CNTT
Chuong 1- Quan Ly Du An CNTT
 
Báo cáo môn đảm bảo chất lượng phần mềm
Báo cáo môn đảm bảo chất lượng phần mềmBáo cáo môn đảm bảo chất lượng phần mềm
Báo cáo môn đảm bảo chất lượng phần mềm
 
Giao trinh phan tich thiet ke he thong thong tin
Giao trinh phan tich thiet ke he thong thong tinGiao trinh phan tich thiet ke he thong thong tin
Giao trinh phan tich thiet ke he thong thong tin
 
Slide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmSlide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềm
 
Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014
 
Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014
 

More from PeterTran514407

Session17-Software Testing.pdf
Session17-Software Testing.pdfSession17-Software Testing.pdf
Session17-Software Testing.pdfPeterTran514407
 
Session13-Class Diagram (1).pdf
Session13-Class Diagram (1).pdfSession13-Class Diagram (1).pdf
Session13-Class Diagram (1).pdfPeterTran514407
 
Session03-Requirement (1).pdf
Session03-Requirement (1).pdfSession03-Requirement (1).pdf
Session03-Requirement (1).pdfPeterTran514407
 
Session15+16-User Story (2).pdf
Session15+16-User Story (2).pdfSession15+16-User Story (2).pdf
Session15+16-User Story (2).pdfPeterTran514407
 
Session01-BA Introduction.pdf
Session01-BA Introduction.pdfSession01-BA Introduction.pdf
Session01-BA Introduction.pdfPeterTran514407
 

More from PeterTran514407 (6)

Session17-Software Testing.pdf
Session17-Software Testing.pdfSession17-Software Testing.pdf
Session17-Software Testing.pdf
 
Session13-Class Diagram (1).pdf
Session13-Class Diagram (1).pdfSession13-Class Diagram (1).pdf
Session13-Class Diagram (1).pdf
 
Session07-Diagram.pdf
Session07-Diagram.pdfSession07-Diagram.pdf
Session07-Diagram.pdf
 
Session03-Requirement (1).pdf
Session03-Requirement (1).pdfSession03-Requirement (1).pdf
Session03-Requirement (1).pdf
 
Session15+16-User Story (2).pdf
Session15+16-User Story (2).pdfSession15+16-User Story (2).pdf
Session15+16-User Story (2).pdf
 
Session01-BA Introduction.pdf
Session01-BA Introduction.pdfSession01-BA Introduction.pdf
Session01-BA Introduction.pdf
 

bdd-190104042740.pdf

  • 1. Behavior driven development (BDD) Trong kiểm thử tự động
  • 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”
  • 7. 2. Xây dựng BDD như thế nào
  • 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
  • 14. Định nghĩa các thao tác thực hiện cho từng step
  • 15. Định nghĩa các thao tác thực hiện cho từng step
  • 16. Định nghĩa các thao tác thực hiện cho từng step