Entrevista: Curso de “Técnicas Avanzadas para Testing Automatizado”

Sumario

Entrevista al Dr Marcelo Frias vinculada con el curso de Técnicas Avanzadas para Testing Automatizado a celebrarse en la RIO 2013.

Testing Automatizado, Entrevista

Introducción

Es interesante tener conocimiento acerca de los cursos intensivos que tendrán lugar en la RIO 2013, desde el 18 al 23 de febrero de este año, donde el Dr Marcelo Frias estará dando este curso.

Desde el sitio oficial, hay un enlace que nos permite bajar un archivo comprimido que contiene 8(ocho) archivos con material vinculado con la formación.

Las ‘Técnicas Avanzadas para Testing Automatizado’, es un área de conocimiento que ya esta con nosotros y las tendencias indican que será una práctica que acompañará a todo proyecto de testing, sea cual fuere éste, de ahora en más.

En virtud a ello, y como venimos siguiendo el tema no solo desde este blog sino además desde el Grupo de Discusión (TESTING & QA) a través de los distintos Debates y Encuestas publicadas, es que nos pusimos en contacto con el Dr Frias para proponerle una entrevista y conocer más en detalle acerca de estas jornadas, su experiencia anterior, el alcance del curso, qué espera del mismo, y su opinión respecto a la tendencia de estas prácticas.

Entrevista (TB:TestingBaires/MF:Marcelo Frias)

1.TB: Profesor, si bien visitando el sitio oficial de RIO 2013 se puede acceder al alcance de esta formación, ¿Cómo podría brevemente explicar porqué es útil y/o necesario contar con este conocimiento?

MF: Antes de contestar quiero agradecerles por el interés en la Rio2013 en general, y en el curso que dictaré en particular. La Rio2013 es la vigésima edición de la Escuela, y la misma ha sido de inmensa ayuda para miles de estudiantes argentinos que han accedido a cursos dictados por científicos y/o tecnólogos nacionales y extranjeros de primer nivel.

El curso que voy a dictar en esta edición de la Escuela tiene por objetivo presentar una serie de técnicas de testing que normalmente no forman parte de la formación de grado brindada por las Universidades Públicas o Privadas argentinas. Estas técnicas permiten generar tests de manera automática, al mismo tiempo que poseen buenas propiedades como por ejemplo el garantizar buena cobertura de condiciones o garantizar una alta taza de mutantes eliminados.

Definición: Dado un método M, un mutante de M es un método M’ que difiere de M en que una (1) de sus sentencias ha sido mutada. Una mutación de una sentencia s es el reemplazo de alguna parte de s por otra expresión. Por ejemplo, en la sentencia “i++;”, se puede reemplazar el operador aritmético ++ por –. En una sentencia “x = y + x;” se puede cambiar + por -, o alguna de las variables por otra de un tipo compatible.

2.TB: Actualmente ¿Cuáles son las acciones que Ud está llevando a cabo para difundir este tipo de prácticas?

MF: El dictado de este curso es una de ellas. Se suma al dictado de un curso con objetivos similares durante la Escuela de Ciencias Informáticas (ECI 2012) en Exactas-UBA por parte de mi colega el Prof. Nazareno Aguirre, y seguramente organizaremos más actividades incluso a través de la cooperación con TestingBaires.

TB: Cuenten con nosotros para toda difusión y/o colaboración en conjunto.

3.TB: ¿Considera que en Argentina esta práctica es común o se encuentra en crecimiento?

MF: Ciertamente el testing en general es una actividad ampliamente adoptada en los procesos (ágiles) de desarrollo. Considero que las técnicas en las que se basa el curso deben tener una mayor presencia dado que permiten incrementar la productividad y efectividad de los testers. Ciertamente varias de las herramientas que utilizaremos en el curso no tienen actualmente la presencia que merecen en el portfolio de herramientas de los testers.

4.TB: ¿Qué beneficios le trae a la empresa tener personal certificado para llevar a cabo este tipo de técnicas?

MF: Algunas de las herramientas presentadas en el curso son aún de fuerte tenor académico, y no están aún en condiciones de ser adoptadas en el trabajo diario. Sin embargo, otras pueden brindar importantes beneficios. Un escenario de uso particularmente interesante es el siguiente: si deseamos tener test suites que garanticen un cierto tipo de cobertura, y nuestros tests aún no lo brindan, hay herramientas entre las que veremos en el curso que permiten incrementar esta cobertura y de esta forma mejorar la calidad de nuestras suites.

5.TB: ¿RIO 2013 tiene algún tipo de comunidad donde el Tester interesado pueda acceder a información y beneficios relacionados?

MF: No hay una comunidad formalmente organizada para tal fin, pero ciertamente es posible organizar una, o mejor aún colaborar con TestingBaires que ya tiene una comunidad ávida de conocimiento y de nuevas tecnologías.

TB: Será un honor que integre principalmente la comunidad actual que compone el grupo de discusión en LinkedIn : TESTING & QA. Para ello, hay dos requisitos fundamentales: (1) Hacerse miembro de la red LinkedIn, (2) Unirse al grupo de discusión TESTING & QA (Aclaración: el nombre del grupo es todo en mayúscula). El sistema interno de LinkedIn nos envía la solicitud para unirse al grupo, y apenas la autorizamos, el interesado ya formará parte del grupo pudiendo acceder / participar de todos los distintos Debates, Promociones y Ofertas Laborales que están publicadas (el 8% de la comunidad son miembros de RRHH), además de enterarse de novedades de charlas y formaciones virtuales que se darán durante el año anunciadas por los propios miembros del grupo, o que Ud mismo proponga. Por supuesto que todo este comentario vale hacerlo extensivo a toda la comunidad universitaria (alumnos y profesores) que se muestre interesada por este área de conocimiento.

6.TB: ¿Cuáles son las ventajas a nivel profesional que le puede brindar a un tester tomar este curso intensivo?

MF: Este es un curso planteado (fundamentalmente) para estudiantes universitarios de grado y, como tal, incluye conceptos teóricos además de herramientas y tecnología.
Pero hay una versión de este curso pensada para profesionales que se centra en el buen uso de estas herramientas. Entre las herramientas hay desde herramientas utilitarias que permiten medir la cobertura lograda con una suite, hasta herramientas que permiten generar datos de test que garantizan cubrir un lugar específico escogido por el tester dentro del código. Dentro de estas últimas hay distintas herramientas que se distinguen por los dominios en los que consiguen mayor cobertura, por ejemplo.

7.TB: ¿Está pensando en organizar reuniones ‘físicas’ en Buenos Aires?

MF: Sí. El plan es organizar un ciclo de encuentros centrados en una herramienta diferente en cada uno. En los mismos se explicarán los fundamentos que hacen a esa herramienta especial, las cualidades de la misma, cómo instalarla, y si la cantidad de asistentes lo permite, una experiencia “hand-on” utilizando la herramienta.

8.TB: ¿Está pensando en organizar reuniones ‘Virtuales’ en Buenos Aires?

MF: La verdad que en este momento estoy más interesado en organizar encuentros presenciales, pero no lo descarto como una actividad a realizar de manera esporádica, o en el futuro de forma periódica.

9.TB: ¿Qué le recomendaría al Tester que todavía tiene dudas sobre si encarar o nó el estudio de este tipo de técnica?

MF: Primero y fundamental, estudiar siempre es bueno. Aún si el resultado de ese “estudio” es que una cierta técnica/herramienta no es del agrado de uno, al menos uno tendrá la certeza de que la está descartando en base a una decisión informada, y no por desconocimiento. Y por supuesto es muy posible que algunas de las técnicas efectivamente sean de su agrado y utilidad, y decida adoptarlas.

10.TB: ¿Hay algo que nos quiera contar y que sea de interés general para la Comunidad de Testers?

MF: El testeo del software es sin dudas una actividad central en el desarrollo de software porque es una forma de análisis de software que es escalable y relativamente sencilla (en comparación a otras técnicas). Sin embargo, el testeo de una aplicación tiene limitaciones importantes. Por ejemplo, salvo en contadas excepciones no brinda información sobre el comportamiento de la aplicación fuera de los inputs testeados. Si se adopta la práctica de utilizar contratos en las clases, entonces es posible utilizar técnicas que brindan mayor confianza acerca de la aplicación testeada al concluir que esta es correcta para cientos de miles o incluso millones de tests (que por supuesto se generan automáticamente). Estas técnicas se presentarán en el curso en la Rio2013 si el tiempo lo permite.

Agradecemos al Dr Marcelo Frias por su predisposición durante la entrevista y todo la información que nos ha dado.

Prof. Dr. Marcelo F. Frias
Profesor Titular, Instituto Tecnológico de Buenos Aires
e-mail: mfrias@itba.edu.ar
Investigador del CONICET

Nota: Esta entrevista ha sido publicado en TESTING & QA (grupo de discusión en LinkedIn) donde podrás seguir los debates que se inicien de la misma.

Te invito a que te unas al grupo y puedas conocer las novedades de nuestra actividad y participar de las discusiones.

Gus Terrera

Apasionado por el agile testing y la ia.

Deja una respuesta