iti-ict / wakamiti

BDD testing tool using step libraries
https://iti-ict.github.io/wakamiti/
Mozilla Public License 2.0
33 stars 6 forks source link

Revisar el rendimiento #64

Open auxicarlos opened 1 year ago

auxicarlos commented 1 year ago

Cuándo se están ejecutando muchas pruebas, estas fallan por una fallo de memoria de Java. Debería revisarse el rendimiento de wakamiti para que esto no pase.

mgalbis commented 1 year ago

Retomo este issue para indicar más problemas debido a un alto número de escenarios. A los problemas de Out of Memory se le suma el tamaño del report html que puede llegar a alcanzar una cantidad de MB que imposibilita que se pueda subir a algunos lugares o enviarse por correo.

linesta-iti commented 1 year ago

La solución a esto implica hacer un cambio drastico en la forma en que se manejan los planes de test. En vez de mantener todo el arbol en memoria, se deberían persistir los nodos en una base de datos interna, y trabajar solo con el trozo de arbol que contenga el escenario en cuestión.

Para ello, se debe cambiar por completo la forma en que se construye y se ejecuta el plan de test, asi como la generación del informe, haciendo uso de este repositorio de nodos para recuperarlos uno a uno en vez de trabajar con todo el árbol en memoria.

Hasta que no se apliquen estas modificaciones, que serán costosas y pueden originar problemas secundarios, la única manera de asumir esto es no ejecutar todo el plan de una sola vez, bien repartiendo los ficheros feature en distintas carpetas, o etiquetándolos con tags que identifiquen a que tanda pertenecen, y haciendo varias ejecuciones consecutivas en vez de una única.

linesta-iti commented 1 year ago

En https://github.com/luiinge/wakamiti3/tree/main/wakamiti-repository se puede ver una versión muy inicial del concepto del repositorio de nodos en la que he estado trabajando fuera de jornada.