SlideShare a Scribd company logo
1 of 28
Automation
Testing
Hoàng Hiền –KTCG - HCT
Nội dung
1. Automation Testing và ứng dụng BDD (behavior
driven developmetn) trong automation
WebApp Automation
■ Công cụ để Automation test
cho WebApp
■ Cách nhận diện và điều khiển
đối tượng trên webApp
■ Cách kiểm tra kết quả mong
đợi khi automation cho
webApp
Desktop Automation
■ Công cụ để Automation test
cho Desktop
■ Cách nhận diện và điều khiển
đối tượng trên Desktop
■ Cách kiểm tra kết quả mong
đợi khi automation cho
Desktop
1.
Automation Testing
Tổng quan về Automation test và ứng dụng BDD
vào thiết kế test case Automation
Nội dung
1. Automation testing and its benefits
2. When to do Automation Testing
3. BDD (Behavior driven development) in Automation
testing
1. Automation testing and its benefits
Manual Testing Automation Testing
A process that makes use of automation testing tools to excute
prescripted tests on aplications, then compares the test results
to the expected behavior and reports it to the tester
1. Save time and money
• They can be repeated again and again
• They can execute overnigh
2. Reusale: Automation testing toool allow to reuse the
scripts on different versions of the application
3. Increase test coverage
1. Automation testing and its benefits
2. When to do Automation Testing
1. Need to run the test cases a lot number of times
2. The number test cases is high, and these will be run
more than once
3. The test case wont be frequently updated
3. Behavior driven development
3.1. Khái niệm BDD, lợi ích khi sử dụng BDD
3.2. Cài đặt, khởi tạo project BDD
3.3. Viết nội dung test case bằng BDD
Behavior driven development
Quy trình phát triển phần mềm theo đó Kịch bản test được viết trước dưới dạng
feature file bằng ngôn ngữ tự nhiên
3.1. Khái niệm BDD, 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.
• 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.
3.1. Khái niệm BDD, lợi ích khi sử dụng BDD
• Cài đặt specflow để viết test case dạng BDD (Bộ cài:
hthienSETUPAuto)
• Tạo Project Test
• Add các reference cần thiết (hthienSETUPAutoLib)
• TechTalk.SpecFlow.dll
• Setting config để đảm bảo nội dung file .cs tự sinh khi viết
testcase
3.2. Cài đặt, khởi tạo project BDD
1. Tạo file test case
2. Các viết nội dung test case
3. Mô tả các thao tác của từng bước trong test case
Một số lưu ý:
-Mỗi một file Feature nên gắn với 1 tính năng cần kiểm tra
-Nên chia nhỏ các test case để đảm bảo các case chạy độc lập nhau
-Không nên sử dụng kết quả của test case trước để làm đầu vào
cho test case sau
3.3. Viết test case sử dụng BDD
Một số lưu ý: Mỗi file test case là 1 tính năng cần kiểm tra (trong đó sẽ
chứa các test case cần kiểm tra của tính năng đó) – Tương đương như
một test suite
Tạo file Test case
Viết nội dung Test case
Feature dùng để mô tả cái tính năng chúng ta sẽ test
Scenario [mô tả tóm tắt nội dung kịch bản test của feature]
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: 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
Mỗi scenario gồm nhiều steps. Các steps được bắt đầu bằng Given, When,
Then. Dùng # để comment
Mô tả các thao tác của từng bước thực hiện
Các bước chưa có nội dung mô tả
■Generate nếu chưa có file mô tả
■Copy methods to clipboard và paste vào file Step trong trường hợp đã có file
mô tả các bước
Mô tả các thao tác của từng bước thực hiện
Mô tả các thao tác của từng bước thực hiện
Chỉnh sửa các bước đã có nội dung
2.
WebApp Automation Testing
How to make script automation test for WebApp
Nội dung
1. Tổng quan về Selenium
2. Nhận diện và điều khiển đối tượng thao tác trên
WebApp
3. Kiểm tra kết quả mong đợi trên WebApp
4. Một số hàm chung sử dụng trong Automation
WebApp Test cho các sản phẩm của HCT
1. Tổng quan về Selenium
1. Selenium là: công cụ mã nguồn mở giúp kiểm thử tự
động các ứng dụng web dựa trên việc tái thực hiện các
thác của người dùng và so sánh kết quả theo kịch bản
được định nghĩa
2. Làm thế nào để ứng dụng Selenium vào hoạt động kiểm
thử?
• Add reference để thực thi test Selenium (WebDriver.dll,
WebDriver.Support.dll)
• Add Driver vào project
• Add thêm một số các hàm dùng chung để hỗ trợ công tác
3.
Desktop Automation Testing
How to make script automation test for Desktop Program
Nội dung
1. Cài đặt và thiết lập công cụ auto testing cho sản phẩm
Desktop
2. Nhận diện và điều khiển đói tượng thao tác trên phần
mềm Desktop
3. Kiểm tra kết quả mong đợi trên phần mềm Desktop
Auto

More Related Content

What's hot

[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
 
Nhập môn BDD
Nhập môn BDDNhập môn BDD
Nhập môn BDDNgoc Dao
 
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
 
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
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ 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 (8)

[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
 
Nhập môn BDD
Nhập môn BDDNhập môn BDD
Nhập môn BDD
 
Unit Test
Unit TestUnit Test
Unit Test
 
Slide đồ án kiểm thử PM
Slide đồ án kiểm thử PMSlide đồ án kiểm thử PM
Slide đồ án kiểm thử PM
 
01 tester training - overview
01  tester training - overview01  tester training - overview
01 tester training - overview
 
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
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie 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Ề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 Auto

Test Driven development
Test Driven developmentTest Driven development
Test Driven developmentMU VN
 
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
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)Đông Đô
 
Cnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinhCnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinhKy Vo
 
Ứ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
 
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
 
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
 
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
 
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptxkiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptxLnNguynThnh4
 
Tailieu.vncty.com t ke-testcase
Tailieu.vncty.com   t ke-testcaseTailieu.vncty.com   t ke-testcase
Tailieu.vncty.com t ke-testcaseTrần Đức 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
 
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
 

Similar to Auto (20)

bdd-190104042740.pdf
bdd-190104042740.pdfbdd-190104042740.pdf
bdd-190104042740.pdf
 
VTV Mobile Performace Test
VTV Mobile Performace TestVTV Mobile Performace Test
VTV Mobile Performace Test
 
Test Driven development
Test Driven developmentTest Driven development
Test Driven development
 
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
 
Kiem tra phan mem
Kiem tra phan memKiem tra phan mem
Kiem tra phan mem
 
Kiem thu
Kiem thuKiem thu
Kiem thu
 
Chuong 2. cnpm
Chuong 2. cnpmChuong 2. cnpm
Chuong 2. cnpm
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)
 
Cnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinhCnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinh
 
Ứ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
 
Automation Testing & TDD
Automation Testing & TDDAutomation Testing & TDD
Automation Testing & TDD
 
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
 
Đề tài: Công cụ sinh dữ liệu thử tự động cho chương trình Java
Đề tài: Công cụ sinh dữ liệu thử tự động cho chương trình JavaĐề tài: Công cụ sinh dữ liệu thử tự động cho chương trình Java
Đề tài: Công cụ sinh dữ liệu thử tự động cho chương trình Java
 
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
 
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
 
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptxkiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
 
Tailieu.vncty.com t ke-testcase
Tailieu.vncty.com   t ke-testcaseTailieu.vncty.com   t ke-testcase
Tailieu.vncty.com t ke-testcase
 
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
 
CHUONG 2.pdf
CHUONG 2.pdfCHUONG 2.pdf
CHUONG 2.pdf
 
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
 

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ả
 

Auto

  • 2. Nội dung 1. Automation Testing và ứng dụng BDD (behavior driven developmetn) trong automation WebApp Automation ■ Công cụ để Automation test cho WebApp ■ Cách nhận diện và điều khiển đối tượng trên webApp ■ Cách kiểm tra kết quả mong đợi khi automation cho webApp Desktop Automation ■ Công cụ để Automation test cho Desktop ■ Cách nhận diện và điều khiển đối tượng trên Desktop ■ Cách kiểm tra kết quả mong đợi khi automation cho Desktop
  • 3. 1. Automation Testing Tổng quan về Automation test và ứng dụng BDD vào thiết kế test case Automation
  • 4. Nội dung 1. Automation testing and its benefits 2. When to do Automation Testing 3. BDD (Behavior driven development) in Automation testing
  • 5. 1. Automation testing and its benefits Manual Testing Automation Testing A process that makes use of automation testing tools to excute prescripted tests on aplications, then compares the test results to the expected behavior and reports it to the tester
  • 6. 1. Save time and money • They can be repeated again and again • They can execute overnigh 2. Reusale: Automation testing toool allow to reuse the scripts on different versions of the application 3. Increase test coverage 1. Automation testing and its benefits
  • 7. 2. When to do Automation Testing 1. Need to run the test cases a lot number of times 2. The number test cases is high, and these will be run more than once 3. The test case wont be frequently updated
  • 8. 3. Behavior driven development 3.1. Khái niệm BDD, lợi ích khi sử dụng BDD 3.2. Cài đặt, khởi tạo project BDD 3.3. Viết nội dung test case bằng BDD
  • 9. Behavior driven development Quy trình phát triển phần mềm theo đó Kịch bản test được viết trước dưới dạng feature file bằng ngôn ngữ tự nhiên 3.1. Khái niệm BDD, lợi ích khi sử dụng BDD
  • 10. • 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. • 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. 3.1. Khái niệm BDD, lợi ích khi sử dụng BDD
  • 11. • Cài đặt specflow để viết test case dạng BDD (Bộ cài: hthienSETUPAuto) • Tạo Project Test • Add các reference cần thiết (hthienSETUPAutoLib) • TechTalk.SpecFlow.dll • Setting config để đảm bảo nội dung file .cs tự sinh khi viết testcase 3.2. Cài đặt, khởi tạo project BDD
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. 1. Tạo file test case 2. Các viết nội dung test case 3. Mô tả các thao tác của từng bước trong test case Một số lưu ý: -Mỗi một file Feature nên gắn với 1 tính năng cần kiểm tra -Nên chia nhỏ các test case để đảm bảo các case chạy độc lập nhau -Không nên sử dụng kết quả của test case trước để làm đầu vào cho test case sau 3.3. Viết test case sử dụng BDD
  • 17. Một số lưu ý: Mỗi file test case là 1 tính năng cần kiểm tra (trong đó sẽ chứa các test case cần kiểm tra của tính năng đó) – Tương đương như một test suite Tạo file Test case
  • 18. Viết nội dung Test case Feature dùng để mô tả cái tính năng chúng ta sẽ test Scenario [mô tả tóm tắt nội dung kịch bản test của feature] 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: 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 Mỗi scenario gồm nhiều steps. Các steps được bắt đầu bằng Given, When, Then. Dùng # để comment
  • 19.
  • 20. Mô tả các thao tác của từng bước thực hiện Các bước chưa có nội dung mô tả
  • 21. ■Generate nếu chưa có file mô tả ■Copy methods to clipboard và paste vào file Step trong trường hợp đã có file mô tả các bước Mô tả các thao tác của từng bước thực hiện
  • 22. Mô tả các thao tác của từng bước thực hiện Chỉnh sửa các bước đã có nội dung
  • 23. 2. WebApp Automation Testing How to make script automation test for WebApp
  • 24. Nội dung 1. Tổng quan về Selenium 2. Nhận diện và điều khiển đối tượng thao tác trên WebApp 3. Kiểm tra kết quả mong đợi trên WebApp 4. Một số hàm chung sử dụng trong Automation WebApp Test cho các sản phẩm của HCT
  • 25. 1. Tổng quan về Selenium 1. Selenium là: công cụ mã nguồn mở giúp kiểm thử tự động các ứng dụng web dựa trên việc tái thực hiện các thác của người dùng và so sánh kết quả theo kịch bản được định nghĩa 2. Làm thế nào để ứng dụng Selenium vào hoạt động kiểm thử? • Add reference để thực thi test Selenium (WebDriver.dll, WebDriver.Support.dll) • Add Driver vào project • Add thêm một số các hàm dùng chung để hỗ trợ công tác
  • 26. 3. Desktop Automation Testing How to make script automation test for Desktop Program
  • 27. Nội dung 1. Cài đặt và thiết lập công cụ auto testing cho sản phẩm Desktop 2. Nhận diện và điều khiển đói tượng thao tác trên phần mềm Desktop 3. Kiểm tra kết quả mong đợi trên phần mềm Desktop

Editor's Notes

  1. <configSections> <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" /> </configSections> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <specFlow> <unitTestProvider name="mstest" /> <!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config --> </specFlow>