●System Online

Hi, I'm Firmansyah

➜~/profile$_

Architecting scalable Test Infrastructure and ensuring Software Reliability.

01.About Me

Senior Quality Engineer with over 5 years of experience. I focus on building reliable test automation frameworks and optimizing testing infrastructure to ensure high-quality software delivery.

I believe quality is not just about finding bugs, but designing systems and pipelines that make shipping code faster and safer.

profile.json
{
  "name": "Firmansyah",
  "role": "Senior Quality Engineer",
  "location": "Jakarta, Indonesia",
  "experience": "5+ Years",
  "core_skills": ["Automation Architecture", "CI/CD Automation", "Test Infrastructure", "Performance Testing"],
  "mission": "To build scalable quality engineering cultures, not just tests."
}

02.git log --experience

HEAD -> master, origin/master

commit 8f3d2aSenior Software Development Engineer in Test (SDET)@Kitabisa.com
Date: 2022 - Present
  • +Maintained legacy Java Appium automation for Android/iOS running on BrowserStack.
  • +Optimized test execution strategy, successfully reducing regression time by over 50%.
  • +Led the comprehensive framework migration from Java to WebdriverIO/TypeScript to modernize test architecture.
  • +Migrated execution infrastructure from BrowserStack to self-hosted Appium Device Farm, significantly reducing costs.
  • +Contributed directly to iOS codebase (Swift) to implement accessibility identifiers, ensuring 100% testability of UI components.
  • +Established CI/CD pipelines using GitHub Actions, creating reusable composite actions to streamline testing workflows.
  • +Implemented performance and load testing using k6 to identify bottlenecks and ensure system scalability during high-traffic events.
  • +Created and maintained a centralized SDET Dashboard to visualize test metrics and return investment (ROI) of automation.
  • +Mentored test engineers and established coding standards for the QA team.
commit 4b1c9eQuality Assurance@HarukaEdu -> Pintar.co
Date: 2020 - 2022
  • +Designed comprehensive test cases and scenarios covering critical academic workflows.
  • +Executed comprehensive manual testing for LMS and UMS platforms.
  • +Implemented automated regression testing using Katalon Studio to reduce manual repetitive tasks.
  • +Collaborated with developers to reproduce and fix high-priority production bugs.
commit 1a7b5dQuality Assurance@Mister Aladin
Date: 2019 - 2020
  • +Created detailed test scenarios for new mobile app features to ensure full requirements coverage.
  • +Performed manual testing for mobile applications (iOS/Android).
  • +Facilitated User Acceptance Testing (UAT) sessions with stakeholders to ensure product readiness.
commit 2c9a8bQuality Assurance@Emerio (NTT)
Date: 2018 - 2019
  • +Developed rigorous test cases and scenarios for complex banking and insurance workflows.
  • +Outsourced to Maybank: Focused on comprehensive manual testing for critical banking modules.
  • +Outsourced to Prudential: Developed automated functional testing using HP Unified Functional Testing (UFT) and executed performance/load tests with JMeter.
commit e5f6g7Tester@Bank Central Asia
Date: 2017 - 2018
  • +Conducted rigorous manual testing for banking applications to ensure high standards of quality.
  • +Created detailed test documentation including step-by-step screenshots for audit and validation purposes.
  • +Executed and validated automated test suites provided by the automation team to verify regression stability.
Initial commit (Education & Internship)

>Installed_Packages

Loading system dependencies...

Automation & Performancev1.0.0

./webdriverio
[#####] 100%
./appium
[#####] 100%
./k6
[####-] 80%
./katalon_studio
[###--] 60%
./playwright
[###--] 60%
./jmeter_/_uft
[###--] 60%

Languagesv1.0.0

./typescript_/_javascript
[#####] 100%
./golang
[###--] 60%
./swift
[###--] 60%
./java
[####-] 80%
./sql
[###--] 60%

Infrastructure & CI/CDv1.0.0

./github_actions
[#####] 100%
./docker
[####-] 80%
./browserstack_/_saucelabs
[#####] 100%
./git
[#####] 100%

03../projects.sh

Executing build...

[WORK PROJECT]

automated-test-generator

An AI-powered system that autonomously generates comprehensive test cases by parsing Product Requirement Documents (PRDs) and Technical Specifications. Streamlines the test planning phase for the entire engineering team.

Next.jsGolangGenAIPostgreSQL
Status: DeployedPrivate Repository πŸ”’
[OPEN SOURCE]

report-history-action

Enhanced a GitHub Action to track and visualize test report history over time. Customized the core logic to support complex team workflows, enabling better visibility into regression trends across multiple environments.

GitHub ActionsJavaScriptCI/CD
Status: DeployedView Source ->

Test Me!

This section is designed to be tested. It has delays, dynamic content, and hidden elements.
Target for your Playwright/Selenium scripts.
⚠️ Note: All successful states will automatically reset after 5 seconds.

Core Challenges

1. Explicit Wait

Button has a 2-second delay before changing state.

2. Input Logic

Type "Hello World" to enable the submit button.

3. Hover Source

Hover over this card to reveal the secret.

Hover to see...

Quality Engineering Strategy

How I approach quality beyond just writing code. A case study on the "Test Me" feature.

1

Risk Assessment & Mitigation

RiskImpactMitigation Strategy
Flaky Tests due to "Explicit Wait"HighUse dynamic polling (e.g., `expect(loc).toBeVisible()`) instead of hard sleeps.
Input Validation FailureMediumBoundary testing on client-side & API schema validation.
Hidden Elements (Hover)HighEnsure playwright hovers correctly; verify accessibility properties.
2

Coverage Strategy (Pyramid)

  • βœ“Unit Tests (Jest): Logic for `TestMe` component state (loading, clicked, etc).
  • βœ“Component Tests (React Testing Lib): Verify rendering and basic interactivity in isolation.
  • βœ“E2E Tests (Playwright): User workflows (Click -> Wait -> Success) and cross-browser visual checks.

04.Initialize Connection

Target: User needs Quality Engineering expertise

$ ping firmansyah

Pinging firmansyah [127.0.0.1] with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

> Connection established.

> Awaiting input...

Ready to optimize your delivery pipeline?