1. Basics:
- Data Types (int, float, char, etc.)
- Variables (local, instance, static)
- Operators (arithmetic, relational, logical, bitwise)
- Type Casting
2. Control Flow Statements:
Loops:
Conditional Statements:
3. Object-Oriented Programming (OOP) Concepts:
- Class and Object
- Inheritance (Single, Multilevel, Hierarchical)
- Polymorphism (Method Overloading, Method Overriding)
- Encapsulation
- Abstraction (Abstract classes, Interfaces)
- Constructors
- Static and Non-static Members
- This and Super Keywords
- Final Keyword
4. Collections Framework:
- List (ArrayList, LinkedList)
- Set (HashSet, LinkedHashSet, TreeSet)
- Map (HashMap, LinkedHashMap, TreeMap)
- Queue (PriorityQueue, LinkedList)
- Iterators (Iterator, ListIterator)
5. Java Streams (Optional but Useful):
- Stream API for processing collections
- Intermediate operations (filter, map, etc.)
- Terminal operations (forEach, collect, etc.)
6. File Handling (I/O Streams):
- Reading and Writing Files
- FileInputStream, FileOutputStream
- BufferedReader, BufferedWriter
- Serialization and Deserialization
7. Exceptions Handling:
- Try, Catch, Finally
- Throw, Throws
- Custom Exceptions
- Exception Hierarchy (Checked vs Unchecked Exceptions)
8. Multithreading (Optional):
- Creating Threads (Thread class, Runnable interface)
- Thread Lifecycle
- Synchronization
- Inter-thread Communication
9. Java 8 Features (Highly Recommended):
- Lambda Expressions
- Functional Interfaces (Predicate, Consumer, Function)
- Method References
- Default and Static Methods in Interfaces
- Optional Class
10. JDBC (Optional but Useful for Database Testing):
11. Assertions:
- Using the
assert
keyword - Assertion Libraries (JUnit/TestNG)
12. Java Utilities:
- Java Time API:
- LocalDate, LocalTime, LocalDateTime (for handling time-related operations like waiting, scheduling tests, etc.)
- File Handling:
- File, FileReader, BufferedReader, FileWriter, BufferedWriter (for reading/writing configuration files, test data, etc.)
- Properties Class:
- Properties (for handling configuration properties, e.g., reading browser type, URL from a config file)
- Logging Utilities:
- Logger, FileHandler, ConsoleHandler (for creating logs that help in debugging tests)
- Regular Expressions (Regex):
- Pattern, Matcher (for validating strings, extracting specific data from text, e.g., extracting numbers from a string)
- Random Class:
- Random (for generating random data for test inputs, like random usernames, emails, etc.)
- Scanner Class:
- Scanner (for reading input data from files or other sources)