Skip to content
View FattahWG's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report FattahWG

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
FattahWG/README.md

Fattah Widjaya Gandhi. QA Software Engineer, QA Automation, Web, Mobile and API Testing.

Portfolio Live test demo: Lawak Store LinkedIn Email

About

I'm a QA Software Engineer in Jakarta with 2.5+ years of testing banking, insurance, and enterprise applications: SIT, UAT, regression, API, and performance testing. I've automated with UFT One at work and with Selenium, Serenity BDD, Rest Assured, and Appium in Java, and now I build with Playwright and Bruno in CI.

On the side, I'm Studio Director at Lawak Studio, where I lead small Roblox game projects.

What I do

Quality engineering (main career)

  • Own QA on projects as the independent tester: test planning, test case design, SIT, UAT, regression, and defect validation, together with development and business teams.
  • Test web and mobile applications, test APIs directly, and run performance tests with JMeter.
  • Build and maintain test automation: UFT One at work, and Playwright and Bruno in my public suite.

Working alongside AI: Claude Code and GitHub Copilot

I don't hand my testing over to AI. I set up how the agents work with me, and they speed up the repetitive parts:

  • I write the rules. Each project gets instructions for the agent: which environments it may touch, which data it may change, how to name test cases, and when it must stop and ask me.
  • The test case is the source of truth. An agent may fix a selector or a wait, but it may never change an expected result just to make a test pass. If the app differs from the test case, that's a finding for me to report.
  • I review every change. Agents draft test cases, Playwright and Bruno scripts, and run summaries. I read the diff, run the tests, and make the final call.

My Automations Test Preset shows these rules in practice.

Featured work

Here is my test sample: Lawak Store test demo. A demo shop with an admin panel, tested by 41 Playwright UI cases and 9 Bruno CLI API cases. Pick a Smoke, Regression, or Full Cycle run by phase, sprint, and module on the test dashboard, then open the Word evidence and the Excel test cases of each run. Sign in to the store with login@demo.com / Logindemo123.

Test and deploy

Project What it shows
Portfolio test suite Playwright end-to-end, axe accessibility, and phone-layout tests, plus a Bruno HTTP collection. GitHub Actions runs them on every push, and a failing test blocks the deploy. Reports: Playwright, Bruno.
Portfolio The site under test. Built with Astro, with clean URLs and a recorded run of the smoke test.
Automations Test Preset Setup guides, test case structure, reporting conventions, and agent rules, applied in the Lawak Store demo: one test case source, one run command, and Word, Excel, and dashboard output per run.

Earlier automation (Alterra Academy QA bootcamp, Java): REST API tests with Serenity BDD and Rest Assured · Android tests with Appium · Pet Adopter capstone, API and web · Web tests with Selenium and Cucumber

A Playwright smoke test of the portfolio: five steps run in Microsoft Edge and all pass.
A real Playwright run: five smoke-test steps on my portfolio, all passing.

Toolbox

  • Automation: Playwright, Bruno, UFT One, Selenium, Serenity BDD, Cucumber, Rest Assured, Appium
  • Performance and tools: JMeter, Grafana, Jira, Postman, Swagger, Git, GitHub Actions
  • Languages: Java, Python, SQL, Luau (Roblox's Lua)
  • AI pair tools: Claude Code, GitHub Copilot
  • Game development: Roblox Studio

Side project: Lawak Studio

As Studio Director, I start game ideas, set the direction and the player experience, plan features, and coordinate our programmers, level designers, and 3D artists. I also work hands-on with gameplay systems and UI flow, such as interaction and carry systems. Our games are published under the Lawak Gamehouse community on Roblox:

Community: Lawak Gamehouse on Roblox

Pinned Loading

  1. fattahWG.github.io fattahWG.github.io Public

    Portfolio site and its test suite: Playwright (E2E, axe, mobile) and Bruno HTTP checks run in GitHub Actions before every deploy.

    TypeScript

  2. Petadopter-QE7-ALTA Petadopter-QE7-ALTA Public

    Alterra Academy QA bootcamp capstone (team project): API and web test automation for a pet adoption app (Java).

    Java 1

  3. MobileAutomation-ALTA MobileAutomation-ALTA Public

    Alterra Academy QA bootcamp project: Android app test automation with Appium and Serenity BDD (Java), using page objects.

    Java 1

  4. ALTA-Serenity-Rest-QE7-FattahWidjayaGandhi ALTA-Serenity-Rest-QE7-FattahWidjayaGandhi Public

    Alterra Academy QA bootcamp project: REST API test automation with Serenity BDD, Cucumber 6, and Rest Assured (Java).

    Java 1