Cuando empecé a construir mi portafolio QA no tenía experiencia laboral en el sector. Lo primero que hice fue seguir un tutorial. Y eso es exactamente lo que vas a hacer tú leyendo este artículo — solo que con una hoja de ruta mucho más clara de la que yo tuve.
Te lo explico paso a paso, desde cero, sin asumir que ya sabes nada.
Por qué necesitas un portafolio QA si no tienes experiencia
Las empresas no contratan CVs — contratan personas que demuestran que saben hacer el trabajo. Y si no tienes experiencia laboral en QA, la única forma de demostrarlo es con proyectos reales visibles en GitHub.
Un portafolio QA bien construido vale más que un certificado. Dice «aquí está lo que sé hacer» en lugar de «aquí está lo que estudié». Y esa diferencia es enorme en un proceso de selección.
Si quieres saber más sobre cómo el portafolio impacta en la búsqueda de empleo puedes leer cómo conseguir trabajo como QA Tester sin experiencia en España.
Qué debe incluir un portafolio QA mínimo
Antes de empezar a construir, tienes que saber qué necesitas tener. Un portafolio QA mínimo para empezar a buscar trabajo incluye estas tres cosas:
Un proyecto de automatización E2E con Playwright y Python, organizado con Page Object Model y con CI/CD configurado en GitHub Actions.
Un proyecto de API Testing con Postman, con colección exportada y documentada en el README.
Un perfil de GitHub limpio y bien organizado, con READMEs claros en cada repositorio.
Con esos tres elementos tienes lo suficiente para competir en el mercado laboral como QA Junior en España.
Paso 1 — Crea tu cuenta de GitHub
Si no tienes cuenta en GitHub, créala ahora en github.com. Es gratuita y es donde va a vivir todo tu portafolio.
Una vez creada, configura bien tu perfil:
Pon una foto profesional — no hace falta que sea perfecta, solo que se vea bien.
Escribe una bio clara. Por ejemplo: «QA Engineer | Playwright + Python | Automatización de pruebas | Abierta a oportunidades.»
Añade tu ubicación y el enlace a tu web o LinkedIn.
Tu perfil de GitHub es lo primero que va a ver un recruiter cuando haga clic en tu enlace. Tiene que dar buena impresión en los primeros 5 segundos.
Paso 2 — Instala las herramientas necesarias
Antes de crear tu primer proyecto necesitas tener instalado en tu ordenador:
Python — descárgalo desde python.org. Durante la instalación marca la casilla «Add Python to PATH».
Git — descárgalo desde git-scm.com. Es el sistema de control de versiones que usarás para subir tu código a GitHub.
VS Code — el editor de código más usado. Descárgalo desde code.visualstudio.com.
Postman — para el proyecto de API Testing. Descárgalo desde postman.com.
Si necesitas ayuda para instalar Playwright puedes leer cómo instalar Playwright con Python en Windows paso a paso.
Paso 3 — Crea tu primer proyecto de automatización E2E
Este es el proyecto más importante de tu portafolio. Vamos a automatizar pruebas sobre SauceDemo — una web de e-commerce de prueba creada específicamente para que los QA practiquen. Es pública, gratuita y no necesitas crear ninguna cuenta para usarla.
URL: saucedemo.com
Crea la carpeta del proyecto:
powershell
mkdir mi-primer-proyecto-qa
cd mi-primer-proyecto-qa
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install playwright pytest pytest-playwright
playwright install
```
**Crea la estructura de carpetas:**
```
mi-primer-proyecto-qa/
├── pages/
│ └── login_page.py
├── tests/
│ └── test_login.py
├── .gitignore
├── pytest.ini
└── requirements.txt
Crea tu primera Page Object en pages/login_page.py:
python
class LoginPage:
def __init__(self, page):
self.page = page
self.username_input = "#user-name"
self.password_input = "#password"
self.login_button = "#login-button"
self.error_message = "[data-test='error']"
def goto(self):
self.page.goto("https://www.saucedemo.com")
def login(self, username, password):
self.page.fill(self.username_input, username)
self.page.fill(self.password_input, password)
self.page.click(self.login_button)
def get_error_message(self):
return self.page.locator(self.error_message).text_content()
Crea tu primer test en tests/test_login.py:
python
import pytest
from playwright.sync_api import Page
from pages.login_page import LoginPage
@pytest.mark.smoke
def test_login_correcto(page: Page):
login = LoginPage(page)
login.goto()
login.login("standard_user", "secret_sauce")
assert "inventory" in page.url
@pytest.mark.regression
def test_login_password_incorrecta(page: Page):
login = LoginPage(page)
login.goto()
login.login("standard_user", "wrongpassword")
assert "Epic sadface" in login.get_error_message()
@pytest.mark.regression
def test_login_campos_vacios(page: Page):
login = LoginPage(page)
login.goto()
login.login("", "")
assert "Username is required" in login.get_error_message()
Ejecuta los tests para comprobar que funcionan:
powershell
pytest tests/ -v
Paso 4 — Añade CI/CD con GitHub Actions
Este paso es lo que diferencia un portafolio básico de uno profesional. Configura GitHub Actions para que tus tests se ejecuten automáticamente en cada push.
Crea el archivo .github/workflows/tests.yml:
yaml
name: QA Tests
on:
push:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Instalar dependencias
run: |
pip install -r requirements.txt
playwright install --with-deps
- name: Ejecutar tests
run: pytest tests/ -v
Puedes ver cómo funciona GitHub Actions en detalle en GitHub Actions para QA: automatiza tus tests.
Paso 5 — Sube el proyecto a GitHub
powershell
git init
git add .
git commit -m "feat: primer proyecto QA con Playwright y Python"
git branch -M main
git remote add origin https://github.com/tu-usuario/mi-primer-proyecto-qa.git
git push -u origin main
Paso 6 — Escribe un README profesional
El README es la portada de tu proyecto. Si no lo lees en 30 segundos y entiendes de qué va, el recruiter pasa al siguiente candidato.
Un buen README incluye:
Título y descripción: qué hace el proyecto en una frase.
Stack tecnológico: Playwright, Python, pytest, GitHub Actions.
Cómo ejecutarlo: comandos exactos para que cualquiera pueda clonar y ejecutar el proyecto.
Estructura del proyecto: explicación de las carpetas y archivos principales.
Badge de GitHub Actions: muestra si los tests están pasando en verde.
markdown
# QA Suite — SauceDemo
Suite de pruebas E2E automatizadas sobre SauceDemo con Playwright y Python.

## Stack
Python · Playwright · pytest · GitHub Actions · Page Object Model
## Cómo ejecutar
```bash
pip install -r requirements.txt
playwright install
pytest tests/ -v
```
## Estructura
- `pages/` — Page Objects
- `tests/` — Tests organizados por funcionalidad
```
Paso 7 — Crea tu proyecto de API Testing con Postman
El segundo proyecto de tu portafolio es un proyecto de API Testing con Postman usando una API pública gratuita.
Una buena opción para empezar es JSONPlaceholder (jsonplaceholder.typicode.com) — una API REST pública con endpoints de usuarios, posts y comentarios perfecta para practicar.
Crea una colección en Postman con al menos estas peticiones:
GET /users — obtener lista de usuarios con validación de status 200 y estructura del body. GET /users/1 — obtener un usuario específico con validación del ID. POST /posts — crear un post con validación de status 201 y datos devueltos. PUT /posts/1 — actualizar un post con validación de cambios. DELETE /posts/1 — eliminar un post con validación de status 200.
Añade scripts de validación en cada petición usando pm.test y exporta la colección como JSON. Súbela a un repositorio de GitHub con un README que explique cómo importarla en Postman.
Si quieres aprender a usar Postman desde cero puedes leer Postman para principiantes: tu primera prueba de API.
Paso 8 — Optimiza tu perfil de GitHub
Con los dos proyectos subidos, optimiza tu perfil de GitHub para que cause la mejor impresión posible.
Fija los repositorios más importantes. En tu perfil puedes fijar hasta 6 repositorios. Pon los dos de tu portafolio los primeros.
Mantén los commits activos. GitHub muestra un calendario de actividad. Intenta hacer commits regularmente — aunque sean pequeñas mejoras o nuevos tests.
Usa nombres de repositorio claros. qa-suite-saucedemo dice mucho más que proyecto1.
Añade topics a cada repositorio. En la página principal del repo añade tags como playwright, python, pytest, qa-automation. Ayuda a que te encuentren.
Qué añadir al portafolio con el tiempo
Una vez que tienes los dos proyectos básicos puedes ir ampliando el portafolio con el tiempo.
Un tercer proyecto con más cobertura — más páginas, más casos de prueba, más tipos de tests.
Una herramienta propia — algo que hayas construido tú mismo que resuelva un problema real de QA. Como el AI Test Case Generator que desarrollé para generar casos de prueba automáticamente con IA.
Contribuciones a proyectos open source — demuestra que sabes trabajar con código de otras personas.
Cuánto tiempo se tarda en tener un portafolio listo
Con dedicación de 1-2 horas diarias, en 4-6 semanas puedes tener los dos proyectos básicos terminados y subidos a GitHub. No es poco tiempo, pero cada día que avanzas eres más empleable que el día anterior.
Lo más importante es empezar hoy. Un portafolio con un solo proyecto incompleto ya dice más que no tener ninguno.
Si quieres saber cuánto tiempo se tarda en aprender QA Automation en general puedes leer cuánto se tarda en aprender QA Automation: tiempos reales sin rodeos.
Y si quieres ver un ejemplo real de portafolio QA construido desde cero puedes visitar fatimaqa.com — todo lo que ves ahí lo construí mientras buscaba trabajo.
