
Master Java from zero for testers, covering basics, data types, methods, and object oriented programming, then work with files and test frameworks to automate tests.
Select the highest video resolution and enable auto-switch based on speed. Use the resources and Q&A, share screenshots, and practice problem solving with Stack Overflow to build your test framework.
Plan for this course outlines ten sections, from an introduction to core Java topics through data types, methods, classes, and test frameworks like G-Unit.
Access all course code on GitHub, navigate by section and lecture numbers (e.g., section five, lecture 20), open Java files, read them, and copy and paste into your IDE.
Install the Java development kit and verify the Java version to enable Java-based test automation, using the recommended JDK versions and available step-by-step resources.
Install and configure a Java IDE to write, debug, and test Java code; learn debugging, syntax highlighting, build automation, and code completion, and compare Eclipse and IntelliJ IDEA.
Create your first Java project in the intelligent interface with JDK 11, name it in camel case with no spaces, and explore the project structure.
Create your first Java class and explore object oriented basics, including a public class as a blueprint with attributes and methods and a class body in curly brackets.
Learn that the Java main method is the program’s entry point, public static void main(String[] args) used to start a program, while automation tests rely on test annotations.
Run java applications by adding code to the main method and printing to the console with System.out.println, then verify execution with exit code zero and hello world output.
Learn how Java uses variables as containers for values, declare and initialize integers and strings, follow camelCase naming, and print combined sentences using variables.
Explore data types in Java, comparing primitive types and non primitive data types (reference types), and how size, values, nullability, and the ability to call methods distinguish them.
Master Java's eight primitive data types: boolean, char, byte, short, int, long, float, and double, and learn how integer and floating point types differ, with a practical data types demo.
Explore type casting in Java by performing widening casting from byte to int and narrowing casting from double to int, using explicit casts and System.out.println to verify results.
Explore non primitive data types in Java, including reference types like strings, arrays, classes, and interfaces; learn that strings are objects and classes act as blueprints with methods.
Explore strings in Java, create string variables, and print them. Learn the length method, toUpperCase, and toLowerCase, concatenation with plus, and escape sequences including quotes and newlines for test automation.
Declare and use arrays in Java to store multiple values in a single variable, including strings and integers. Access by zero-based indices, modify elements, and loop to print each value.
Explore how Java operators work, including arithmetic, assignment, comparison, and logical operators, with examples of incrementing variables and evaluating expressions for test automation.
Explore Java conditional statements using if, else, and else if to execute code based on boolean conditions, compare values, and combine conditions with logical operators; see nested and multi-branch examples.
Explore Java switch statements, using case, break, and default to map month numbers to names, with examples and a test automation scenario for choosing web drivers.
Develop a Java program using if-else chains to print numbers' status: negative, zero, small, less than 100, too big, and Jordan for 23, with notes on condition order.
Apply a Java switch statement to map day numbers 1–7 to weekdays, using cases, breaks, and a default, then test outputs and consolidate understanding of switch behavior.
Learn how to use for loops in Java to execute a block of code with initialization, a condition, and increment, and iterate over pages, lists, or arrays.
Explore the differences between for and while loops in Java, including condition-driven execution and avoiding infinite loops with increments; also review do-while behavior and variable scope.
Learn how to use break and continue in java loops, exit the loop at i equals five, skip an iteration at i equals two, and observe loop transitions with prints.
Learn to use try catch blocks to handle Java exceptions and prevent program failure when an index out of bounds occurs. Catch specific exceptions like file not found.
Practice implementing a Java for loop that prints numbers from 50 to 0 in steps of 5, illustrating initialization, condition, and update, and verify the output.
Replace all occurrences of the letter o with zero in a string by iterating with a while loop, using length and charAt, building a new result, as in hello world.
Learn how a Java method groups statements into a block that runs when called, accepts parameters, has no return value, and supports code reuse and console output from main.
Learn how to define and call Java methods with parameters, pass strings and integers, and print results like names and ages.
Learn how method overloading works in Java for testers, using the same method name with int and double parameters to sum inputs and observe the compiler selecting the correct version.
Explore how to implement a method return type in Java by converting a void method to one that returns an integer square, using return statements and illustrating usage with System.out.println.
Write a private static int method that computes the average of three integers and returns it, then call it from main and print the result.
Learn object oriented programming in Java, focusing on classes as blueprints and objects as instances, and explore how OOP improves flexibility, maintainability, reuse, and reduces code.
Demonstrate classes and objects in Java by defining a class with a private field and a public print number method, then instantiate multiple objects to observe their behavior.
Illustrate classes and objects by creating a lamp class with a private boolean light status and a print method that reports on or off, showing two instances with separate state.
Learn how Java constructors initialize new objects, with no-args, default, and parameterized constructors, and how private fields and this reference guide object setup in a lamp example.
Understand how access modifiers control the visibility of class members, such as fields, methods, and constructors, across packages, subclasses, and all classes, to support encapsulation.
Learn to implement a programming class with a language field and a learning complete flag, expose a status method to show learning or mastered, and demonstrate status changes in main.
Explain the static keyword in Java, its memory management, and how class-level variables and methods are shared across all instances.
Explore the four pillars of object oriented programming: encapsulation, abstraction, inheritance, and polymorphism, and how they shape clean, testable Java code in test automation frameworks and page object models.
Learn how encapsulation hides sensitive data by declaring private variables and exposing them through public getters and setters in a Cat class.
Explore abstraction in Java using abstract classes and methods to hide details and expose essentials. Abstract classes cannot be instantiated and must be inherited to implement abstract methods.
Learn how to implement inheritance in Java by extending the animal class with a cat, implementing abstract methods like make sound, and reusing sleep from the superclass.
Explore polymorphism in Java by overriding the animal's make sound method in subclasses like dog and cat, showing how a single method yields bark or meow.
Override methods to change inherited behavior, as shown by the dog class overriding the animal class's make sound and sleep methods, with the @Override annotation signaling the override for readability.
Learn how the super keyword in Java lets subclasses access superclass members, constructors, and methods. See how to call the parent constructor from a subclass and disambiguate inherited attributes.
Discover Java interfaces, with abstract methods and no bodies, enabling abstraction and specifications; a class can implement multiple interfaces but cannot instantiate interfaces.
Create a java class hierarchy with car as superclass and sedan and coupe as subclasses, including make, model, miles, price, and doors, plus drive and for-sale methods.
Explore how Java's java.time API handles date and time for test automation by using LocalDate, LocalTime, LocalDateTime, and DateTimeFormatter to format outputs with custom patterns.
Explore ArrayList as a dynamic, resizable array that grows with added elements; declare and import, then use add, get, set, remove, size, contains, indexOf, isEmpty, and for loops.
Learn to use the Java hash map class to store key-value pairs, access and modify entries, remove items, and view keys, values, and pairs for test automation.
Learn how the iterator interface lets you traverse Java collections such as array lists and hash maps using next and for-each loops, and print keys and values.
Create an array list of maps to turn spreadsheet rows of student data into hash maps for data-driven test automation in Java.
Traverse the array list of maps with a for loop, check each student's grade, and print the first and last names for those who earned an A.
Learn to work with files in Java using the File class from the Java I/O package, exploring methods like createNewFile, delete, exists, getName, getAbsolutePath, length, list, and mkdir.
Learn how to create a file in Java by constructing a File object, handling an IOException with a catch block, and printing whether the file was created or not.
Learn to write text to a file in Java using a file writer, handle io exceptions, and create and write to files in one step while ensuring the writer closes.
Learn to read a text file in Java using File and Scanner, handle file not found exceptions, read lines with hasNextLine, print output, and observe that writing overwrites content.
Explore deleting a file in Java: print hello to a file, read it with a scanner, display the file name, absolute path, and size, then delete the file.
Learn how testing frameworks organize unit, bdd, and mock testing in Java. See how guidelines, coding standards, test data, and repositories improve automated testing speed, accuracy, and maintainability.
Compare two popular Java test frameworks: TestNG and JUnit, and examine their setup, annotations, parameterization, and test suites.
Set up a maven project for JUnit testing, verify Maven installation, add the JUnit dependency to pom.xml, and create a calculator class with add and multiply methods for unit tests.
Create your first jUnit tests in Java for testers by building test classes, using @Test, and asserting calculator operations such as addition and multiplication.
Move duplicated test setup into a setup method annotated with before each annotation, and see how before all, after, and after all manage global teardown steps and static rules.
Learn to run the same test with multiple data sets using parameterized tests in Java, using a data provider and method source to supply inputs and expectations.
Learn to skip a test in Java for testers by removing or commenting out the @Test annotation or using the disabled annotation, with guidance from the G-Unit documentation.
Master debugging tests in Java by using breakpoints, running in debug mode, inspecting variables, and stepping over, into, and out to verify results.
Explore discount coupons for my Java for Testers and other test automation courses. Learn how to apply current month-year coupons, access resources, and connect via website, blog, and LinkedIn.
Learn Java and start automating tests tomorrow
Java for testers course is specifically designed for manual testers that want to move into test automation.
All topics were carefully selected to match the needs of test automation engineers. Every step is explained in detail from the Java and IDE set up to running your first Java method.
No prior programming experience is required. This course is specifically designed for complete beginners.
More and more Software QA positions require some test automation, and in many cases, Selenium WebDriver experience. According to many recent surveys, Java is the most popular programming language used in test automation.
That's why, if you want to move from manual to automated testing, Java is a great choice of a programming language, as it will give you a lot of options on the job market.
Benefits of this course:
Unlike other java courses you can find online, this course is specifically designed for testers who want to move from manual testing to test automation.
This course contains all the useful info you need, to learn how to automate tests with Java.
Includes an overview of testing frameworks
We would not waste time on things, that test automation engineers don't use at all
List of Major Components:
We will start from scratch, like preparations, installing java and IDEs
Learning basic things, data types, creating the first project
Then we will move to learn methods, classes, functions
We will also spend time learning principles of Object-Oriented Programming
And we will end with test frameworks
Ideal Student Description:
I designed this course for testers that are tired of manually testing things.
Testers that see, that it's getting harder and harder to find a manual only job
Testers that want to increase their income, by learning how to automate tests
This is a java course, but it’s tailored for the test automation with java
At the end of this course, students will know all the basics of Java, how methods and classes work. How to write more complex code and know a few Java test frameworks.
And most importantly, be able to receive a promotion at the current job, or get a new job that requires selenium or other test automation experience.