pedro@morago:~$ whoami

Pedro Morago

Senior QA Engineer · Test Automation · ISTQB CTFL v4.0

Senior QA Engineer with 5 years of experience in quality assurance and test automation for international SaaS products. I automate E2E tests with Playwright and Cypress, test APIs in Java and integrate testing into CI/CD pipelines.

About

I'm Pedro Morago, a Senior QA Engineer with 5 years of experience in quality assurance and test automation on international SaaS products.

  • Degree in Mathematics from the University of Cantabria (2015 – 2020) — a degree whose transferable skills (stating a problem precisely, arguing logically, not skipping details) read a lot like a tester's job.
  • ISTQB® Certified Tester Foundation Level (CTFL) v4.0.
  • Now on a telecom OSS/BSS platform; before that a cybersecurity SaaS (threat modelling) and a field service management SaaS.
  • Working 100 % remotely in agile, distributed teams.

The details of my day-to-day work are under experience. What I learn along the way I write down in my QA Wiki: explaining something in your own words is the litmus test that you understand it.

Experience

Senior QA Engineer · Alvatross by SATEC

Jul 2026 – Present

Telecom · OSS/BSS platform

  • Quality on a telecom OSS/BSS platform: the systems an operator runs to provision services, keep network inventory correct and bill what was actually delivered.
  • Just joined, so this entry is deliberately short. What I ship here gets added once it exists, not before.

QA Engineer · IriusRisk

Apr 2024 – Jul 2026

Remote · International SaaS · Cybersecurity / Threat Modelling

  • Led the testing strategy for the Security Content module, defining the test mix across the pyramid (unit, integration, backend, E2E).
  • Designed and deployed a Python optimization model (MILP) for parallel E2E test execution in CI/CD: 40 % less pipeline time with no extra infrastructure cost, validated in production.
  • Automated the backend API in Java with REST Assured and JUnit 5: Given-When-Then pattern, JSON schema validation, negative cases and Qase integration.
  • Took part in the migration from TestCafe to Playwright with TypeScript: 80 % less execution time and a more stable suite.
  • Contributed to CI/CD pipelines in Bitbucket and applied Shift Left: reviewing requirements and technical designs from early stages.

QA Engineer · Fieldeas

May 2021 – Apr 2024

Santander, Spain · Field Service Management SaaS

  • Designed and executed functional, regression and integration tests across multiple client projects, reporting 500+ bugs prioritized by product risk and business criticality.
  • Built and maintained automated E2E suites with Cypress and JavaScript, evolving the team's approach from manual testing to a scalable automation model.
  • Data validation with SQL within test cases and issue management in Jira, coordinating releases with development.
  • Trained and mentored new team members on tools and automation best practices, reducing onboarding time.

Projects

QA Wiki

living document

My Quality Assurance knowledge base: 50+ articles, all written by me.

A training and knowledge wiki where I write about what I practice daily as a QA. It isn't an app: it's the side of the craft that shows judgment and depth, not just code. I keep expanding it continuously.

  • Testing strategy: backend and frontend layers, microservices and shift-left with a maturity model.
  • API testing with REST Assured and JUnit 5: JSON Schema, negative cases and waits with Awaitility.
  • Automation with Playwright and TypeScript, including a real migration case from TestCafe.
  • CI/CD for QA: static analysis, parallelization and suite sharding, Docker, Git and AWS.
  • Performance with JMeter, QA on telecom OSS/BSS, and the ISTQB fundamentals.
  • Semantic search that runs entirely in the browser, plus an AI answer button: grounded, cited answers built only from my own articles (RAG on Cloudflare Workers AI).
VitePressMarkdownGitHub ActionsGitHub PagesCloudflare Workers AI

CI Shard Advisor

published

Optimal parallelization of Cypress suites in CI, without relying on Cypress Cloud.

A tool that analyzes your Cypress run reports and recommends the optimal sharding strategy for your pipeline: it measures current performance, detects imbalances between containers and suggests the exact spec partition that minimizes total execution time, with optimality certification via a branch & bound algorithm.

  • Try it in the browser: it opens with a demo run already loaded, and you can drop in your own reports — nothing to install and no account.
  • 100 % local, private analysis: reports never leave the browser.
  • Three interfaces: interactive web app, CLI with a quality-gate mode, and a local REST API.
  • Actionable recommendations: per-container spec lists ready to paste into GitHub Actions or Bitbucket Pipelines.
  • Pure core with hexagonal architecture, tested with property-based, metamorphic and invariant tests.
TypeScriptReactViteFastifyNode.jspnpmPlaywrightk6

Screen Recorder · QA mode

published

Chrome extension for reporting bugs with full evidence in a single recording.

A browser extension (Manifest V3) that records your screen, window or tab while automatically capturing everything a developer needs to reproduce the bug: console logs synced with the video, uncaught exceptions, network requests as HAR, and numbered user steps. No time limits, no watermark, no account.

  • Install it in 30 seconds: download the zip, Load unpacked in chrome://extensions. No store account, no build step.
  • Tested against a bench I built for it: bench.pedromorago.com, a page that breaks on demand — a 500 on a write, an uncaught exception, a response that says OK and means the opposite — so the capture could be checked against known failures instead of whatever a real site happened to do.
  • QA mode: console, errors, 404s and HAR synced to the video by timestamp.
  • Live on-video annotations and keyboard-shortcut markers to flag the exact moment of the bug.
  • Automatic step recording (clicks, forms, SPA navigations) exportable as *.steps.md — each step carries a paste-ready Cypress or Playwright selector, so the step list doubles as the skeleton of the regression test. Typed values are never logged.
  • Generates the full report and files the issue directly in Jira Cloud or Linear.
  • Zero external dependencies: native browser APIs only.
JavaScriptManifest V3chrome.desktopCaptureCypressPlaywrightGitHub Actions

Queue Labs · frontend vs. server-side control

security lab

Twin queue apps — one insecure on purpose, one done right — proving why a browser-only access control isn't one.

A matched pair I built to see a security rule fail instead of quoting it. Both look identical — the same virtual waiting room in front of a members' login — but the control lives in opposite places: the vulnerable lab enforces the queue only in the browser, while its secure twin issues a server-signed pass. Same façade, opposite internals, and that contrast is the whole lesson.

  • The bug measured, not asserted: with DevTools network throttling the login form stays exploitable for ~180 ms on a fast connection but over 6 s on Slow 3G — the exploitation window is a table, not a hunch.
  • Three independent bypasses — block the guard script, edit the cookie, or POST straight to /login — make the point that narrowing the window never closes the hole.
  • The secure twin issues a server-signed HMAC-SHA256 pass (Queue-Fair style), with the expiry and User-Agent inside the signature, so those same three tricks come back 403/425.
  • Published responsibly: self-contained, localhost or an authorized instance only, prominent warnings, fictitious credentials, no third-party services.
  • The QA method made explicit — build the failure you want to detect, then prove the fix defeats it — the same reflex behind my bug bench.
Node.jsExpressHMAC-SHA256Vanilla JS

Skills

e2e-automation

  • Playwright
  • Cypress
  • Selenium · TestCafe

api-backend

  • REST Assured · JUnit 5
  • Postman · API Testing
  • SQL

languages

  • Java
  • JavaScript / TypeScript
  • Python

ci-cd-tools

  • Bitbucket Pipelines · GitHub Actions
  • Git · Docker
  • Jira · Confluence · Qase

strategy-processes

  • Test Strategy · Shift Left
  • Test case design
  • Agile / Scrum / Kanban

testing-types

  • Functional · Regression
  • Integration · API
  • E2E

education

BSc in Mathematics
University of Cantabria · 2015 – 2020

Advanced Web Application Development with Java
CIC Bootcamp · 2021

certifications

ISTQB® Certified Tester Foundation Level (CTFL) v4.0
Dec 2024

languages

Spanish (native) · English C1.1, professional proficiency

Contact

Want to talk software quality? I'm open to new opportunities and collaborations. Santander, Spain · Remote