📊 We use cookies & analytics to improve your experience. Learn more
Latest

Free course · Beginner

Software Testing — Manual and Automation

🏛 Way2Fresher Academy ⏱ 7 weeks ⭐ 4.7 👥 8,800 learners 🎓 Certificate

Free 5 modules · 15 lessons Start now →

What you will learn

  • Write a bug report a developer can reproduce without asking a single question
  • Turn a requirement into test scenarios, boundary values and negative cases
  • Run smoke, regression and exploratory testing on purpose rather than by habit
  • Write and run a Selenium script in Python against a real web page
  • Handle waits and selectors so a suite passes twice in a row, not once by luck
  • Publish a small test suite with a report you can show in an interview

Course curriculum

5 modules · 15 lessons · a worked example and a practice task in every lesson

Module 4Testing behind the screen4 of 53 lessons

APIs, databases and the data you test with, because most bugs never touch the screen.

  1. Testing a REST API with pytest

    An API test calls the endpoint and checks the status code and the body, without a browser. It runs in milliseconds, so you can cover far more cases than a UI test ever could.

    The lesson

    Test the status code AND the shape of the body: a 200 that returns an error message inside the JSON is still a failure to the user.

    Test the negative cases hardest - a missing field, an expired token, a duplicate record - because the happy path is the one the developer already clicked through by hand.

    Python
    import requests
    
    BASE = "https://jsonplaceholder.typicode.com"
    
    def test_list_posts():
        r = requests.get(BASE + "/posts", timeout=10)
        assert r.status_code == 200
        assert isinstance(r.json(), list)
    
    def test_missing_post_is_404():
        r = requests.get(BASE + "/posts/999999", timeout=10)
        assert r.status_code == 404

    Example requests.post(.../login, json=...) then assert r.status_code == 200 and assert "token" in r.json() checks the contract the front end depends on.

    Practice Write three API tests against a public test API: one success, one validation failure, one unauthorised.

  2. Database and test-data checks

    Some rules cannot be seen from outside: a status that must move through an allowed set, an order total that must equal its lines. Query the database and assert the rule directly.

    The lesson

    Point automated database tests at a throwaway database seeded by the test itself, never at production - a test that writes to live data is a test that will one day cause the incident.

    Test data should be created by the test, not borrowed from whatever was in the table, or the suite passes on Monday and fails on Friday for no visible reason.

    SQL
    -- every application must point at a real job
    SELECT a.id FROM applications a
    LEFT JOIN jobs j ON a.job_id = j.id
    WHERE j.id IS NULL;
    
    -- every order total must equal the sum of its lines
    SELECT o.id, o.total, SUM(l.price) AS line_total
    FROM orders o JOIN order_lines l ON l.order_id = o.id
    GROUP BY o.id, o.total
    HAVING o.total <> SUM(l.price);

    Example A query counting orders whose total is not the sum of their line items should return zero rows - a one-line test for a rule no UI test can prove.

    Practice Write two SQL checks: one for an orphan row, one for a total that does not match its lines.

  3. A performance smoke test

    A performance test answers one question: does the page still answer in a reasonable time when several people use it at once. You do not need a load-testing platform to find the obvious slow case.

    The lesson

    Start with the endpoint that already feels slow to you, at the load you actually expect, and compare against a number you chose in advance - not against a feeling after the fact.

    The bug you are hunting is the one that grows with data: a missing index, an N-plus-one query, an unbounded list. A smoke test catches those; a full load test is for later.

    Python
    import statistics, time, requests
    
    def test_search_is_fast_enough():
        times = []
        for _ in range(50):
            t0 = time.perf_counter()
            requests.get("http://localhost:3000/api/jobs?q=analyst", timeout=10)
            times.append(time.perf_counter() - t0)
        median = statistics.median(times)
        assert median < 1.0, f"median {median:.2f}s"
        print(f"median {median:.3f}s  worst {max(times):.3f}s")

    Example Time fifty requests to the search endpoint and assert the median under one second; that catches the query that was fine with ten rows and dies with ten thousand.

    Practice Measure the response time of one endpoint under a repeated call and write down the median and the worst case.

Show all modules on one page

About Software Testing — Manual and Automation

Find, describe and prove defects on purpose — and then automate the checks so the suite runs without you.

Non-IT and IT graduates alike, and anyone who wants into software quality assurance, which is one of the shortest roads from a fresher to a first offer. No programming background is assumed, and none is left behind.

What you will be able to do at the end

  • Write a bug report a developer can reproduce without asking a single question
  • Turn a requirement into test scenarios, boundary values and negative cases
  • Run smoke, regression and exploratory testing on purpose rather than by habit
  • Write and run a Selenium script in Python against a real web page
  • Handle waits and selectors so a suite passes twice in a row, not once by luck
  • Publish a small test suite with a report you can show in an interview

How the course is structured

3 modules and 9 lessons, arranged so each one ends with something you have built. Every lesson carries a worked example and a practice task — the practice is the course, the reading is only the setup. Plan for 7 weeks · about 6 hours a week.

The full syllabus — every lesson, its example and its practice task — is in the Course curriculum below. Nothing is locked and nothing needs an account.

Your weekly routine

  • Three sessions a week: one reading, one writing test cases by hand, one writing code.
  • Run your automated suite at the end of every week and fix whatever went flaky.
  • Keep a one-page log of every defect you find, with its severity and priority.

What you will have built by the end

  • A 20-case test sheet for a real signup flow, with boundaries and negative cases
  • Six automated Selenium tests with reports and a screenshot on failure
  • Five bug reports written in the format a developer can act on without asking

Where this leads for a fresher

  • QA engineer / test engineer trainee
  • Manual tester at a services company, then automation after six months
  • Product-support roles that own reproduction and triage
  • Automation tester in product teams running CI

Titles vary between companies; the evidence does not. A deployed project, a set of queries you can explain, or a case study with real testing behind it is what a fresher interview has to work with.

Frequently asked questions

Do I need to be good at coding to be a tester?

Not to start, and yes to grow. Manual testing is the entry point and it is genuinely skill-based. Automation is where the salary and the seniority are, and it is why this course includes a real Selenium project rather than a chapter about it.

Is testing a good career or a dead end?

It is one of the fastest entries into a product team for a fresher, and there are three clear paths out of it: automation and quality engineering, product management, and business analysis. Each of those wants exactly the structured thinking this course trains.

Is this course free?

Yes. Every lesson, example and practice task is free to read, and there is nothing to buy to finish the suite.

Which is asked more in interviews — manual or automation?

Both, and in that order. The manual questions come first because they test whether you think. Two of the Career Portal tools are built for exactly this: the Placement Test Centre for the written round and the free Career Pulse check for where your overall readiness really stands.

Not sure which of these you need first? The free Career Pulse check scores your skills, communication and goal clarity in about three minutes and tells you which gap to close first. Take the free check.