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.
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
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.
http://testingbaires.com/entrevista-curso-de-tecnicas-avanzadas-para-testing-automatizado/
No hay comentarios.:
Publicar un comentario