SlideShare a Scribd company logo
1 of 18
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

What's hot

Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmNguyễn Anh
 
Giáo trình Tester Full
Giáo trình Tester FullGiáo trình Tester Full
Giáo trình Tester FullThanh Sơn
 
Ứng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử websiteỨng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử websiteDotnet Open Group
 
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmTìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmNguyễn Anh
 
Bài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTITBài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTITNguynMinh294
 
Kiểm Thử Junit
Kiểm Thử Junit Kiểm Thử Junit
Kiểm Thử Junit Thanh Huong
 
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memHe thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memViet Hung Vu
 
[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test caseLe Vu Trung Thanh
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Nguyễn Anh
 
Báo cáo đồ án môn công nghệ phần mềm
Báo cáo đồ án môn công nghệ phần mềmBáo cáo đồ án môn công nghệ phần mềm
Báo cáo đồ án môn công nghệ phần mềmRiTa15
 
Đả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
 
API Testing & SoapUI
API Testing & SoapUIAPI Testing & SoapUI
API Testing & SoapUITran Bich
 
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
 
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
 

What's hot (20)

Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềm
 
Giáo trình Tester Full
Giáo trình Tester FullGiáo trình Tester Full
Giáo trình Tester Full
 
Ứng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử websiteỨng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử website
 
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmTìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
 
Bài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTITBài giảng kiểm thử xâm nhập PTIT
Bài giảng kiểm thử xâm nhập PTIT
 
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đĐề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
 
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đĐề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
 
Kiểm Thử Junit
Kiểm Thử Junit Kiểm Thử Junit
Kiểm Thử Junit
 
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memHe thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
 
Jmeter tool
Jmeter toolJmeter tool
Jmeter tool
 
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềmĐề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
 
[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
 
Đề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAY
Đề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAYĐề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAY
Đề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAY
 
Báo cáo đồ án môn công nghệ phần mềm
Báo cáo đồ án môn công nghệ phần mềmBáo cáo đồ án môn công nghệ phần mềm
Báo cáo đồ án môn công nghệ phần mềm
 
Đả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)
 
API Testing & SoapUI
API Testing & SoapUIAPI Testing & SoapUI
API Testing & SoapUI
 
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
 
Báo cáo Quản lý dự án phần mềm PTIT
Báo cáo Quản lý dự án phần mềm PTITBáo cáo Quản lý dự án phần mềm PTIT
Báo cáo Quản lý dự án phần mềm PTIT
 
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
 

Similar to Bdd

Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAGiải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAPopping Khiem - Funky Dance Crew PTIT
 
01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptx01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptxTunTrung15
 
Danh gia chat luong san pham mem
Danh gia chat luong san pham memDanh gia chat luong san pham mem
Danh gia chat luong san pham memUDCNTT
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggHngPhmTh35
 
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
 
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
 
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
 
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
 
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
 
PP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdfPP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdfHngVit831022
 
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptxNHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptxPhuongPhan826909
 
phan tich thiet ke he thong
phan tich thiet ke he thongphan tich thiet ke he thong
phan tich thiet ke he thongvantinhkhuc
 
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
 
Phan Tich Httt Bang Uml
Phan Tich Httt Bang UmlPhan Tich Httt Bang Uml
Phan Tich Httt Bang Umlhbgfd
 
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
 

Similar to Bdd (20)

Auto
AutoAuto
Auto
 
Chuong 2. cnpm
Chuong 2. cnpmChuong 2. cnpm
Chuong 2. cnpm
 
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAGiải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
 
01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptx01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptx
 
Danh gia chat luong san pham mem
Danh gia chat luong san pham memDanh gia chat luong san pham mem
Danh gia chat luong san pham mem
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggg
 
Quy trinh lam website
Quy trinh lam websiteQuy trinh lam website
Quy trinh lam website
 
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...
 
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)
 
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
 
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
 
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
 
PP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdfPP Thứ 6 thi vietsub.pdf
PP Thứ 6 thi vietsub.pdf
 
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptxNHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
 
phan tich thiet ke he thong
phan tich thiet ke he thongphan tich thiet ke he thong
phan tich thiet ke he thong
 
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
 
Phan Tich Httt Bang Uml
Phan Tich Httt Bang UmlPhan Tich Httt Bang Uml
Phan Tich Httt Bang Uml
 
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
 

More from HoangThiHien1

ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test typeHoangThiHien1
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycleHoangThiHien1
 
Thiet ke test case luong
Thiet ke test case luongThiet ke test case luong
Thiet ke test case luongHoangThiHien1
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testingHoangThiHien1
 
Mô tả lỗi hiệu quả
Mô tả lỗi hiệu quảMô tả lỗi hiệu quả
Mô tả lỗi hiệu quảHoangThiHien1
 

More from HoangThiHien1 (8)

ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test type
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycle
 
ISTQB Test Process
ISTQB Test ProcessISTQB Test Process
ISTQB Test Process
 
Thiet ket function
Thiet ket functionThiet ket function
Thiet ket function
 
Thiet ke test case luong
Thiet ke test case luongThiet ke test case luong
Thiet ke test case luong
 
Overview
OverviewOverview
Overview
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
 
Mô tả lỗi hiệu quả
Mô tả lỗi hiệu quảMô tả lỗi hiệu quả
Mô tả lỗi hiệu quả
 

Bdd

  • 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