Free plan Β· About 2 hours a day Β· Updated 2026-10-23
45-day SDET plan: from manual testing to your first automation framework
A day by day plan for manual testers: Java, Selenium, API testing with Rest Assured, a framework on GitHub and interview prep, in 45 days at about 2 hours a day.
Want a plan sized to your own hours and stack instead? Use the roadmap builder.
Week 1: tools and the first lines of Java
- Day1
Set up your machine
- Install JDK, IntelliJ or Eclipse, Git and Chrome
- Create a GitHub account and a repo called sdet-45-days
Done when: Everything you need is installed and your repo exists. - Day2
Terminal basics
- pwd, cd, ls, mkdir, touch, cat, grep
- Create, move and delete files only from the terminal
Done when: You can find your way around without the mouse. - Day3
Git you will use every day
- init, add, commit, push, pull, branch, merge
- Push a README to your repo from the terminal
Done when: Your first commit is on GitHub. - Day4
Java: variables and types
- Data types, variables, operators
- Write 5 small programs and commit them
Done when: You can store and print values. - Day5
Java: conditions and loops
- if, else, switch, for, while
- Print a multiplication table and a number pattern
Done when: You can make a program decide and repeat. - Day6
Java: methods
- Parameters, return values, overloading
- Turn yesterday's programs into methods
Done when: You can split code into reusable pieces. - Day7
Review and catch up
- Redo anything that felt shaky
- Write down 5 questions you still have
Done when: Nothing from week 1 is left half done.
Week 2: Java you need for automation
- Day8
Classes and objects
- Fields, constructors, this
- Model a Product class with a few methods
Done when: You can design a small class. - Day9
Inheritance and polymorphism
- extends, super, method overriding
- Model a BasePage and two pages that extend it
Done when: You see why page objects share a base class. - Day10
Interfaces and abstraction
- interface, abstract class, when to use which
- Read how WebDriver is an interface
Done when: You can explain WebDriver driver = new ChromeDriver(). - Day11
Strings and arrays
- Common String methods, arrays, loops over arrays
- Solve: reverse a string, count vowels, find the largest number
Done when: You can handle the easy coding round questions. - Day12
Collections
- ArrayList, HashMap, HashSet
- Count word frequency in a sentence with a HashMap
Done when: You can pick the right collection. - Day13
Exceptions
- try, catch, finally, throw, throws, checked vs unchecked
- Handle a missing file without a crash
Done when: You can read a stack trace and fix the cause. - Day14
Logic practice
- Solve 6 easy problems: palindrome, fibonacci, duplicates, swap without temp, prime check, second largest
- Commit each solution
Done when: Your GitHub shows steady practice.
Week 3: Selenium WebDriver
- Day15
Maven and your first test project
- Create a Maven project, add Selenium and TestNG
- Open a page and print its title
Done when: Your first browser opens from code. - Day16
Locators
- id, name, CSS, XPath, and when to use each
- Use the XPath and CSS cheat sheet on this site
Done when: You can locate any element on a practice page. - Day17
Actions on elements
- click, sendKeys, getText, select dropdowns, checkboxes
- Automate a login form
Done when: You can drive a form end to end. - Day18
Waits
- Implicit vs explicit waits, why Thread.sleep is a smell
- Make yesterday's test stable with explicit waits
Done when: Your tests stop failing at random. - Day19
Windows, frames and alerts
- Switch windows, iframes and alerts
- Automate one flow with each
Done when: Tricky pages no longer block you. - Day20
TestNG
- Annotations, assertions, groups, priorities, data providers
- Run tests from testng.xml
Done when: Your tests are organized and data driven. - Day21
Review and catch up
- Automate 3 scenarios on a practice e-commerce site
- Push everything
Done when: You have a small suite that passes.
Week 4: framework design
- Day22
Page Object Model
- One class per page, locators and actions inside it
- Refactor week 3 tests into page objects
Done when: Your tests read like user steps. - Day23
Base test and config
- Driver setup and teardown in one place, a config.properties file
- Run on Chrome and Firefox by changing one value
Done when: Setup is written once. - Day24
Utilities
- Screenshot on failure, a wait helper, test data from a file
- Add a screenshot listener
Done when: A failure leaves evidence. - Day25
Reports and logs
- Add an HTML report and simple logging
- Read a failed report and find the cause
Done when: Anyone can see what passed and failed. - Day26
Cucumber basics
- Feature files, Gherkin, step definitions
- Write one scenario for the login flow
Done when: You can explain BDD and why teams use it. - Day27
Run from the terminal
- mvn test with groups and parameters
- Write the commands in your README
Done when: Your suite runs without the IDE. - Day28
Review and catch up
- Clean up names, remove dead code, update the README
- Ask a friend to clone and run it
Done when: Someone else can run your framework.
Week 5: API testing
- Day29
HTTP fundamentals
- Methods, status codes, headers, body, query and path params
- Try requests in the API Lab on this site
Done when: You can read any API request and response. - Day30
Postman
- Collections, environments, variables, tests in Postman
- Test a public API end to end
Done when: You can test an API by hand, the right way. - Day31
Rest Assured: first requests
- given, when, then; GET and POST
- Assert status, headers and body fields
Done when: Your first API test runs in Java. - Day32
Rest Assured: data and auth
- POJOs, serialization, query params, bearer tokens
- Create, read, update and delete one resource
Done when: You can test a full CRUD flow. - Day33
Schema and chaining
- JSON schema validation, pass an id from one call to the next
- Add both to your suite
Done when: Your API tests catch contract changes. - Day34
API layer in the framework
- A request builder and a base API class
- Run UI and API tests in one project
Done when: One framework, two layers. - Day35
Review and catch up
- Fill gaps in API tests
- Finish the API section of your README
Done when: Week 5 is done and documented.
Week 6: ship it
- Day36
GitHub Actions
- Run your suite on every push in headless mode
- Publish the report as an artifact
Done when: Your tests run without you. - Day37
Parallel runs and stability
- Run tests in parallel with TestNG
- Fix one flaky test properly
Done when: Faster runs, fewer false failures. - Day38
Polish the repo
- README with what it tests, how to run it, a report screenshot
- Pin the repo on your GitHub profile
Done when: Your project is ready to show. - Day39
Resume
- Rewrite your experience around automation results
- Add the framework with what you built and the tools
Done when: Your resume says SDET, not only manual tester. - Day40
LinkedIn
- Headline, about, featured project, skills
- Post a short write-up of what you built
Done when: Recruiters can find you for automation roles.
Days 41 to 45: interview prep
- Day41
Tell me about yourself and your project
- Write a 90 second answer and say it out loud 5 times
- Explain your framework layer by layer
Done when: Your opening answer is smooth. - Day42
Selenium and framework questions
- Locators, waits, POM, exceptions, TestNG
- Write your answer to each in your own words, then say it out loud
Done when: No common Selenium question surprises you. - Day43
API and Java questions
- Status codes, REST vs SOAP, Rest Assured, OOP, collections
- Answer each in under a minute
Done when: You answer the core rounds clearly. - Day44
Coding round
- Solve 5 easy problems with a timer
- Talk through your approach as you code
Done when: You stay calm in a live coding round. - Day45
Mock interview and apply
- Do one full mock interview with a friend or mentor
- Apply to 10 roles that match your new skills
Done when: You are interviewing for automation roles.
Email me the PDF
A printable copy in your inbox, to tick off as you go.