QAgent
Genera y valida automáticamente pruebas unitarias (pytest) para tu código Python, con un equipo de tres agentes de IA.
Abres tu proyecto, eliges qué probar y QAgent escribe las pruebas, las ejecuta en un entorno aislado y te entrega un informe con lo que pasó, lo que falló y por qué. No acepta pruebas «arregladas a la fuerza»: si una prueba solo pasa porque se le quitó o relajó una aserción, la rechaza.
Cómo funciona
| Agente | Qué hace |
|---|---|
| Planner | Lee tu código (funciones, firmas, docstrings) y decide qué casos hay que probar. |
| Generator | Escribe la prueba pytest de cada caso. |
| Reviewer | La ejecuta en un contenedor Docker sin internet ni acceso a tus archivos, revisa que las aserciones sean legítimas y pide hasta 3 intentos de corrección. |
Por cada prueba registra si pasó, la cobertura de líneas y ramas, cuántos intentos necesitó, los tokens que gastó cada agente y, en las funciones críticas, el Mutation Score.
Instalación
Windows: instalador (recomendado)
- Descarga
QAgent-<versión>-instalador.exedesde la última versión publicada. - Ejecútalo. No necesita permisos de administrador ni tener Python instalado.
- Si Windows muestra «Windows protegió tu PC», elige Más información → Ejecutar de todas formas (el instalador aún no está firmado digitalmente).
Con pip (si ya usas Python 3.10 o superior)
pip install qagent-pytest
qagent
En PyPI se llama qagent-pytest porque el nombre qagent ya lo usaba otro proyecto; el programa, el comando y la marca siguen siendo QAgent.
Antes de la primera corrida
- Docker Desktop, abierto: las pruebas se ejecutan solo dentro de un contenedor aislado. La primera corrida prepara ese entorno sola (necesita internet y tarda unos minutos, una sola vez). Descargar Docker Desktop.
- Claves de API de los modelos de IA: se agregan en la pantalla Configuración del programa, una por agente.
- Git, si vas a abrir repositorios por su URL.
¿Quieres probarlo sin claves ni costo? Agrega la línea QAGENT_FAKE_LLM=1 al archivo .env de la carpeta .qagent de tu usuario (C:\Users\<tú>\.qagent\.env): QAgent usará una IA simulada con respuestas grabadas.
Tus claves, tu configuración y la lista de proyectos recientes se guardan en esa carpeta .qagent de tu usuario, nunca junto al programa. Desinstalar QAgent no las borra.
Primeros pasos
- Abre QAgent desde el menú Inicio (o con el comando
qagent). - En Configuración, agrega la API de cada agente.
- En Proyectos, elige Abrir proyecto (una carpeta con código Python) o Abrir repositorio (una URL de Git).
- Revisa la Vista previa, elige el perfil en Configuración de pruebas e inicia la corrida.
- Sigue el avance en el Monitor y revisa el Reporte final; puedes exportarlo.
Alcance
QAgent genera pruebas unitarias para código Python 3.10+ y pruebas de endpoints FastAPI. Integración contra servicios reales, extremo a extremo, carga y estrés quedan fuera de esta versión.
Para el equipo de desarrollo
Cómo preparar el entorno, ejecutar las pruebas, construir el instalador y publicar una versión: docs/desarrollo.md. Las reglas del proyecto están en AGENTS.md y las decisiones técnicas en docs/decisiones/.
Equipo
Proyecto del curso Taller Integrador I, Ingeniería de Sistemas e Inteligencia Artificial, Universidad Privada Antenor Orrego (UPAO).
Castillo Pezo, Mateo · Oncoy Patricio, Angel · Rodríguez Malca, Rodrigo · Sanchez Vargas, Adrián
Licencia
MIT.
Metadata
Release files for qagent-pytest 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| qagent_pytest-0.1.0.tar.gz | 441.2 kB | With provenance | Details for qagent_pytest-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| qagent_pytest-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for qagent_pytest-0.1.0-py3-none-any.whl |
Total release size: 924.8 kB
Release files / qagent_pytest-0.1.0.tar.gz
| Download URL | qagent_pytest-0.1.0.tar.gz |
|---|---|
| Size | 441.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
290b825987f994be247d1d55b9ca090d674ddcd11f8124df91d4d502ad6ac24a
|
|
BLAKE2b-256 checksum How to use checksums |
c3228338d3d19cac07c16a3e9cad0af71cd4a693eb599abcc1af3005e3f5a558
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logRelease files / qagent_pytest-0.1.0-py3-none-any.whl
| Download URL | qagent_pytest-0.1.0-py3-none-any.whl |
|---|---|
| Size | 483.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9810212dbe45117edd2d59c1f725aad8f9e0104e6c5f62875ffa1ad2e59bc42d
|
|
BLAKE2b-256 checksum How to use checksums |
cb61c4f872f9a466355d13bc8ba46ff3d501617c9131f1350e896c788a8c8e9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logSecurity for qagent-pytest 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for qagent_pytest-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.