Herramientas para las pruebas - maridelvalle15/ghost-automated-tests GitHub Wiki

Herramientas utilizadas para las pruebas

Las herramientas utilizadas para la implementación de las pruebas automatizadas fueron Cypress y Kraken. A continuación se detallan los pros y contras de cada una de ellas.

Cypress

Pros

  • Permite ejecutar pruebas de forma automatizada, lo cual puede ahorrar tiempos y costos
  • Amplia documentación y material para comprender el uso de esta herramienta
  • Facilidad en el uso, especialmente en el hecho de que no existe un desgaste en instalación, es simplemente descargar un paquete de internet y abrir el ejecutable
  • El uso de la herramienta es gratuito, esto puede ser un plus para que las empresas decidan utilizarlo
  • Una vez ejecutada la prueba se puede hacer seguimiento paso a paso (debug) para identificar en qué instrucción falla la prueba e intuir mejor el error, además la herramienta proporciona indicaciones a cerca del error.

Contras

  • Las pruebas se escriben en un lenguaje técnico, por lo que puede ser difícil comprenderlas por parte del personal no técnico
  • A pesar de la amplia documentación, se requiere de experticia para poder interpretar los fallos y corregir las pruebas
  • Para una persona junior la curva de aprendizaje puede ser demorada, es mejor que se acompañe de un experto mientras adquiere la habilidad en el uso de la herramienta y construcción de las pruebas
  • Ante cambios muy drásticos en la aplicación (GUI) las pruebas pueden fallar y se puede llegar a requerir una reescritura o reelaboración

Kraken

Pros

  • Facilita la implementación de pruebas e2e para aplicaciones web
  • Permite la ejecución de múltiples pruebas en un tiempo menor del que podría ejecutarlo una persona
  • Permite ejecutar pruebas en un horario en el que una persona quizás no podría (por ejemplo horas de noche o fuera del horario laboral)
  • Permite hacer pruebas tanto para aplicaciones web como mobile
  • Al utilizar Gherkin facilita la definición de los escenarios para las pruebas, y esto ayuda a presentar los escenarios a personas no técnicas

Contras

  • Si un escenario falla a veces es difícil saber por qué ya que no se muestra suficiente detalle del fallo
  • Al no estar en su versión definitiva se hizo necesario reportar bugs para su revisión
  • Si no se tiene conocimiento del funcionamiento de la herramienta o de la sintaxis utilizada, la implementación de las pruebas puede ser lenta
  • Se requiere hacer mucha configuración previa al uso de la herramienta
  • Al depender muchas veces del ensayo y el error para hacer ajustes en las pruebas, al requerir que se ejecute nuevamente cada prueba puede hacerse lento el proceso de implementación