31 lines
1.0 KiB
TeX
31 lines
1.0 KiB
TeX
\chapter{Metodolog\'ia}
|
|
\label{ch:metodologia}
|
|
|
|
\section{Tipos de prueba}
|
|
\begin{enumerate}
|
|
\item \textbf{Unitarias} --- pytest (agent y API bot).
|
|
\item \textbf{Humo / funcional} --- curl y checks HTTP del gateway.
|
|
\item \textbf{Carga} --- k6 perfil \texttt{shared8g}.
|
|
\item \textbf{Capacidad} --- modelo anal\'itico (no carga de 100k PDFs).
|
|
\end{enumerate}
|
|
|
|
\section{Herramientas}
|
|
k6 (Grafana), pytest, Docker stats, curl, pdflatex/pgfplots.
|
|
|
|
\section{SLOs perfil \texttt{shared8g}}
|
|
\begin{itemize}
|
|
\item Gateway \texttt{/health/live}: p95 $<$500\,ms; fail $<$1\,\%.
|
|
\item Heartbeats bot: p95 $<$800\,ms; checks $>$95\,\%.
|
|
\item No usar \texttt{/health} agregado como SLO de latencia.
|
|
\end{itemize}
|
|
|
|
\section{Comandos representativos}
|
|
\begin{lstlisting}[language=bash]
|
|
k6 run -e PROFILE=shared8g -e BASE_URL=http://127.0.0.1:8189 \
|
|
k6_gateway_health.js
|
|
k6 run -e PROFILE=shared8g -e BOT_API_TOKEN=... \
|
|
k6_bot_heartbeats.js
|
|
python -m pytest bots/bot_descarga/tests -q
|
|
cd services/bot_descarga && python -m pytest tests -q
|
|
\end{lstlisting}
|