intive Argentina Blog

La importancia de las bases de datos para testing 

La mayoría de las veces, para el testeo de aplicaciones se necesita conocimiento sobre otras herramientas, con el fin de hacer una evaluación más completa y técnica del producto. Sabemos que esas herramientas varían según las necesidades del proyecto y, eso nos hace preguntarnos, ¿qué herramientas debería saber sí o sí un QA? La respuesta es un tanto compleja.

Jmeter, Postman, Selenium, Appium… Fueron algunas de las respuestas que salieron a relucir, de acuerdo con la opinión de algunos de los integrantes de nuestra brigada que, insistimos, varía según las características del producto en el que estén trabajando. Lo cierto es que, en lo que lo que sí o sí coincidimos todos, fue en la necesidad de saber sobre motores de bases de datos. 

¿Por qué un/a QA debería tener conocimientos sobre bases de datos?

Conversando con uno de nuestros devops, Rogelio Di Pasquale, encontramos que básicamente la idea es que, trabajando en calidad, necesitás poder comprender cómo funciona la aplicación y dar feedback sobre «internals» de acciones que deben suceder.

Un test sobre la aplicación es claro que tiene que decirme «generé esto y luego veo tal efecto». Pero un caso no tan feliz, hay gran variabilidad de qué pudo suceder y, no sabemos si el defecto está relacionado con un cambio planificado.

Si vos, como QA, podés decir: «cuando genero x se cargan estos datos en la base de datos, luego tal otro servicio lo consume», vas a poder diagnosticar qué lugar del proceso es el que falla.

Saber sobre bases de datos es útil también para desencadenar acciones que esperás de un flujo. Hay estadios de los datos en los que se cumple una funcionalidad. Puedo esperarlos o actuar sobre esos estadios.

Independencia

En reiteradas ocasiones o en casos extremos, como QA debemos manipular datos para ejecutar ciertas pruebas. Entonces, conocer cómo funciona ese modelo de datos, tener acceso a QA y generar por cuenta propia esos valores, significa acelerar un proceso, lo que se traduce en eficiencia del tiempo de prueba y, al mismo tiempo, en independencia para desenvolverte con un motor de bases de datos. Asimismo, mitigamos la relación de dependencia que ocurre en algunos casos cuando es imprescindible ‘hardcodear algo’, revisar una actualización en un campo de la tabla o, reemplazar un dato desde la base porque no sería posible hacerlo como usuario final desde un frontend.

Por otro lado, vale destacar que no para todos los tipos de test resulta ‘más recomendable’ manipular datos para pruebas, ya que se pueden generar falsos positivos, no sería aconsejable por ejemplo en una regression o un smoke; pero sí, en el border test, en el que generar este tipo de datos en un contexto “real” es más complicado y hay que forzar de alguna manera, esos datos.

Relacionales vs no relacionales. ¿Afecta saber de una u otra?

Aunque es una pregunta que se presta para subjetividades, desde la brigada coincidimos en que en el mundo de QA, no debería afectar sustancialmente tener conocimientos de una base de datos más que de la otra. Lo importante es entender cómo se organizan de acuerdo al producto que se está desarrollando y cómo consultar esa base de QA para entender la forma en que los datos viajan.

Es decir que, lo primordial es ser consciente de dónde se almacenan los registros, tomando en cuenta que pueden tener distintos formatos como numéricos, booleanos o de texto, que son los más utilizados.

Lo cierto de todo esto, es que según nuestra experiencia, las bases de datos relacionales son las más demandadas en el perfil de un QA al momento de ingresar a un proyecto. Pero como mencionamos anteriormente, al conocer un modelo y un motor de base de datos, el resto que queda por aprender es siempre más sencillo.

De cualquier forma, si querés empezar con algo, te recomendamos Mysql, un sistema de gestión de bases de datos de código abierto. Es multiplataforma y además hay muchos clientes que pueden conectarse, por lo que trabajás con el que más te guste. También es lo suficientemente robusto como para estar en producción y liviano como para instalarlo en tu máquina.

Para finalizar, no solo suma independencia y capacidad técnica a un QA saber de bases de datos, sino que también suma al resto del equipo. Cuando un tester dice: “este dato no está persistiendo en una base de datos”, implica que conoce los estadios de las funcionalidades, por lo que lleva a cabo mejores procesos de calidad.

Gisela Villalba

Gisela Villalba es analista QA / QC en intive-FDV desde diciembre de 2017. Recibida de la Tecnicatura Superior en Análisis de Sistemas del Instituto de Formación Superior Técnica Nº172, además se encuentra estudiando la carrera de Licenciatura en Gestión de la Información en la Universidad Nacional de Lomas de Zamora (UNLZ). Hincha de Temperley, disfruta leer, escuchar música, cantar bajo la lluvia y andar en rollers. Le encantan los niños y los animales, en cuyas miradas dice encontrar la inocencia del mundo.

Ilein González

Ilein González es licenciada en Comunicación Social, mención periodismo, graduada de la Universidad Católica Andrés Bello. Desde mayo del año 2018 se desempeña como Analista de Calidad en intive-FDV, en uno de los proyectos más desafiantes de la compañía. Ilein es además una entusiasta de la innovación y los procesos.

Deja un comentario