Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Web

QA Test Suite for an Open Source Web App

A software testing final year project for a real, actively maintained open source web app: a risk-based test plan, exploratory sessions, bug reports filed with the maintainers, and an automated UI and API suite with Playwright that runs in GitHub Actions. It proves you can find real bugs and build automation that stays reliable.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

1 semester · 1 to 2 students

Deliverables

8 to ship

3 optional extras

Suggested stack

Playwright or SeleniumTypeScript or JavaPlaywright API testing or PostmanGitHub Actionsaxe-coreDocker ComposeAllure or the Playwright HTML report
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • A written risk analysis and test plan for the chosen app, agreed with a supervisor, rating features by likelihood and impact
  • Test cases or checklists for the three riskiest features, designed with equivalence partitions and boundary values
  • Notes from at least four timed exploratory sessions with written charters
  • At least five bug reports filed on the project's public tracker, following its contributing guide, with reproduction steps and evidence
  • An automated UI suite covering the five most important user journeys with page objects, stable locators, isolated test data and no fixed waits
  • An API suite covering the main endpoints, including negative, schema and access control tests between two user roles
  • A GitHub Actions workflow running both suites in parallel against a Dockerised copy of the app, with HTML reports and traces uploaded on failure
  • Automated accessibility scans on key pages plus a manual keyboard walkthrough, and a final report on bugs, runtime, flakiness and what you chose not to automate

If you have time left

  • Contribute one of your tests or a bug fix upstream as a merged pull request
  • A k6 load test against the local copy with thresholds for p95 latency and error rate
  • A small dashboard that tracks pass rate and flaky tests across CI runs using stored results

The problem with student QA portfolios

QA and SDET hiring asks the same question in different words: can you find real bugs, explain them clearly, and build automation that keeps working? Most student test projects run against a practice site built to be tested. They show that you can write a Selenium script, not that you can decide what to test in an unfamiliar product, communicate with developers, or keep a suite green for months.

Open source maintainers, meanwhile, often have thin end-to-end coverage and more issues than time. A careful tester who files reproducible bugs and contributes tests is useful to them. This project serves both sides: the maintainers of a real app get bug reports and tests, and you get public evidence a hiring manager can check.

What already exists and the gap

  • Playwright ships with retries, a trace viewer, parallel workers and screenshot comparison built in.
  • Allure and ReportPortal are open source reporting tools that track pass and fail history across runs and help spot flaky tests; Currents is a hosted dashboard for Playwright in CI.
  • Self-hosted apps such as Vikunja, Memos, Mealie and Plane run locally with Docker and have real features: accounts, roles, forms and an API.

The tooling is solved. The gap is judgement: choosing what to test in a real product, designing tests rather than recording clicks, and proving the suite is reliable. That is what this project demonstrates.

What you build

Choose an app with an active issue tracker, a contributing guide, a Docker setup and at least two user roles. Run it locally so you never test anyone's production system.

  • Risk analysis and test plan: list features, rate likelihood and impact, decide what gets deep testing and what is out of scope.
  • Designed test cases for the riskiest features using partitions and boundary values.
  • Exploratory testing with charters, time boxes and notes, and bug reports on the public tracker after checking for duplicates.
  • UI automation of five key journeys with page objects, role-based locators and test data created through the API before each test.
  • API tests with positive, negative, schema and access control checks (can user B read user A's data?).
  • CI that starts the app with Docker Compose, runs both suites in parallel, uploads reports and traces, and runs axe scans on key pages.

The technically interesting part

The hard problem is flakiness and test isolation. A suite that fails one run in ten is worse than no suite, because people learn to ignore it. Show your evaluators how you removed every source of randomness: no fixed sleeps, only web-first assertions; each test creates and cleans up its own data through the API; no test depends on another's order; the database is reset per run from a known seed.

Then prove it. Run the full suite 20 times in CI and report every failure with its cause. Treat retries as a symptom to investigate, not a fix. The second interesting part is the access control API tests: they often find the most serious real bugs.

How to evaluate it

  • Bug quality: how many filed reports were confirmed, labelled or fixed by maintainers.
  • Reliability: 20 consecutive CI runs with zero unexplained failures.
  • Speed: total suite runtime with parallel workers, and how it scales when you add tests.
  • Coverage of risk: map each high-risk feature from the plan to the tests or sessions that cover it.
  • Judgement: a written list of what you deliberately left manual, and why.

Suggested plan

  1. Weeks 1 to 2: choose the app, run it locally, read the contributing guide, write the risk analysis.
  2. Weeks 3 to 4: test design and exploratory sessions; file the first bugs.
  3. Weeks 5 to 8: UI suite with page objects and API-seeded data.
  4. Weeks 9 to 10: API and access control tests.
  5. Weeks 11 to 12: CI, reports, accessibility scans.
  6. Weeks 13 to 15: 20-run reliability study, upstream contribution, final report.

Path to a product

The first outcome is a portfolio that gets QA and SDET interviews, with public issues and pull requests as proof. From there, testers with this skill do paid test automation for small SaaS teams that have no QA, or offer a fixed-price "suite setup" package. A hosted flaky-test dashboard is a possible product, but there are established tools, so treat it as a stretch rather than a business plan.

Scope warning

Do not automate everything. Do not test or load test the project's hosted services. Do not file duplicate or low-effort issues to inflate your count. Do not build your own test framework; use Playwright or Selenium as they are.

Learn what you need on Sefism

Get help with this idea

Picking the right app and writing the risk analysis decide how good this project is. Tauseef can help you choose an app with enough depth, decide what to automate and what to leave manual, and structure the reliability study for your evaluators. If you are new here, create a free account first.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.