Program

QA Automation

The course is intended for beginners who previously had no experience in software testing, or had a minimum of knowledge. For 152 academic hours, you will learn everything about how to automate the testing process in a Selenium project, become fully proficient in test management models and techniques, and you will also know the basics of the popular and widely demanded Java programming language.

Application to the program is currently not active
Start date

-

Duration

3.5 months/162 hours

Group size

25-30 students

Schedule

II, IV 18:30 - 21:30, VI 10:00 - 16:30

Admission requirements
Expectation

Readiness for intensive training

Language skills

Knowledge of English at least Intermediate level

Requirement

To have a personal computer or a laptop

Age

18 years and older

Upon the course completion you will::

Know how to run Selenium automation project

Get detailed understanding of testing principles and automation testing benefits

Possess basic knowledge in Java language

Program

QA Automation
4

Number of modules

Testing Fundamentals

  • Software Testing vocabulary
  • QA vs QC
  • Scope of testing
  • Software Testing Principles
  • STLC & SDLC
  • V model in testing
  • SCRUM/Agile

Types of testing

  • Manual testing vs Automation testing
  • Functional testing: Unit testing, Integration testing, Sanity /Smoke testing
  • Non Functional testing: Performance & Load, Stress, Reliability, Volume Installation, Usability, Configuration
  • Maintenance: Regression testing

Test Case

  • Test documentation: Test policy, Test strategy, Test plan, Test case
  • Test scenario: tips for creation
  • Test case template

Testing techniques

  • Boundary Value Analysis (BVA)
  • Equivalence Class Partitioning
  • Decision Table based testing
  • State Transition
  • Error Guessing

Test Management

  • Prerequisites to test planning, test estimation
  • Understand the Characteristics of the Software Being Developed
  • Build the Test Plan

Defects

  • Test Environment for Software Testing
  • Bug reporting (Defect Management Process)
  • Defect/Bug Life Cycle in Software Testing
  • IntelliJ IDEA
  • Git & GitHub
  • About Java. Classes, packages, main(). System.out. Variables, scope of visibility, primitive data types, null. Default values, type casting. Ascending vs descending type cast
  • Control structures: if-else / switch / ternary / unary operation. Logical operations: !, &&, ||. Scanner. Loops, generating pseudo-random values
  • Working with strings
  • Methods in Java
  • Objects, Comparing objects, visibility modifiers
  • Enum, static, classloader, Java Memory model. Testing Java code
  • OOP basics, abstract classes. Interfaces
  • Collection API, Lists, generics
  • Set, Stack, Queue, Map
  • Comparator / Comparable, anonymous classes, internal classes, nested class, generics. Patterns Controller-Service-DAO
  • Working with date and time. Date / time in Java 8
  • Java 8: lambda, Stream API
  • Java 8: method / constructor reference, Optional, parallel. Exceptions
  • I/O: working with files
  • NIO, serialization
  • Selenium testing intro
  • Selenium components
  • Selenium WebDriver installation
  • Locators in Selenium, CSS & XPath
  • Find Element and FindElements in Selenium WebDriver
  • TextBox, Submit Button, sendkeys(), click()
  • CheckBox and Radio Button, Image
  • Select Value from DropDown
  • Locate Elements by Link Text & Partial Link Text
  • Mouse Click & Keyboard Event
  • File Uploading & Downloading
  • Alert & Popup Window
  • Web Table
  • Handling Dynamic Web Tables Using Selenium WebDriver
  • Verify Tooltip using
  • Broken links
  • Desired Capabilities in Selenium WebDriver
  • Gecko Driver
  • Framework Installation, annotations
  • Groups: Include, Exclude
  • Test Priority in Selenium
  • Session Handling & TestNG Dependency in Selenium
  • Multiple Test Suites in Selenium
  • Listeners in Selenium
  • Report generation, reports customization
  • Selenium Grid
  • Continuous integration. Jenkins. Maven
  • Database testing
  • Cross Browser testing