Kiểm thử tự động với Selenium (Java, TestNG, Cucumber)

date_range Dự kiến khai giảng: 05/03/2018
access_time Giờ học T2, 4, 6 (18h30)

Giới thiệu khóa học

Bạn là một kiểm thử viên? Bạn đang cảm thấy căng thẳng khi các dự án có nhiều bug, công việc của bạn luôn trong tình trạng rối bời vì quá nhiều việc. Bạn muốn một giải pháp? Vậy khóa học này là dành cho bạn.

Bạn đang là Tester cho công ty hàng đầu về gia công phần mềm, công ty bạn đang vận hành theo Agile Scrum, bạn muốn làm chủ quá quá trình kiểm thử trong  Continuous Integration. Vậy đây là khóa học dành cho bạn.

Bạn là sinh viên, bạn sắp ra trường và bạn muốn làm việc trong một môi trường năng động với mức lương cao mà không phải vật lộn với những dòng code phức tạp và khô khan. Vậy khóa học này là dành cho bạn.

Kiểm thử tự động Với Selenium và Java là khóa học được thiết kế cho những người muốn theo đuổi đam mê trở thành một ký sư kiểm thử tự động, chuyên gia vận hành các hệ thông Continuous Integration trong các công ty phần mềm hàng đầu tại Việt Nam cũng như quốc tế. Khóa học sẽ trang bị cho bạn những kiến thức chuyên sâu về Selenium, TestNG, Cucumber, Gherkin qua đó trang bị hành trang cho bạn tiến vào thế giới của các kỹ sư kiểm thử cấp cao - kiểm thử tự động.

Nôi dung khóa học

Khóa học được các giảng viên của chúng tôi hiện là chuyên gia kiểm thử đang vận hành kiểm thử tự động Tại FPT Software thiết kế khoa học và chi tiết với 3 giai đoạn phù hợp với từng giai đoạn phát triển kỹ năng của người học. 

Giai đoạn 1: Học viên sẽ được trang bị các kiến thức cơ bản về kiểm thử tự động, cách thức vận hành. Ngôn ngữ lập trình Java cơ bản cho Tester.

Giai đoạn 2: Học viên sẽ tìm hiểu từ cơ bản đến chuyên sâu về công cụ Selenium Webdriver vận hành trên 2 Framework phổ biến là TestNG Cucumber cũng như làm việc với các hệ thống Continuous Integrations.

Giai đoạn 3: Workshop - làm dự án Automation Test với Agile Scrum sử dụng Cucumber và Webdriver

Sau đây là chi tiết 20 bài học (tương ứng 62 giờ) trong khóa học

Bài 01 (4h):  Automation - Mục tiêu của bài học là giúp học viên tìm hiểu cơ bản về Automation Test, sự khác nhau giữa kiểm thử bằng tay và kiểm thử tự động cũng như tiềm năng của Automation Test trong ngành công nghiệp phần mềm tại Việt Nam cũng như trên thế giới.

  • Tìm hiểu về Automation Testing.
  • Quy trình kiểm thử trong Automation Testing.
  • Các công cụ sử dụng trong Automation Testing.
  • Tại sao Automation là tương lai của nghề kiểm thử? Tiềm năng của Automation Testing.
  • Tìm hiểu về Slenium, lợi thế của Selenium. 
  • Giới thiệu về Selenium IDE, RC Webdriver & Grid


Bài 02 (10h): Java for QA - Trong bài học này, học viên sẽ được trang bị các kiến thức về Java cho QA. Hiểu các khái niệm về OOPs cơ bản và các khái niệm trong Java. Nắm được những khái niệm này là rất cần thiết cho bạn để trở thành một kỹ sư kiểm thử tự động. Java For QA được chúng tôi thiết kế đặc biệt giúp bạn dễ dàng tiếp cận mà ko cần có nhiều kỹ năng liên quan tới lập trình.

  • Data Types and Variables
  • String Class
  • Arithmetic Operators & Concatenation operators
  • Conditional & Decision Making
  • Single Dimensional Array
  • Double Dimensional Array
  • Loops (For, While, Nested, Do While Loop)
  • Classes and Objects
  • Class Constructors
  • Functions in Java 
  • Function Input Parameters 
  • Function Return Types


Bài 03 (2h): Eclipse IDE - Bài này sẽ giúp bạn tìm hiểu về công cụ mà chúng ta sẽ sử dụng để phát triển các TestScript về sau, việc thành thạo công cụ là cực kỳ quan trọng trong công việc của một người kiểm thử tự động.

  • How to use Eclipse
  • How to run, stop, pause
  • How to debug in Eclipse
  • Understanding console output
  • How to put a break point
  • How to add Watch variables
  • How to find errors from Problem window
  • Usage of step into and Step over debug functionality


Bài 04 (2h): Set up Eclipse - Việc hiểu được về Eclipse trong bài trước đã giúp cho học viên làm chủ môi trường phát triển Test Script về sau. Trong bài này, học viên sẽ tiếp tục cài đặt các công cụ, các thư viện cho môi trường phát triển của mình. Trong bài này, chúng ta cũng tìm hiểu về các cấu trúc Project sẽ sử dụng trong kiểm thử tự động để có thể tích hợp lên các hệ thống Continuous Integration về sau.

  • Download and install java
  • Download and start Eclipse
  • Download and configure WebDriver java client
  • Set up a project
  • Create packages
  • Create a First Java test case
  • Import WebDriver Source file


Bài 05 (2h): WebDriver Interface - Bài học này sẽ giúp bạn làm quen Selenium Webdriver cũng như tìm hiểu cách thức làm việc của Webdriver. Bạn sẽ bắt đầu viết Script đầu tiên và chạy chúng trên các trình duyệt khác nhau như Chrome, Firefox. Cuối bài, bạn sẽ được tìm hiểu về các câu hỏi phỏng vấn về Webdriver.

  • Architecture of WebDriver
  • WebDriver Interface
  • WebElement Interface
  • Launch Firefox Browser
  • Launch Chrome Browser


Bài 06 (2h): Browser & Navigation Commands - Làm việc với Browser là một trong những hoạt động không thể bỏ qua khi một người làm Test Script cho ứng dụng Web. Browser là nơi tương tác chính với ứng dụng Web do đó chúng ta cần phải làm chủ Browser trước tiên.

  • How to Open a URL
  • Verify Page Title
  • Strategy to get the Page Source
  • Difference beetween Close & Quit
  • Ways to Navigate Back & Forward
  • How to Refresh Page
  • Another way of Navigating to specific Page


Bài 07 (2h): WebElement Commands - Mục tiêu khi tạo TestScript là điều khiển công cụ tương tác với các thành phần trên Webpage thay cho hoạt động của con người. Trong bài này, chúng ta sẽ tìm hiểu về WebElement, cách làm việc với các thành phần này trên Webpage.

  • Sự khác biệt giữa 2 phương thức FindElement và FindElements
  • Nhập và xóa dữ liệu khi làm việc với Input Field (Text box).
  • Hành động Click làm việc thế nào giữa các thành phần khác nhau.
  • Tìm tất cả các liên kết trên Page.
  • Chiến lược kiểm tra các link chết trên trang web.
  • Làm việc với nhiều đối tượng trên web page.
  • Cách kiểm tra 1 object có được xuất hiện trên web page, có được hiển thị, có được Enabled hoặc được chọn.


Bài 08 (4h): Locators  - Trong bài này chúng ta sẽ tìm hiểu về HTML, cách thức để xác định các thành phần có trong một trang HTML cũng như những khái niệm về UI Repository và cách thức tổ chức (Page Object Model, Page Factory v.v..)

  • Locators là gì?
  • Lý thuyết HTML cơ bản
  • Tìm hiểu về các Tag, và thuộc tính trong HTML.
  • CSSSelector, các kết hợp hữu ích.
  • Lý thuyết về XPATH, xác định một phần tử bằng XPATH.
  • Tổ chức UI Repository (Page Object Model, Page Factory).


Bài 09 (2h): Tables, Checkboxes & Radio buttons Trong một số các ứng dụng có cấu trúc khá phức tạp sử dụng các cấu trúc HTML như Table, Checkbox, List v.v... Trong bài này, bạn sẽ được tìm hiểu các cách thức làm việc với các đối tượng này.

  • Làm việc với Table Rows và Coumns
  • Trích xuất dữ liệu từ Table Cell
  • Làm việc với đối tượng danh sách chọn (Select)
  • Điều khiển Drop Down
  • Chọn nhiều giá trị từ đối tượng danh sách (List)
  • Select & Deselect bằng Index, Value & Visible Text.


Bài 10 (2h): Selenium Waits, Alert & Switch Windows Bắt đầu từ bài này, chúng ta sẽ tìm hiểu những khái niệm phức tạp hơn trong khi làm việc với Selenium Web Driver. Mở đầu những khái niệm phức tạp hơn đó là các hoạt động chờ - Wait khi thực hiện kiểm thử. Khi bạn thực hiện kiểm thử bằng tay, chúng ta phải chờ chương trình xử lý để cho kết quả đầu ra. Vậy hoạt động này thực hiện trong Selenium như thế nào?

  • Tìm hiểu về Implicit và Explixit waits.
  • Sử dụng chờ có điều kiện (Expected Condition Waits).
  • Tìm hiểu về thuộc tính PageLoadTimeout & SetScriptTimeout
  • Đơn giản hóa việc sử dụng Thread Sleep
  • Khái niệm về Fluent Wait trong Selenium
  • Sự khác nhau giữa các điều kiện chờ.
  • Làm việc với các thành phần trao đổi dữ liệu dùng Ajax.
  • Khái niệm về Windows ID, Windows Handle & Handles.
  • Chuyển đổi (Switching) và đóng (Closing) windows.


Bài 11 (2h): Action Class Selenium Webdriver cung cấp cho người phát triển Automation Script một lớp riêng mô phỏng các hoạt động, thao tác của người kiểm thử. Mọi hoạt động của người kiểm thử Manual đều có thể được thay thế bằng các phương thức của lớp này. Đó chính là Action.

  • Tìm hiểu về Acton Class - Chúng ta có thể làm gì với nó.
  • Mô phỏng hoạt động Mouse Hover & Mouse Movement với lớp Action.
  • Tìm tọa độ của một đối tượng Web.
  • Các thao tác kéo thả (Drag - Drop) dùng Action.


Bài 12 (2h): Browser Profile Khác biệt giữa Browser Profiles và User Authentication sẽ được tìm hiểu trong bài này. Chúng ta sẽ viết Test Script để kiểm thử ứng dụng web bảo mật có xác thực người dùng.

  • Browser Profile là gì?
  • Thiết lập Profile trên Firefox, IE, Chrome
  • Tìm hiểu về HTTP User Authentication
  • Tạo và sử dụng Certificate trong Test Script.


Bài 13 (4h): TestNG Framework - Là một trong những Frameworks được sử dụng phổ biến trong việc xây dựng các kịch bản kiểm thử tự động. Trong bài này chúng ta sẽ từng bước làm chủ bộ khung làm việc của một chương trình kiểm thử tự động dùng TestNG

  • TestNG là gì?
  • Lợi ích và tính năng của TestNG
  • Cài đặt TestNG
  • Tìm hiểu về các Annotation trong TestNG
  • Làm sao chạy một Test Suite trong TestNG
  • Tìm hiểu Groups trong TestNG
  • Tìm hiểu về Reporters trong TestNG
  • TestNG Assets
  • TestNG Prameters
  • Muti Browser Testing trong TestNG
  • Kiểm thử song song (Parallel testing trong TestNG).


Bài 14 (4h): Automation Framework Trong bài này bạn sẽ được tìm hiểu về hầu hết các Frameworks hiện đang được giới kiểm thử tự động sử dụng. Qua đó bạn hãy chọn cho mình một số các Frameworks để sử dụng để phát triển Script trên đó.

  • Khái niệm về Automation Framework
  • Tính năng của một Automation Framework
  • Data Drivent Framework
  • Modular Driven Framework
  • Keyword Driven Framwork
  • Hybrid Framework


Bài 15 (8h): LIVE PROJECT Bạn sẽ áp dungj tất cả các kiến thức đã tích lũy được qua 14 bài học vừa qua để thực hiện dự án này.

  • Tạo dự án Automation Test
  • Thiế kế Test Data Provider (Excel).
  • Thiết kế Run Data Provider (Text/Property file)
  • Thiết lập ANT/Maven Build Tool
  • Factory Pattern Design
  • Browser Factory Design
  • Data Provider Factory Design
  • Tạo Page Object & Object Repository
  • Viết Test Script, thực hiện kiểm thử
  • Thiết kế Test Runner cho Framework
  • Quản lý lỗi (Error logging)
  • Báo cáo kiểm thử, TestNG listeners, Log file 
  • Xuất báo cáo kiểm thử dưới dạng HTML
  • Tạo file BAT thực hiện kiểm thử.


Bài 16 - 20 (10h): WORKSHOP - AGILE AUTOMATION TESTING 

  • Hiểu đúng về Agile Scrum
  • Tìm hiểu các hoạt động kiểm thử trong Agile Scrumt
  • Tìm hiểu về User Story, Acceptance Criteria
  • Behavior Driven Development 
  • Gherkin - Viết kịch bản kiểm thử cho Acceptance Criteria
  • Tìm hiểu về Cucumber 
  • Viết kịch bản kiểm thử dùng Cucumber + Selenium WebDriver
  • Tìm hiểu về Continuous Integration
  • Cài đặt và cấu hình Jenkin
  • Triển khai kịch bản kiểm thử.



"Chúng tôi chỉ dạy bạn những gì mà doanh nghiệp cần. Chất lượng của bạn là thành công của chúng tôi, và chúng tôi đảm bảo với bạn điều đó!"



Chịu trách nhiệm nội dung đào tạo

Ths: Khánh Trần      

HỌC Ở TESTMASTER NHƯ NÀO?

  • Tham gia học trên lớp
    Mỗi khóa học, học viên sẽ học tập trung trên lớp dưới sự hướng dẫn của các chuyên gia trong lĩnh vực kiểm thử đến từ FPT Software
  • Tự học lại trên giáo trình điện tử
    Mỗi bài học sẽ có giáo trình điện tử để học viên có thể học lại bất cứ khi nào, bất cứ nơi đâu
  • Tham gia làm dự án thực tế
    Sau khi trang bị đầy đủ các kiến thức, học viên được tham gia vào các dự án thực tế để tích lũy kinh nghiệm làm việc
  • Cấp chứng chỉ & đi làm
    Kết thúc khóa học, học viên sẽ được đánh giá cấp chứng chỉ và hỗ trợ việc làm. Hỗ trợ thực tập, làm đồ án cho sinh viên