Cómo crear un portafolio QA sin experiencia

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.

![Tests](https://github.com/tu-usuario/mi-proyecto/actions/workflows/tests.yml/badge.svg)

## 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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio