Skip to content
View Ngetich-86's full-sized avatar
  • ʕ•̫͡•ʔ-̫͡-ʕ•͓͡•ʔ-̫͡-ʔ

Block or report Ngetich-86

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. 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
Ngetich-86/README.md

Profile views Software Engineer in Test banner

I test backend and distributed systems by writing automated regression, API and integration tests, reproducing failures before fixing them, and wiring those checks into CI so regressions are caught before release. I also build the backend services I test, which shapes how I look for failure modes.


Testing & Quality Engineering

API and integration testing. pytest suites against a FastAPI + PostgreSQL service; Jest + Supertest API-layer tests; Testcontainers-backed integration tests for a Spring Boot API; PostgreSQL integration tests for a Rust service, run in CI. Coverage includes authentication and authorization, validation, negative paths, error mapping and status-code contracts.

Regression tests with red/green proof. A regression test should fail without the fix and pass with it, so I check both directions before calling it done.

Browser and mobile automation. Playwright for end-to-end flows, accessibility checks (axe) and link integrity; Maestro for Android smoke flows on physical devices, written with semantic selectors and no fixed sleeps.

Performance. Grafana k6 smoke, spike, stress and soak profiles with explicit thresholds, reported as test conditions rather than capacity claims.

Quality gates in CI/CD. Lint, type checks and automated suites as blocking steps in GitHub Actions; a Jenkins pipeline and Prometheus/Grafana monitoring in a DevSecOps lab.

Failure diagnosis. Reading CI logs and container state in Linux/Docker environments to separate infrastructure failures from real product defects.

Web & mobile quality. Functional, regression, smoke and exploratory testing, with test cases, environments and evidence recorded so results can be reproduced.


Backend & Systems Engineering

  • REST APIs in Python (FastAPI), TypeScript (Express, NestJS, Hono), Java (Spring Boot) and Rust
  • Distributed-systems behaviour: durable admission, idempotency keys, at-least-once processing, lease-based recovery (FOR UPDATE SKIP LOCKED)
  • Authentication and authorization: JWT, role-based access control
  • PostgreSQL, SQLite and Redis; Drizzle and Prisma ORMs
  • Docker and Docker Compose environments; Prometheus/Grafana observability

Open Source Work

CVAT — Regression Test Contribution · PR Open

Python · pytest · REST API · Docker · GitHub Actions

  • Added REST API regression coverage for cloud-storage object keys containing empty path segments, following the behavior fixed in cvat-ai/cvat#11201.
  • Covers both root-level and nested empty-path-segment cases and verifies that valid sibling files remain visible.
  • Passed CVAT's full CI pipeline on my fork, including all 54 tests in test_cloud_storages.py and the broader REST API job with 2313 passed and 0 failed.
  • Verified the regression red/green in GitHub Actions: both new cases pass with the current fix and fail with HTTP 400, a validation error on the listing's content field, when only the #11201 filter is removed.
  • Upstream pull request is open and awaiting maintainer review.

Pull request: cvat-ai/cvat#11412


Selected Projects

AI Evaluation & Rubric Management API: a REST API for rubric-based human evaluation of AI outputs, with multi-rater scoring and inter-rater agreement.
Python · FastAPI · PostgreSQL · SQLite · pytest · GitHub Actions · Swagger

  • 57 pytest tests covering rubrics, scoring, submissions, agreement statistics and the web UI
  • Scoring rules enforced and tested: every criterion scored exactly once, within the scale, no duplicate rater evaluations
  • Lint and the test suite run in GitHub Actions; live demo with Swagger docs

PulseStream: a co-developed Rust event processing platform built for bounded concurrency, idempotency and crash recovery.
Rust · PostgreSQL · Docker · GitHub Actions

  • 63 tests, including 28 PostgreSQL integration tests run as a separate CI job
  • Tests idempotent replays (409 on key reuse), 503 rather than 202 on database outage, and lease reclaim after worker crashes
  • CI gates on rustfmt, clippy -D warnings, unit tests, integration tests and build

Employee Management System: a Spring Boot + Next.js app with JWT authentication and role-based access control.
Java · Spring Boot · Next.js · PostgreSQL · Docker · JUnit · Mockito · Testcontainers · Vitest

  • 65 JUnit tests, with Mockito unit tests and Testcontainers-based integration tests
  • CI runs backend tests, frontend lint, frontend tests and the production build

DevSecOps Lab: a Node/TypeScript task API used to practise quality gates in the delivery pipeline.
TypeScript · Express · PostgreSQL · Jest · Supertest · Docker · Prometheus · Grafana · Jenkins

  • 22 unit tests enforced in GitHub Actions against a Postgres 16 service, with JUnit report artifacts
  • 28 Jest + Supertest integration tests against a real database (run locally)
  • /metrics endpoint with a provisioned Grafana dashboard; the README separates what is enforced from what is only planned

Portfolio site: a React/TypeScript portfolio guarded by automated browser checks.
TypeScript · React · Playwright · axe · Lighthouse CI · GitHub Actions

  • Playwright E2E, accessibility and link-integrity suites plus Lighthouse CI, all in GitHub Actions

More testing work: Task Manager QA lab (78 Jest + Supertest tests at 74.6% statement coverage in CI, plus k6 load profiles) · Icon Training mobile QA (Maestro, risk-based test design)


Tooling

Area Tools
Testing pytest · Jest · Supertest · JUnit · Mockito · Testcontainers · Vitest · Playwright · axe · Maestro · k6
Languages Python · TypeScript · JavaScript · Java · Rust · SQL · Bash
Backend FastAPI · Express · NestJS · Hono · Spring Boot
Data PostgreSQL · SQLite · Redis
CI/CD & Ops GitHub Actions · Jenkins · Docker · Docker Compose · Prometheus · Grafana · Linux
API tooling OpenAPI / Swagger

📊 GitHub Activity

GitHub statistics Top languages by commit

GitHub streak


Pinned Loading

  1. Learn-java Learn-java Public

    This repository documents my journey of learning Java programming fundamentals, building solid understanding of Object-Oriented Programming (OOP) concepts, and progressing into Spring Boot for back…

    Java 4

  2. Auto-seat-psv-Client Auto-seat-psv-Client Public

    React/Vite client for a team-built PSV seat-booking system, including M-Pesa STK push payment status polling.

    TypeScript 1 1

  3. C-sharp-is-fun C-sharp-is-fun Public

    Learning C# fundamentals . This beginner-friendly repository covers essential concepts like data types, variables, and syntax.

    C# 2 1

  4. citadel citadel Public

    Citadel repo documents my learning journey with the Django framework as I build an inventory management system. It covers key concepts like connecting Django to a PostgreSQL database (hosted on Neo…

    Python

  5. Health-Info-system-Task Health-Info-system-Task Public

    A simple health information management system that allows doctors to register clients, create health programs, enroll clients in multiple programs, and expose client profiles via an API. Built to d…

    TypeScript

  6. ai-evaluation-rubrics-management-system ai-evaluation-rubrics-management-system Public

    FastAPI service for rubric-based AI output evaluation, multi-rater scoring, agreement analysis, and human evaluation workflows.

    Python 1