Files

48 lines
1.7 KiB
TeX

\chapter{Herramientas profesionales y CI}
\label{ch:herramientas}
\section{Stack de tooling}
\begin{table}[h]
\centering
\begin{tabular}{@{}llp{5.5cm}@{}}
\toprule
\textbf{Herramienta} & \textbf{Rol} & \textbf{D\'onde} \\
\midrule
pytest & Unit/integraci\'on Python & bots, bot-descarga, extraction \\
Vitest & Unit frontend & desktop\_app \\
go test & Unit count-api & services-count-... \\
k6 & Carga / estr\'es & \texttt{docs/plan\_pruebas/scripts} \\
Docker Compose & Stack + smoke & ra\'iz del repo \\
latexmk & Compilar este plan & \texttt{docs/plan\_pruebas} \\
respx / httpx mock & Fake HTTP LLM/API & CI Python \\
LocalStack / moto & MinIO local & Integraci\'on \\
\bottomrule
\end{tabular}
\caption{Herramientas profesionales adoptadas.}
\end{table}
\section{Pipeline CI objetivo (no implementado en esta entrega)}
Orden recomendado por PR:
\begin{enumerate}
\item \texttt{pytest} bots + bot-descarga.
\item \texttt{npm test} desktop.
\item \texttt{go test ./...} count-api.
\item \texttt{docker compose up} + curl smoke \texttt{/health/live}.
\item Nightly: k6 ST-GW-01 y ST-BOT-01 en staging.
\end{enumerate}
\section{Compilar este documento}
\begin{lstlisting}[language=bash,caption={latexmk}]
cd docs/plan_pruebas
latexmk -pdf main.tex
\end{lstlisting}
\section{Prioridad de implementaci\'on de tests (ROI)}
\begin{enumerate}
\item FastAPI TestClient bot-descarga (claim, cancel, auth, offline).
\item Integraci\'on gateway $\rightarrow$ bot-descarga $\rightarrow$ PG $\rightarrow$ MinIO local.
\item Estr\'es heartbeats + events (patr\'on de carga real del bot).
\item Estr\'es count-api (riesgo OOM).
\item CI m\'inimo para no perder cobertura.
\end{enumerate}