Mastering Java for Testers - 21 hours

Course available to schedule for your team
Learn More

This practical course is designed to guide you from the fundamentals to an advanced level, ensuring a comprehensive understanding of all essential aspects of Java necessary for successful test automation. You will delve into object-oriented programming using one of the most popular programming languages in the market. Completion of this course is a prerequisite for three of our other courses: 'Mastering Selenium in Java with Maven, JUnit, and Jenkins,' 'REST API Test Automation with Rest Assured, Maven, and JUnit,' and 'Android Test Automation with Appium in Java, Maven, and JUnit.'


This course is ideal for individuals keen on mastering Java for use in their test automation projects. Whether you're a beginner or already have some experience, this course offers a comprehensive approach to learning Java specifically tailored for test automation purposes.


Working knowledge of Windows or MacOS
Experience with text editors, like Notepad (Windows) or Nano (MacOS)

What participants will learn?
  1. Why Java is special
  2. Principles of object-oriented programming
  3. Classes and objects
  4. String processing
  5. Inheritance
  6. Java interfaces
  7. Exception handling
  8. Java data structures

Course Outline
  • Why Java created a buzzword in software industry
    • Compiled and interpreted programming languges
    • Java platform independence
  • Java lingo
  • Eclipse as Java IDE (Integrated Development Environment)
    • Eclipse lingo: workspaces, workbench, perspectives, settings, etc.
    • Eclipse features and shortcuts
  • Classes and objects
    • Class members: fields and methods
    • Constructors
    • Getters and setters
    • Method overloading
  • Data types
    • Primitives
    • References
  • Java operators 
    • Arithmetic operators
    • Logical operators
    • Comparison operators
  • Static class members
  • Control flow statements
    • if/else
    • switch
  • Loops
    • while
    • do...while
    • for
    • break and continue in the loops 
  • OOP concepts
    • Abstraction
    • Encapsulation
  • String class: methods and manipulation
  • Arrays as a simple data structure
  • OOP concepts
    • Inheritance in Java
    • Polymorphism
  • Java interfaces
  • Exception handling
    • Checked and uncheckes exceptions
    • Keyword finally
  • Java packages
  • Access level modifiers
    • Private, public, protected, and package-private
  • Working with files
    • Read config files (key/value pairs)
    • Read and write to arbitrary files
  • Key data structures and their implementations
    • List interface
    • Map interface
    • Set interface
    • Stack and queue