<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3360428795422884065</id><updated>2012-02-03T08:05:40.459-08:00</updated><category term='Knowledge Management'/><category term='Videos'/><category term='Testing de Performance'/><category term='Microsoft'/><category term='OpenSTA'/><category term='Emprendiendo en Uruguay'/><category term='Genexus'/><category term='Valores'/><category term='Alianzas'/><category term='GXUnit'/><category term='Testing Basado en Modelos'/><category term='Eventos'/><category term='Metodología'/><category term='Emprendedurismo'/><category term='GxTest'/><category term='Venture Capital'/><category term='GxStress'/><category term='Google'/><category term='Historia'/><category term='WatiN'/><category term='Software Product Lines'/><category term='Testing'/><title type='text'>Abstracta Blog</title><subtitle type='html'>Simplificando el Testing</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default?start-index=26&amp;max-results=25'/><author><name>Fabián Baptista</name><uri>https://profiles.google.com/111746128060367103556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-a3-HVp461fQ/AAAAAAAAAAI/AAAAAAAAA2E/JfHpoaQVd30/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>124</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-8844990742915317490</id><published>2012-01-27T08:14:00.000-08:00</published><updated>2012-01-27T12:50:05.619-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxStress'/><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSTA'/><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing de Performance'/><category scheme='http://www.blogger.com/atom/ns#' term='Genexus'/><title type='text'>Tests de Performance en GeneXus</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-7jeeS_ZxC-E/TyLYuKZjkoI/AAAAAAAABfk/wX0_OULQH_A/s1600/blog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://3.bp.blogspot.com/-7jeeS_ZxC-E/TyLYuKZjkoI/AAAAAAAABfk/wX0_OULQH_A/s640/blog.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Si alguna vez intentaron hacer pruebas de performance sabrán que no es una tarea que se haga de la noche a la mañana, y generalmente llevan mucho esfuerzo, especialmente para la preparación de las pruebas, donde lo más complejo (especialmente en sistemas desarrollados con GeneXus) es la automatización de los casos de prueba.&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Finalmente estamos anunciando la liberación de una nueva funcionalidad de GXtest que permite generar pruebas de performance en tiempo record, más rápido que con cualquier otra herramienta, con las facilidades que brinda GXtest, permitiendonos así simular la realidad a la cual se quiere poner en producción el sistema con buena fidelidad.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;En muchas situaciones, tales como cuando nuestro sistema debe estar accesible para muchos usuarios que trabajan simultáneamente sobre el servidor, o si ciertas operaciones deben ser resueltas en determinados tiempos de respuesta, o bajo cierta cantidad de recursos limitada, &lt;b&gt;no hay otra&lt;/b&gt; que hacer una prueba de performance. Es la única forma en la que podemos verificar cómo se comportará nuestro sistema, mediante una simulación de la carga con el uso de las herramientas adecuadas.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Los principales motivos por los cuales nos puede interesar evaluar el rendimiento de nuestro sistema son:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 115%; text-indent: -18pt;"&gt;Poner en producción un nuevo sistema&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 115%; text-indent: -18pt;"&gt;Cambiar la tecnología (ej. migrar de Win a Web)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 115%; text-indent: -18pt;"&gt;Cambiar el hardware, arquitectura, DBMS o SistemaOperativo de algún componente&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 115%; text-indent: -18pt;"&gt;Liberar un cambiosignificativo en la aplicación&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span lang="ES" style="color: #262626; font-family: inherit; line-height: 115%;"&gt;Los beneficios:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: #262626;"&gt;&lt;span style="font-family: inherit; line-height: 18px;"&gt;Determinar el hardware mínimo necesario para soportar las necesidades.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #262626;"&gt;&lt;span style="font-family: inherit; line-height: 18px;"&gt;Conocer y así controlar:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: #262626;"&gt;&lt;span style="font-family: inherit; line-height: 18px;"&gt;Tiempos de respuesta,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #262626;"&gt;&lt;span style="font-family: inherit; line-height: 18px;"&gt;Consumo de recursos (CPU, Memoria, Disco, red, etc.)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #262626;"&gt;&lt;span style="font-family: inherit; line-height: 18px;"&gt;Interrupciones de servicio&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #262626;"&gt;&lt;span style="font-family: inherit; line-height: 18px;"&gt;Recuperación a fallos&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: #262626;"&gt;&lt;span style="line-height: 18px;"&gt;Hasta hoy, para automatizar testing funcional de apliacaciones GeneXus usamos&amp;nbsp;&lt;a href="http://gxtest.abstracta.com.uy/"&gt;GXtest&lt;/a&gt;. Para testing de performance seguíamos teniendo &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Testing_Automatizado_en_GeneXus#Selecci.C3.B3n_de_la_Herramienta"&gt;un gran problema al usar las herramientas tradicionales&lt;/a&gt;. Dado la forma en la que trabajan las herramientas que permiten realizar este tipo de simulaciones, los scripts (casos de prueba automatizados) quedan muy sensibles a los cambios de la aplicación. Esto es: introduzco un&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #262626; line-height: 18px;"&gt;pequeño cambio en el desarrollo o cambio&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #262626; line-height: 18px;"&gt;la versión de GeneXus&lt;/span&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 18px;"&gt;, y los scripts &lt;/span&gt;&lt;b style="color: #262626; font-family: inherit; line-height: 18px;"&gt;quedan casi inservibles &lt;/b&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 18px;"&gt;(problemas de &lt;/span&gt;&lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Beneficios_de_GXtest#Mantenimiento" style="font-family: inherit; line-height: 18px;"&gt;mantenimiento de scripts&lt;/a&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 18px;"&gt;) teniendo que rehacerlos por completo.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 18px;"&gt;&lt;a href="http://www.genexus.com/products/gxtest?en"&gt;GXtest Professional&lt;/a&gt; libera una nueva funcionalidad &lt;u&gt;ya probada en varios proyectos con éxito&lt;/u&gt;&lt;span style="background-color: white;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 18px;"&gt;&lt;b&gt;&lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=GXtest2OpenSTA" style="background-color: white;"&gt;GXtest2OpenSTA&lt;/a&gt;&lt;/b&gt;, que permite a quienes desarrollan con GeneXus usar una herramienta como GXtest para hacer testing de performance.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 18px;"&gt;Permite preparar los scripts de pruebas mucho más rápido y fácil, brindando la facilidad de generar scripts que se alimenten de distintos juegos de datos, validen las respuestas de la aplicación, simulando las acciones del usuario, para que luego GXtest genere los scripts ejecutables en OpenSTA con pedidos http en forma automática.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #262626; font-family: inherit; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #262626;"&gt;&lt;span style="font-family: inherit; line-height: 18px;"&gt;El top 3 de beneficios:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: #262626; line-height: 18px;"&gt;&lt;span style="font-family: inherit;"&gt;Reducción de más de un 80% de construcción de los scripts OpenSTA. (para casos complejos mucho más aún)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #262626; line-height: 18px;"&gt;&lt;span style="font-family: inherit;"&gt;Permitir ajustar cambios en desarrollo / tunning y volver a regenerar&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #262626; line-height: 18px;"&gt;&lt;span style="font-family: inherit;"&gt;Reducir&amp;nbsp;drásticamente&amp;nbsp;la complejidad de realizar y entender los scripts, y los diferentes pedidos de la aplicación&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #262626;"&gt;&lt;span style="font-family: inherit; line-height: 18px;"&gt;Les dejo un video de cómo se generean los scripts y cómo se ejecuta la prueba:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" mozallowfullscreen="" src="http://player.vimeo.com/video/35650090?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=59a5d1" webkitallowfullscreen="" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: #262626; line-height: 18px;"&gt;&lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=GXtest2OpenSTA" style="background-color: white;"&gt;Aquí &lt;/a&gt;&lt;/span&gt;&lt;span style="color: #262626; line-height: 18px;"&gt;encontrarán información de para qué y cómo realizar scripts de carga para sistemas GeneXus usando GXtest.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: #262626; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: #262626; line-height: 18px;"&gt;Estamos muy contentos con este gran avance que nos permite resolver necesidades de nuestros clientes en tiempo record, solucionando problemas de performance, ofreciendo un mejor servicio, logrando que puedan liberar nuevos sistemas, nuevas funcionalidades, con mayor calidad, menor riesgo y menores costos.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-8844990742915317490?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/8844990742915317490/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=8844990742915317490' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8844990742915317490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8844990742915317490'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/12/tests-de-performance-en-genexus.html' title='Tests de Performance en GeneXus'/><author><name>Fabián Baptista</name><uri>https://profiles.google.com/111746128060367103556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-a3-HVp461fQ/AAAAAAAAAAI/AAAAAAAAA2E/JfHpoaQVd30/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-7jeeS_ZxC-E/TyLYuKZjkoI/AAAAAAAABfk/wX0_OULQH_A/s72-c/blog.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6830224290604403509</id><published>2011-12-21T07:10:00.000-08:00</published><updated>2011-12-26T10:12:00.892-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Knowledge Management'/><title type='text'>Transferencia de conocimiento con el testing de regresión</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_A2II5LK-Wc/Tvi4wJHkFmI/AAAAAAAABec/oF-rRlePEqw/s1600/6538584763_b51f2f0d01_b.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-_A2II5LK-Wc/Tvi4wJHkFmI/AAAAAAAABec/oF-rRlePEqw/s400/6538584763_b51f2f0d01_b.jpg" width="262" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-family: inherit;"&gt;Quiero dejarles algunos comentarios de la forma en que nos vimos resolviendo dos cosas muy importantes que teníamos para hacer, en una combinación que creo que puede ser repetible en casi cualquier contexto:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;Actualizar la información en el &lt;/span&gt;&lt;i style="font-family: inherit;"&gt;issue tracker&lt;/i&gt;&lt;span style="font-family: inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;Capacitar a un nuevo integrante del equipo en aspectos varios de testing y de GXtest.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Usamos &lt;a href="http://mantisbt.org/"&gt;Mantis&lt;/a&gt; para gestionar los incidentes.&amp;nbsp;La gran mayoría de los &lt;i&gt;issues&lt;/i&gt; los reporté yo (al comienzo era el único tester), parte por clientes y otros usuarios.&amp;nbsp;Por priorizar las pruebas de otros componentes o funcionalidades, muchas veces se deja de lado la verificación de la resolución de los incidentes. El ciclo que tenemos definido para los &lt;i&gt;issues&lt;/i&gt; indica que luego que un desarrollador resuelve un incidente lo pasa a &lt;i&gt;resolved&lt;/i&gt;&amp;nbsp;y de ahí el que lo reportó lo verifica y puede pasarlo a &lt;i&gt;closed&lt;/i&gt; o puede decir que aún no está solucionado. Entonces, teníamos muchos incidentes en estado &lt;i&gt;resolved&lt;/i&gt;&amp;nbsp;que estaban a la espera de que se verifiquen por un tester.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Hace poco incorporamos dos personas a nuestro equipo. En particular Leopoldo está más dedicado al testing funcional, y como suele suceder gran parte de su tiempo al comienzo está destinado a capacitarse, no solo en testing sino también en el producto que en este caso es &lt;a href="http://www.abstracta.com.uy/es.html"&gt;GXtest&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Lo que buscamos fue una forma de que se capacite y a su vez genere valor, sintiendo además que está dedicando sus horas a algo que de frutos. Combinando estas dos cosas ¿qué nos planteamos?: revisar los incidentes en estado &lt;i&gt;resolved&lt;/i&gt;&amp;nbsp;y decidir si se podían cerrar o si se debían reabrir o revisar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Objetivo planteado:&amp;nbsp;&lt;i&gt;5 por día y verá que puede&lt;/i&gt;. La idea era no pasar todo el día revisando incidentes, sino que irlo haciendo en forma paulatina y con cierta constancia.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Resultados: positivos!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Sin buscarlo se superó la cantidad pensada de 5 por día. A medida pasa el tiempo se observa más agilidad e independencia para la revisión de los incidentes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Se aprende de:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;la aplicación y el dominio&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;de testing (en base a los reportes se pueden observar implícitamente las técnicas utilizadas, las cosas a las que se le pone foco, etc., y también lo efectivo o inefectivo de los reportes)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;Otras beneficios obtenidos&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;se hizo una revisión por pares de los incidentes y de esa forma incluso yo terminé aprendiendo y observando mis errores, de cosas con las que no estaba siendo claro, etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;se hicieron pruebas de regresión sobre incidentes marcados como resueltos&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;se prepararon reportes, los cuales nos permitió ver qué información resulta más útil mostrar para entender rápidamente el avance (en esto llegamos más que nada a cantidad de incidentes pendientes, clasificaciones por prioridades, por criticidad y por categorías)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: inherit;"&gt;Algunos números:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Comenzamos con 301 issues con estado &lt;i&gt;resolved&lt;/i&gt; el 21 de Noviembre, y al 16 de Diciembre nos quedaban 169, reduciendo un 56,41%.&amp;nbsp;Quedan 132 por revisar, (43,59%). De los 169&lt;i&gt; issues&lt;/i&gt; actualizados,   11 pasaron de &lt;i&gt;Resolved &lt;/i&gt;a&lt;i&gt; Open&lt;/i&gt; o&lt;i&gt; Assigned&lt;/i&gt;,  representando un 6,5% de los&lt;i&gt; issues resolved&lt;/i&gt; actualizados, el resto (93,5%) se cerraron. Esto también muestra una efectividad en la corrección de incidentes (excelente Fabián y Matías!).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Esperemos poder seguir aportando datos desde nuestra experiencia, a medida veamos que ellos puedan ser útiles para alguien más. Genial si tienen ideas para contraponer o compartir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Aprovechamos para desearles felices fiestas a nuestros lectores y un año nuevo de plena calidad!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6830224290604403509?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/6830224290604403509/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6830224290604403509' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6830224290604403509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6830224290604403509'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/12/transferencia-de-conocimiento-con-el.html' title='Transferencia de conocimiento con el testing de regresión'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-_A2II5LK-Wc/Tvi4wJHkFmI/AAAAAAAABec/oF-rRlePEqw/s72-c/6538584763_b51f2f0d01_b.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-8017963767948751581</id><published>2011-11-17T05:31:00.001-08:00</published><updated>2011-11-21T10:47:27.848-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>Lo que fue el VLCTESTING</title><content type='html'>&lt;div&gt;Como &lt;a href="http://blog.abstracta.com.uy/2011/11/vlctesting-2011-valencia-espana.html"&gt;les conté&lt;/a&gt;, fui al &lt;a href="http://vlctesting.es/conferenceDisplay.py?confId=1"&gt;VLCTESTING&lt;/a&gt;, celebrado en Valencia.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-5qlMt9PPMeo/TsURFNyTQdI/AAAAAAAAJps/mwVlNR-9jS0/s1600/VLCTESTING_APERTURA-M.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-5qlMt9PPMeo/TsURFNyTQdI/AAAAAAAAJps/mwVlNR-9jS0/s400/VLCTESTING_APERTURA-M.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El evento fue muuuy bueno! Unas 125 personas, mucho más de lo que habían pensado inicialmente los organizadores, en una ubicación muy buena, tanto por las instalaciones como por la ciudad.&amp;nbsp;&lt;/div&gt;&lt;div&gt;La mayoría de las ponencias fueron sobre experiencias concretas en Testing y SQA, donde varias ponencias estuvieron muy interesantes, incluso una de usabilidad.&amp;nbsp;Como hablábamos con &lt;a href="http://www.linkedin.com/pub/beatriz-p%C3%A9rez-lamancha/3b/b82/397"&gt;Bea&lt;/a&gt;, en general muy buen ambiente, con gente interesada por el testing y con ganas de compartir conocimientos. De noche hubo un evento de networking también muy interesante (era en una cervecería, y nos invitaron con cerveza hecha ahí mismo, y con unas pizzas muuy buenas).&amp;nbsp;Por las preguntas planteadas luego de las charlas, y por la gente con la que estuve conversando, adivino que en su gran mayoría eran testers, pero también habían desarrolladores interesados en mejorar sus prácticas en pro de la calidad.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Les dejo algunos links del grupo de testers de Barcelona que organizaron la parte de networking:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.softqatest.net/"&gt;http://www.softqatest.net&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://es.testqa.org/"&gt;http://es.testqa.org&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;También agrego &lt;a href="http://www.softqatest.net/?p=524"&gt;un link a un resumen del evento&lt;/a&gt; por si quieren ver de qué se trató cada charla, y &lt;a href="http://vlctesting.es/internalPage.py?pageId=6&amp;amp;confId=1"&gt;aquí&lt;/a&gt; hay más aún, e incluso están las fotos del evento.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Un dato que me pasó &lt;a href="http://es.linkedin.com/in/mmannise"&gt;Maximiliano Mannise&lt;/a&gt; (uruguayo, formado en testing en Uruguay, organizador del evento y&amp;nbsp;director del Área de Calidad de Software del &lt;a href="http://www.iti.es/"&gt;Instituto Tecnológico de Informática&lt;/a&gt; de Valencia) es que&amp;nbsp;hubo mucha presencia de Uruguay en el evento, en la organización y en el escenario con un 20% de las ponencias. Creo que estamos dejando nuestra marca relacionada a la calidad no sólo a nivel nacional :)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-8017963767948751581?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/8017963767948751581/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=8017963767948751581' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8017963767948751581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8017963767948751581'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/11/lo-que-fue-el-vlctesting.html' title='Lo que fue el VLCTESTING'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-5qlMt9PPMeo/TsURFNyTQdI/AAAAAAAAJps/mwVlNR-9jS0/s72-c/VLCTESTING_APERTURA-M.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3290402786149971940</id><published>2011-11-07T15:27:00.000-08:00</published><updated>2011-11-17T06:03:40.354-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>VLCTesting 2011, Valencia, España</title><content type='html'>El próximo jueves (10/11/11) se celebrará en Valencia el &lt;a href="http://vlctesting.es/"&gt;VLCTesting&lt;/a&gt;, organizado por el &lt;a href="http://www.iti.es/"&gt;ITI&lt;/a&gt;, tratando temas de Calidad de Software y Testing. Ya hemos participado de muchos encuentros de este estilo en Uruguay, y tengo la curiosidad de ver si en España se vive de una forma similar, con las mismas interrogantes y necesidades, y ver si hay experiencias similares a las que nos enfrentamos en el día a día.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-hpkl_06bfzQ/TrfaOixNYYI/AAAAAAAAJpE/eC1UmpUJM60/s1600/valencia_spain-artssciences.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-hpkl_06bfzQ/TrfaOixNYYI/AAAAAAAAJpE/eC1UmpUJM60/s320/valencia_spain-artssciences.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;En el &lt;a href="http://vlctesting.es/conferenceTimeTable.py?confId=1"&gt;programa&lt;/a&gt; podrán ver que por parte de la &lt;a href="http://www.uclm.es/"&gt;UCLM&lt;/a&gt; va &lt;a href="http://www.linkedin.com/pub/beatriz-p%C3%A9rez-lamancha/3b/b82/397"&gt;Beatriz Pérez&lt;/a&gt;, docente de &lt;a href="http://www.fing.edu.uy/"&gt;Facultad de Ingeniería&lt;/a&gt; también, con la que trabajamos en el &lt;a href="http://www.ces.com.uy/"&gt;CES&lt;/a&gt; varios años, exponiendo sobre técnicas de testing combinatorio. Su aporte será desde la academia pero también habrán aportes de empresas, tales como &lt;a href="http://www.bull.es/"&gt;Bull España&lt;/a&gt; o &lt;a href="http://www.excentia.es/"&gt;eXcentia&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ya les contaré qué tal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-3290402786149971940?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/3290402786149971940/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3290402786149971940' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3290402786149971940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3290402786149971940'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/11/vlctesting-2011-valencia-espana.html' title='VLCTesting 2011, Valencia, España'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-hpkl_06bfzQ/TrfaOixNYYI/AAAAAAAAJpE/eC1UmpUJM60/s72-c/valencia_spain-artssciences.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-7713716309809592692</id><published>2011-10-28T11:15:00.000-07:00</published><updated>2011-10-28T11:15:43.442-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>¿Cómo planificar la automatización de casos de prueba junto al desarrollo?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-t7EtS1K-Mkk/TqroiecdrHI/AAAAAAAABAQ/IEnDc77OAgI/s1600/288696873_d8b602fb71_z.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-t7EtS1K-Mkk/TqroiecdrHI/AAAAAAAABAQ/IEnDc77OAgI/s320/288696873_d8b602fb71_z.jpg" width="214" /&gt;&lt;/a&gt;&lt;/div&gt;En este post la idea es mostrar una posible forma de organizar la automatización, en base al plan de desarrollo, a modo de tener las pruebas automatizadas lo antes posible, sin perder de vista el test manual, y que las funcionalidades a automatizar ya deben estar testeadas.&lt;br /&gt;&lt;br /&gt;Esto surgió en base a una pregunta de si tenía sentido automatizar las pruebas &lt;b&gt;antes &lt;/b&gt;de que la aplicación esté lista. En nuestro enfoque, por ahora, no es la forma pensada de trabajo. Existen herramientas que plantean "automatizar" las pruebas antes de implementar, como para seguir algo de &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development"&gt;Test Driven Development&lt;/a&gt;. El tema es que esto puede llegar a ser un poco difícil de concebir, creo que aún falta mucho camino en cuanto a tomar conciencia y dedicar recursos para pruebas, y para automatización, como para priorizar este tipo de funcionalidades en GXtest. De todos modos, queremos compartir este approach que nos parece muy bueno.&lt;br /&gt;&lt;br /&gt;Veámoslo con un ejemplo, en el que tengo un extracto del plan de desarrollo en el que se trabaja sobre 9 funcionalidades en 3 ciclos.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-WplSBtRTqpQ/Tqq3BM09z1I/AAAAAAAAJos/QnaWHMxqs1g/s1600/ciclos.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-WplSBtRTqpQ/Tqq3BM09z1I/AAAAAAAAJos/QnaWHMxqs1g/s1600/ciclos.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Lo importante a ver en el ejemplo es &lt;u&gt;cuándo se hace cada tarea&lt;/u&gt; para un grupo de funcionalidades. Por ejemplo, sigamos las tareas para las funcionalidades F1, F2 y F3. En el primer ciclo se implementan y diseñan las pruebas. en el segundo ya se contará entonces con esas funcionalidades listas para probar, entonces las probamos, y luego las automatizamos. En paralelo con eso el equipo de desarrollo implementa las funcionalidades F4, F5, y F6, y se diseñan pruebas para ellas. En el siguiente ciclo, ya vamos a contar con las pruebas automatizadas para las F1, F2 y F3, entonces las ejecutamos. A su vez contamos con las pruebas diseñadas para las F4, F5 y F6, entonces las ejecutamos manualmente, y las automatizamos como para tenerlas para los siguientes ciclos. Observen que ya estamos ahorrando tiempo en ejecución de pruebas, y recién estamos en el ciclo 3!&lt;br /&gt;&lt;br /&gt;Lo interesante bajo este esquema, es que quién automatiza (si son testers) podrían hacer ellos mismos el testing manual y en ese momento automatizar. Esto tiene como beneficio de que conocen la funcionalidad probándola, y luego al automatizarla les va a ir mejor. Es importante que en este punto al probarla manualmente decidan si la funcionalidad está apta para automatizar o si aún está muy "verde", dejándola para una etapa posterior, luego de las correspondientes correcciones.&lt;br /&gt;&lt;br /&gt;Lo importante de este ejemplo es mostrar cómo planificar la implementación y la automatización de las pruebas.&amp;nbsp;Acá no estoy considerando el diseño de la implementación, que tendría que ir un ciclo atrasado con respecto a la implementación. E incluso si quisiéramos seguir un &lt;i&gt;&lt;a href="http://www.softqanetwork.com/el-famosisimo-modelo-v"&gt;modelo en V&lt;/a&gt;&lt;/i&gt; esto sería un poco distinto, las pruebas las definiríamos al mismo momento que los requerimientos, así que la parte de diseño directamente la sacaríamos de esta parte que ya sería al estar implementando.&lt;br /&gt;&lt;br /&gt;Me gustaría conocer su opinión al respecto, y si tienen para compartir ideas, o formas de trabajo que puedan aportar al resto de la comunidad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-7713716309809592692?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/7713716309809592692/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=7713716309809592692' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7713716309809592692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7713716309809592692'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/10/como-planificar-la-automatizacion-de.html' title='¿Cómo planificar la automatización de casos de prueba junto al desarrollo?'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-t7EtS1K-Mkk/TqroiecdrHI/AAAAAAAABAQ/IEnDc77OAgI/s72-c/288696873_d8b602fb71_z.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-8179338207019760561</id><published>2011-10-25T07:48:00.000-07:00</published><updated>2011-10-25T07:48:44.573-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>Mantener diseño de Test Cases lo más secuencial posible</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-e0g-t5VJ5PY/TqbH4oLJSQI/AAAAAAAAA_o/ALlbbeYdLmg/s1600/5521628207_02c8fcdfe3_b.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-e0g-t5VJ5PY/TqbH4oLJSQI/AAAAAAAAA_o/ALlbbeYdLmg/s400/5521628207_02c8fcdfe3_b.jpg" width="265" /&gt;&lt;/a&gt;&lt;/div&gt;Alguien comentó en el &lt;a href="http://blog.abstracta.com.uy/2011/10/model-based-testing-user-conference.html"&gt;MBTUC&lt;/a&gt;&amp;nbsp;algo que me resultó interesante: los casos de prueba deberían ser lineales en el caso que los resultados sean deterministas, y sólo si tienen alguna variabilidad no definida de antemano agregar distintos flujos, pero lo mejor es &lt;b&gt;mantener las cosas simples y secuenciales&lt;/b&gt;. Muchas veces los que venimos "del palo" de la programación tendemos a hacer casos de prueba tan genéricos que terminan siendo muy complejos.&lt;br /&gt;&lt;div&gt;En esto estamos bastante de acuerdo, y quiero comentar algunas cosas que hemos visto, como para que tengan en cuenta al momento de diseñar sus casos de prueba.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si diseño un único caso de prueba que contempla distintas opciones, probablemente sea más difícil de entender, y para eso tenga que analizar qué se está consultando en cada decisión (bifurcación), qué se hace en un flujo u otro, etc., a menos que sea muy cuidadoso y llene el Test Case de comentarios que simplifiquen ese análisis.&amp;nbsp;De todos modos, un test case secuencial con un nombre descriptivo da la pauta de qué es y qué hace.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Por otra parte, si el día de mañana agrego un nuevo caso, ¿dónde lo hago? ¿cómo agrego la bifurcación? ¿cómo manejo los datos asociados? Hacer test case nuevo, secuencial, con un datapool para ese caso, simplifica bastante esa tarea.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Que opinan al respecto?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-KngSwcVjJ6s/TqbIhFQRgqI/AAAAAAAAA_w/RQJ4joRsq54/s1600/TC+Bifurcaciones.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="120" src="http://3.bp.blogspot.com/-KngSwcVjJ6s/TqbIhFQRgqI/AAAAAAAAA_w/RQJ4joRsq54/s200/TC+Bifurcaciones.png" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;GXtest Complex Flow&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-BCTsHdv-w7E/TqbIilroXOI/AAAAAAAAA_4/r-NIq3M43S4/s1600/simple.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="141" src="http://4.bp.blogspot.com/-BCTsHdv-w7E/TqbIilroXOI/AAAAAAAAA_4/r-NIq3M43S4/s200/simple.png" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;GXtest Simple Flow&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-8179338207019760561?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/8179338207019760561/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=8179338207019760561' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8179338207019760561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8179338207019760561'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/10/mantener-diseno-de-test-cases-lo-mas.html' title='Mantener diseño de Test Cases lo más secuencial posible'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-e0g-t5VJ5PY/TqbH4oLJSQI/AAAAAAAAA_o/ALlbbeYdLmg/s72-c/5521628207_02c8fcdfe3_b.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6714945462347569494</id><published>2011-10-25T00:18:00.000-07:00</published><updated>2011-10-25T00:18:06.452-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Basado en Modelos'/><title type='text'>Camino al Model-based Testing User Conference 2011</title><content type='html'>En poco más de una semana dará comienzo este &lt;a href="http://www.model-based-testing.de/mbtuc11/index.html"&gt;congreso de Testing Basado en Modelos&lt;/a&gt;, en Berlín, Alemania, al cual tendré la oportunidad de asistir.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-zHYXW3kXwc0/TpGAsNI0bCI/AAAAAAAAJoM/1GT9KVZkrNY/s1600/header.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="64" src="http://3.bp.blogspot.com/-zHYXW3kXwc0/TpGAsNI0bCI/AAAAAAAAJoM/1GT9KVZkrNY/s640/header.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Es la primera vez que se hace, así que no se puede decir que es un congreso que es importante por su historia, pero sí por el contenido del mismo. Pretende ser distinto al resto de los congresos de esta temática, ya que generalmente siempre son congresos académicos, mientras este intenta enfocar los aspectos de aplicación e ingeniería de este tipo de técnicas.&lt;br /&gt;&lt;br /&gt;Es organizado por el &lt;a href="http://www.etsi.org/WebSite/homepage.aspx"&gt;European Telecommunications Standards Institute (ETSI)&lt;/a&gt; y por el &lt;a href="http://www.fraunhofer.de/en/about-fraunhofer/"&gt;Instituto Fraunhofer&lt;/a&gt;. El Instituto Fraunhofer es un instituto de investigación alemán que, como dicen en su página, tienen como fin principal orientar su investigación en las necesidades de la gente (&lt;i&gt;the largest application-oriented research organization&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;El &lt;a href="http://www.model-based-testing.de/mbtuc11/program.html"&gt;programa&lt;/a&gt; se ve muy interesante. Hay charlas y tutoriales dados por líderes de testing de empresas como Microsoft y Nokia, de de importantes proveedores de herramientas y servicios de testing como &lt;a href="http://www.conformiq.com/"&gt;ConformiQ&lt;/a&gt; y SmartTesting.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hace unos años, en el Encuentro GeneXus del 2008, presentamos un prototipo de GXtest, y comenzamos la charla contando de qué se trataba el testing basado en modelos, como para luego mostrar cómo GXtest lograba aplicar esa filosofía en el mundo GeneXus, y por qué ese era el mejor enfoque para esta situación. El gurú que teníamos de referencia ya desde ese momento era &lt;i&gt;el amigo &lt;/i&gt;&lt;a href="http://www.linkedin.com/pub/harry-robinson/1/539/a70"&gt;Harry Robinson&lt;/a&gt;. El mismo estará exponiendo una charla en esta conferencia, y realmente es muy interesante tener la oportunidad de conocerlo y compartir el congreso con él.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Testing_Basado_en_Modelos_para_Genexus"&gt;resumen de la charla&lt;/a&gt; y &lt;a href="http://ftpusa.artech.com.uy/eventoxviii/presentaciones/53.pdf"&gt;presentación&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.harryrobinson.net/"&gt;página de Harry Robinson sobre MBT&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Después les contaré qué tal todo.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6714945462347569494?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/6714945462347569494/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6714945462347569494' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6714945462347569494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6714945462347569494'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/10/camino-al-model-based-testing-user.html' title='Camino al Model-based Testing User Conference 2011'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-zHYXW3kXwc0/TpGAsNI0bCI/AAAAAAAAJoM/1GT9KVZkrNY/s72-c/header.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-2434290352629128365</id><published>2011-10-21T04:31:00.000-07:00</published><updated>2011-10-21T04:31:49.132-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Basado en Modelos'/><title type='text'>Model-based Testing User Conference, Berlín - 2011</title><content type='html'>Terminó la conferencia de MBT y lo mejor fue ver que en la industria, en grandes empresas principalmente, se está investigando e invirtiendo en estas técnicas de prueba para garantizar gran calidad de sus sistemas y reducir los costos del proceso de pruebas. El congreso fue de un gran nivel tanto en contenido como en organización, en una hermosa ciudad como lo es Berlín.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ZqzCCE6z42c/TqE0uKp41DI/AAAAAAAAJoc/ZmE2Zf9zgg8/s1600/berlin-cathedral-and.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://1.bp.blogspot.com/-ZqzCCE6z42c/TqE0uKp41DI/AAAAAAAAJoc/ZmE2Zf9zgg8/s320/berlin-cathedral-and.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Las charlas principalmente mostraban herramientas disponibles en el mercado y casos de uso/éxito. Por ejemplo cómo Microsoft prueba &lt;a href="http://www.bing.com/"&gt;Bing&lt;/a&gt; o &lt;a href="http://lync.microsoft.com/en-us/Pages/default.aspx"&gt;Lync&lt;/a&gt; con estas técnicas (con su propia herramienta &lt;a href="http://research.microsoft.com/en-us/projects/specexplorer/"&gt;SpecExplorer&lt;/a&gt;), o cómo empresas como SAP, o Alcatel, Ericsson y Nokia, o &lt;a href="http://www.carmeq.de/start/"&gt;Carmeq&lt;/a&gt; probando software automotriz para VW, Audi, etc. (les recomiendo ver la página que hablan de investigación en un auto que se maneja solo), o la empresa &lt;a href="http://www.gi-de.com/en/index.jsp"&gt;Giesecke &amp;amp; Devrient&lt;/a&gt; probando software embebido en un Cash Center (entre tanto, incluye esas máquinas que cuentan billetes a velocidad de 50 por segundo o algo así, detectando si hay falsos), etc. Estos últimos todos usando &lt;a href="http://www.conformiq.com/"&gt;ConformiQ&lt;/a&gt;, modelando con máquinas de estado, implementando ellos mismos el test harness que sirva como capa de adaptación para invocar a sus sistemas, y lograr así que la misma herramienta sirva para todo tipo de interfaces. Tal vez más adelante me extienda en cada tema en distintos posts.&lt;br /&gt;&lt;br /&gt;Hablando de autos, tengo que comentar que en &lt;a href="http://www.fraunhofer.de/en/"&gt;Fraunhofer&lt;/a&gt;, y en Alemania en general, se investiga mucho en la industria automotriz, y por ende en el software que estos tienen embebido. Me llamó la atención entrar a la sala de conferencias y encontrarme un Ferrari deportivo ahí estacionado, teniendo en la matrícula la inscripción de Fraunhofer.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-t8BID6uyySQ/TqEodRjeCwI/AAAAAAAAJoU/ilaYVmgvn70/s1600/DSCN2052.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-t8BID6uyySQ/TqEodRjeCwI/AAAAAAAAJoU/ilaYVmgvn70/s320/DSCN2052.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;La charla de &lt;a href="http://www.harryrobinson.net/"&gt;Harry Robinson&lt;/a&gt; fue más que nada divertida, es un buen orador, y lo presentaron como el pionero en el testing basado en modelos, contando por ejemplo que desde 1993 (creo) viene utilizando estas técnicas e incluso escribió sus primeros artículos y libros al respecto. En su charla contó que MBT no tiene que ser siempre una máquina de estados, sino que puede estar basado en otros modelos e incluso basados en heuristicas, pues algo que es cierto es que el resto de las presentaciones consideraron que el único modelo es una &lt;i&gt;state machine&lt;/i&gt; para modelar el comportamiento esperado del sistema.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Otra reflexión que hago es que todos plantean construir un modelo de pruebas completamente independiente del sistema bajo pruebas, lo cual parece que agregara un gran costo en testing. Hoy en día creo que eso es algo que sólo las grandes empresas están haciendo (y muy pocas más por ahora), y según cuentan les da resultados sin grandes inversiones, entonces, deberíamos &lt;i&gt;seguirlos&lt;/i&gt;, pero aún falta &lt;i&gt;no se qué&lt;/i&gt;&amp;nbsp;para terminar de convencer, o de mostrar que eso realmente funciona y que deberíamos adoptarlo.&lt;br /&gt;Por otra parte, nadie considera seriamente la generación de pruebas a partir del sistema tal como lo hace &lt;i&gt;&lt;a href="http://blog.abstracta.com.uy/2011/02/gxtest-generator-generador-automatico.html"&gt;GXtest Generator&lt;/a&gt;&lt;/i&gt; (que es nuestra parte de generación de pruebas con un enfoque puramente MBT). Se planteó en un momento la típica discusión de si generar pruebas a partir del sistema que querés probar te aporta, o si te estás haciendo trampa jugando al solitario, pero para eso nosotros ya tenemos una respuesta válida al menos para nuestro contexto, que es que si se encuentra un posible bug, no importa si es error del modelo de pruebas, del modelo de desarrollo, del generador de código o de la Java Virtual Machine, lo importante es detectar cada posible error que pueda llegar al cliente, corregirlo, y seguir buscando más errores.&lt;br /&gt;&lt;br /&gt;Al final contaron estadísticas del evento muy interesantes, como que el 85% de los participantes eran de la industria y no de la academia, y también que asistieron alrededor de 200 personas, y de 4 continentes. Yo solito aporté en el 25% de esa última estadística :)&lt;br /&gt;Esta fue la primera vez que se hacía este evento y por el éxito logrado planean desde ya repetirlo el año que viene. Pronto buscarán propuestas para ver dónde hacerlo, y esperemos poder asistir nuevamente pues considero que fue una experiencia muy enriquecedora.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS: si alguien quiere algo del material que escriba un comentario y les mando&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-2434290352629128365?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/2434290352629128365/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=2434290352629128365' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2434290352629128365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2434290352629128365'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/10/model-based-testing-user-conference.html' title='Model-based Testing User Conference, Berlín - 2011'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ZqzCCE6z42c/TqE0uKp41DI/AAAAAAAAJoc/ZmE2Zf9zgg8/s72-c/berlin-cathedral-and.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Karl-Liebknecht-Straße 23, 10178 Berlín, Alemania</georss:featurename><georss:point>52.5234051 13.4113999</georss:point><georss:box>52.2142546 12.779685899999999 52.8325556 14.0431139</georss:box></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-7744084884823709342</id><published>2011-09-15T05:36:00.000-07:00</published><updated>2011-09-15T06:02:12.860-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Genexus'/><category scheme='http://www.blogger.com/atom/ns#' term='GXUnit'/><title type='text'>El encuentro vivido de afuera</title><content type='html'>&lt;a href="http://farm7.static.flickr.com/6197/6148247644_22bfaa4954_z.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 640px; height: 428px;" src="http://farm7.static.flickr.com/6197/6148247644_22bfaa4954_z.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Esta es la primera vez que participo del Encuentro a la distancia, y si bien no fue lo mismo, creo que lo aproveché y disfruté bastante. Seguramente este año fue mucho mejor que si me hubiera tocado años anteriores, pues había transmisión en vivo de las principales salas (a pesar que en algunas a veces andaba muy lento), twitter está más movido que nunca (obviamente relacionado al crecimiento de SD que nombró &lt;a href="http://twitter.com/#!/njodal"&gt;@njodal&lt;/a&gt;), y que hay muchas más personas que lo viven de lejos como esta vez me tocó a mí.&lt;br /&gt;&lt;br /&gt;Otro tema tal vez es que como no daba charla este año no estaba con el nerviosismo típico esperando a ver cómo sale, y ajustando últimos detalles. O sea, si bien colaboré a la distancia con mis amigos abstracteros, no era yo el que se paraba frente al público este año, y por eso miré más charlas más tranquilo. Lo bueno es que es más fácil moverse de una sala a la otra, lo malo es que no te encontrás amigos y colegas por los pasillos.&lt;br /&gt;&lt;br /&gt;Estuvo genial ver el notorio crecimiento de ponencias relacionadas con testing de software. Además de las que presentó &lt;a href="http://www.abstracta.com.uy/"&gt;Abstracta &lt;/a&gt;y el &lt;a href="http://www.ces.com.uy/"&gt;CES&lt;/a&gt;, hubieron dos charlas de &lt;a href="http://www.genexusconsulting.com/"&gt;GXC &lt;/a&gt;(generalmente hay una) y a eso le sumamos la de GXunit y el clásico café con testing (ese sólo pude ver fotos y escuchar repercusiones al respecto --no estaría bien que también filmen ese, e incluso que haya un vocero que de vez en cuando plantee alguna cuestión interesante aportada por alguien que sigue por twitter??--).&lt;br /&gt;De estas charlas me gustaron en particular dos cosas (no voy a hablar de las de Abstracta, de eso me gustó todo :P), primero la cantidad de profesionales del testing que vamos a tener gracias a la carrera del CES, excelente! mucha gente capacitada para aportar a la calidad del software que se produzca (principalmente) en Uruguay; y por otro lado GXunit, que me parece que es una idea que viene desde hace mucho y que por fin parece que se logró algo bastante bueno (no digo que los intentos anteriores fueron malos, sino que se dieron otras cosas como la estabilidad actual de la extensibilidad de GeneXus por ejemplo). Es una herramienta que permite al desarrollador automatizar pruebas implementadas en lo que sabe hacer, código GeneXus, integrada al IDE, fácil de usar, potente, y gratis! Espero la comunidad la adopte rápidamente.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;El año que viene espero poder estar por ahí compartiendo y viviendo el encuentro otra vez desde cerca.&lt;br /&gt;&lt;br /&gt;Por último les dejo links a todas las charlas relacionadas a testing, por si quieren ver los videos o las diapositivas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2405"&gt;Introducción a GXtest&lt;/a&gt;. (Fabián Baptista - Abstracta)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2424"&gt;Automatizando Test, un año de experiencia con GXtest&lt;/a&gt;. (Juan Martín Anollés, Federico Alvarez - Concepto)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2457"&gt;GXC Development Framework: Experiencias de testing y resultados obtenidos&lt;/a&gt;. (Matías Reina Abstracta, Carolina Torrado - GeneXus Consulting)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2491"&gt;Roadmap de GXtest&lt;/a&gt;. (Fabián Baptista - Abstracta)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2425"&gt;Todo sobre testing y más, en una Carrera&lt;/a&gt;. (Mariana Travieso, Mónica Wodzislawski - Centro de Ensayos de Software, Úrsula Bartram, Alejandro Blengio - Artech)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2417"&gt;Probar GeneXus code con GeneXus code&lt;/a&gt;. (Nicolás Carro, Juan Pablo Goyeni, Marcos Olivera - Facultad de Ingeniería, Universidad de la República)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2412"&gt;GXC Development Framework: Test de Aceptación, Do It!&lt;/a&gt; (Guillermo Skrilec - GeneXus Consulting)  &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-7744084884823709342?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/7744084884823709342/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=7744084884823709342' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7744084884823709342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7744084884823709342'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/09/el-encuentro-vivido-de-afuera.html' title='El encuentro vivido de afuera'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm7.static.flickr.com/6197/6148247644_22bfaa4954_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-8335678997312121538</id><published>2011-09-09T07:07:00.000-07:00</published><updated>2011-09-10T01:01:57.503-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Genexus'/><category scheme='http://www.blogger.com/atom/ns#' term='GXUnit'/><title type='text'>Se viene el XXI Encuentro GeneXus</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-28aMo2UB14E/TmoFzvnWI7I/AAAAAAAAJoA/kxEbHWfvO-M/s1600/xxi+genexus.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-28aMo2UB14E/TmoFzvnWI7I/AAAAAAAAJoA/kxEbHWfvO-M/s320/xxi+genexus.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Estamos muy cerca del comienzo, sólo a un fin de semana para le encuentro anual de la comunidad. Cada año estamos con más participación, lo cual nos gusta mucho, y por eso es que invitamos a los que van en especial a las siguientes actividades y exposiciones:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2405"&gt;Introducción a GXtest&lt;/a&gt;. Lunes de 14.30 a 15hs. en el salón 2C (ballroom C). A cargo de Fabián Baptista, especialmente orientada a los que se quieren iniciar en el uso de la herramienta para automatización de pruebas funcionales para GeneXus. (&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 16px; font-weight: bold;"&gt;&lt;strong&gt;#GX2405&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2553"&gt;Laboratorio de GXtest&lt;/a&gt;. Lunes de 15.45 a 16.45hs. en el salón 4P (sala Picasso). A cargo de Leopoldo Flanagan, se verán en práctica las funcionalidades de GXtest. &lt;i&gt;Porque probar ayuda a entender. &lt;/i&gt;(&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 16px; font-weight: bold;"&gt;&lt;strong&gt;#GX2553&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2551"&gt;Café con Testing&lt;/a&gt;. Martes de 12.15 a 12.45hs en el salón 25TG (Torres García). Estaremos participando junto a colegas del CES, GeneXus Consulting, Artech y K2B, conversando sobre distintas inquietudes del testing. &lt;i&gt;Los invitamos a probar un café :) &lt;/i&gt;(&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 16px; font-weight: bold;"&gt;&lt;strong&gt;#GX2551&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2424"&gt;Automatizando Test, un año de experiencia con GXtest&lt;/a&gt;. Miércoles de 10.30 a 11hs. en el salón 2C (ballroom C). Por parte de Juan Martín y Federico, colegas de Concepto, escucharemos sus experiencias de uso de GXtest, luego de un año de trabajo en automatizar pruebas a sus sistemas. (&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 16px; font-weight: bold;"&gt;&lt;strong&gt;#GX2424&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS';"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2457"&gt;GXC Development Framework: Experiencias de testing y resultados obtenidos&lt;/a&gt;. Miércoles de 11 a 11.30hs. en el salón 2C (ballroom C). Matías Reina junto a Carolina Torrado de GeneXus Consulting, estarán hablando de testing de performance en proyectos de GeneXus Consulting, mostrando los resultados obtenidos. (&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 16px; font-weight: bold;"&gt;&lt;strong&gt;#GX2457&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2491"&gt;Roadmap de GXtest&lt;/a&gt;. Miércoles de 12.15 a 12.45hs. en el salón 2C (ballroom C). Fabián Baptista comentará sobre las últimas novedades y lo que se viene en GXtest. Hay mucho para contar! (&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 16px; font-weight: bold;"&gt;&lt;strong&gt;#GX2491&lt;/strong&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small; font-weight: normal;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Relacionado con testing también recomiendo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2425"&gt;Todo sobre testing y más, en una Carrera&lt;/a&gt;, para conocer más sobre la carrera de testing del CES. (&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 16px; font-weight: bold;"&gt;&lt;strong&gt;#GX2425&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2417"&gt;Probar GeneXus code con GeneXus code&lt;/a&gt;, para conocer sobre los avances de GXunit este año, donde se podrán ver los resultados de un proyecto de grado de Facultad de Ingeniería tutoreado en conjunto por Abstracta y el CES. (&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 16px; font-weight: bold;"&gt;&lt;strong&gt;#GX2417&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;&lt;a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2412"&gt;GXC Development Framework: Test de Aceptación, Do It!&lt;/a&gt;&amp;nbsp;Guillermo de GeneXus Consulting estará contando la claves para hacer pruebas de aceptación exitosas. (&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS'; font-size: 16px; font-weight: bold;"&gt;&lt;strong&gt;#GX2412&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para mi imperdibles todas! pero esta vez será la primera que lo miraré por Internet, una pena no estar por ahí para compartir todo esto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-8335678997312121538?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/8335678997312121538/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=8335678997312121538' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8335678997312121538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8335678997312121538'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/09/se-viene-el-xxi-encuentro-genexus.html' title='Se viene el XXI Encuentro GeneXus'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-28aMo2UB14E/TmoFzvnWI7I/AAAAAAAAJoA/kxEbHWfvO-M/s72-c/xxi+genexus.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6910788616974397409</id><published>2011-09-09T04:46:00.000-07:00</published><updated>2011-09-09T04:46:23.883-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>Beneficios del testing automatizado, ¿realidad o ficción?</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-QGAdYcemK_Y/TmTXIwMJqEI/AAAAAAAAA84/ifCqu4zSkaI/s1600/socialmedia-roi.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5648876378004236354" src="http://3.bp.blogspot.com/-QGAdYcemK_Y/TmTXIwMJqEI/AAAAAAAAA84/ifCqu4zSkaI/s400/socialmedia-roi.jpg" style="cursor: hand; cursor: pointer; display: block; height: 300px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Este es el título que le dimos a la charla dada en el pasado TechDay, el cual está basado en un &lt;a href="http://h20195.www2.hp.com/v2/GetPDF.aspx/4AA2-4175EEW.pdf"&gt;paper&lt;/a&gt; de Paul Grossman, publicado por un importante proveedor de la industria del SW y HW. En este post haremos un resumen del contenido de la charla, ya que realmente nos parece importante mostrar los verdaderos beneficios en términos financieros, más que nada para dar más argumentos a alguien que quiere visualizar, o mostrar el valor que tiene este tipo de inversiones (ya que verán al final que no se trata de un gasto, sino en una inversión para ganar no sólo en calidad sino en ahorro de dinero).&lt;br /&gt;&lt;br /&gt;¿Costo o inversión? Generalmente se dice que el testing automatizado permite ampliar el cumbrimiento y alcance de las pruebas, reducir costos, poner el foco de las pruebas manuales en lo que realmente interesa, encontrar defectos más temprano, etc., etc., etc., y de esa forma reducir costos y riesgo. Todo esto parece ser siempre la misma basura que plantean los vendedores de herramientas, sin justificación suficiente.&lt;br /&gt;&lt;br /&gt;En cierta forma lo pondremos en duda.&lt;br /&gt;&lt;br /&gt;El problema es que cuando se quiere "invertir" se analiza generalmente cuánto dinero me voy a ahorrar con cada peso que invierto en esto, para saber si es un costo que tiene la calidad, o una inversión que me ahorrará otros costos asociados a la falta de calidad, que es lo que siempre se dice. Es por esto que tenemos que mostrar estas cosas en números.&lt;br /&gt;En esta charla intentamos analizar un poco más este tipo de planteos que se hacen siempre, como para que tengan criterios mejor fundamentados cuando quieran analizar si automatizar las pruebas funcionales.&lt;br /&gt;&lt;br /&gt;Para probar funcionalmente un sistema se ejecutan pruebas diseñadas para ejercitar las funcionalidades probadas. Una vez que las pruebas ejecutan correctamente hay que volver a ejecutar los conjuntos de pruebas cada vez que hay cambios en el sistema, ante cada nueva liberación de una versión. Esto es lo que se conoce como test de regresión. En algunos casos además las mismas pruebas deben ser ejecutadas en distintos ambientes, considerando sistemas operativos, bases de datos, integración con distintos componentes, distintos navegadores, etc. No necesitamos mucho para darnos cuenta de los beneficios prácticos si logramos que esto sea ejecutado por una máquina.&lt;br /&gt;&lt;br /&gt;Se requiere cierto esfuerzo para automatizar las pruebas y mantenerlas. Casi todas las herramientas de automatización brindan la posibilidad de "grabar" las pruebas y luego poder ejecutarlas, lo que se conoce como enfoque de&lt;i&gt; record and playback&lt;/i&gt;. Esto generalmente sirve para pruebas simples y para aprender a usar la herramienta, pero cuando se quieren hacer pruebas más complejas generalmente es necesario conocer un poco más a fondo la forma en que trabaja la herramienta, manejar juegos de datos de pruebas, administrar los ambientes de prueba, las bases de datos de pruebas, etc. Una vez que tenemos solucionado esto, podemos ejecutar las pruebas tantas veces como queramos con muy poco esfuerzo.&lt;br /&gt;&lt;br /&gt;Las mejores aplicaciones para aplicar testing automatizado son entonces las que tienen mucha repetitividad, y las que será necesario ejecutar muchas veces las pruebas (ya sea porque es un producto que tendrá muchas versiones, que se continúe con el mantenimiento haciendo fixes y parches, o porque se debe probar en distintas plataformas).&lt;br /&gt;&lt;br /&gt;Si se automatizan las pruebas de un ciclo de desarrollo, para el siguiente ciclo las pruebas automatizadas podrán retestear lo que ya se automatizó con bajo esfuerzo, permitiendo que el equipo de pruebas aumente el tamaño del conjunto de pruebas, aumentando el cubrimiento. Si no fuera así, terminaríamos teniendo ciclos de pruebas más grandes que los ciclos de desarrollo (y cada vez más grandes) u optaríamos por dejar cosas sin probar, con los riesgos que eso implica. Esto es lo que una vez supimos llamarle &lt;i&gt;&lt;a href="http://blog.abstracta.com.uy/2010/09/el-problema-de-la-acumulatividad-nula.html"&gt;el problema de la acumulatividad nula extrovertida sistematica&lt;/a&gt; &lt;/i&gt;(esto fue en la charla del Encuentro Genexus del 2010).&lt;br /&gt;&lt;br /&gt;No todo se debe automatizar, y no hay que intentar remplazar el test manual por el automático, pues hay cosas que no se pueden automatizar (más que nada si necesitan verificación visual y determinación por parte del usuario), y en ocasiones es más fácil ejecutar algo manualmente que en forma automática.&lt;br /&gt;&lt;br /&gt;¿Qué tanto automatizar? En cada caso será diferente, pero el paper dice que es bueno intentar comenzar con un objetivo del 10 o 15% de las pruebas de regresión, y a medida se va avanzando se podría llegar hasta un 60% aproximadamente.&lt;br /&gt;&lt;br /&gt;Tampoco es la idea reducir el personal dedicado a testing. Pues el test manual aún se necesita, y las pruebas automatizadas requieren cierto mantenimiento, además de las que se sigan automatizando. Entonces, ¿dónde están los beneficios financieros? Lo más importante es que al automatizar podemos expandir dramáticamente el alcance de las pruebas con el mismo costo (con la misma inversión), y eso es algo que financieramente da ventajas claras: conservar los costos y aumentar el beneficio.&lt;br /&gt;&lt;br /&gt;Veamos con un ejemplo hipotético que sea más entendible por alguien que decide sobre las finanzas de una empresa:&lt;br /&gt;&lt;br /&gt;Un tester manual ejecuta pruebas 8 horas por día, y se va a su casa. En ese momento el testing se detiene. Con el test automatizado se puede estar ejecutando pruebas 16 horas más por día (en el mejor caso claro...), bajo el mismo costo, lo cual reduce el costo de las horas de test. El paper plantea que un tester en promedio cuesta 50u$s la hora (ojalá en Uruguay fuera igual!) y si es senior cuesta 75u$s (divino!). Siendo así serían 400u$s o 600u$s respectivamente por día, pero en el segundo caso serían 16 horas más que en el primero (esto es porque considera que el senior es el que sabe automatizar, el otro sólo se considera para test manual). Además los test automatizados corren más rápido que los test manuales, en promedio digamos que 5 veces más rápido (generalmente es más, pero no exageremos). Si hablamos de un equipo de 10 personas, 5 senior y 5 para test manual, tenemos un costo mensual de 105.000u$s (168hs por mes, o sea 8 horas por 21 días, 42.000 en test manual y 63.000 de testers senior). Esto en principio nos da un total de 1.350 horas a un costo de 78u$s la hora (acá se está considerando que de las 168 horas mensuales de trabajo, se estará ejecutando 135, lo cual podría suponerse como razonable si se considera cualquier &lt;i&gt;overhead &lt;/i&gt;como enfermedad, vacaciones, capacitación, etc.). Si ponemos a 3 de los senior a automatizar, el costo seguirá siendo el mismo pero tendríamos 16hs x 3 ing x 21 días x 5 veces más test por hora, lo que nos da un agregado de 5.040 horas mensuales equivalentes a horas de test manual. Si consideramos el resto del equipo haciendo pruebas manuales (7 x 135) son 945 horas más, lo que da en total 5.985hs de test con un costo de 17,5u$s la hora (105.000u$s / 5.985 horas). Esto es un beneficio expresado en términos financieros, que se entiende fácilmente. Pasamos de pagar la hora de test de 78u$s a 17,5u$s, o visto de otro modo, aumentamos las horas de prueba de 1.350 a 5.985 bajo el mismo costo.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-pxbzAVqQCmQ/TmSoVDV2kRI/AAAAAAAAJn4/DdKHeAIPnRI/s1600/costos.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="131" src="http://2.bp.blogspot.com/-pxbzAVqQCmQ/TmSoVDV2kRI/AAAAAAAAJn4/DdKHeAIPnRI/s320/costos.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Ahora, esto nos muestra claramente que hay mejoras en cuanto a las horas de ejecución de pruebas, pero seguramente nos agregue más costo pues encontraremos más errores!!!! ¿Queremos eso?? Claro que SÍ, y veremos ahora cómo encontrar más errores nos ahorra costos a pesar que nos da más trabajo (es algo obvio, pero hagamos más cuentas para visualizarlo mejor).&lt;br /&gt;&lt;br /&gt;Es conocida en ingeniería de software la gráfica que muestra el costo de corregir un defecto detectado según en la etapa que se haya encontrado (desarrollo, integración, beta testing, producción). Se muestra un estudio de cuántas horas en promedio cuesta corregir un defecto según la etapa, y considerando costo por hora, cuánto cuesta en dólares. Esto no está considerando siquiera los costos ocultos que hay como la pérdida de imagen, confianza, e incluso el desgaste del equipo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-uLCzSwOXxPA/TmADdK_ZLUI/AAAAAAAAJn0/FeplQgRMdys/s1600/roi.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="129" src="http://4.bp.blogspot.com/-uLCzSwOXxPA/TmADdK_ZLUI/AAAAAAAAJn0/FeplQgRMdys/s640/roi.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Esta tabla está hecha en base a un estudio hecho con empresas de desarrollo de software de intercambio financiero electrónico  (Planning Report 02-3, "The Economic Impacts of Inadequate Infrastructure for Software Testing," Prepared by RTI for National Institute of Standards and Technology, May 2002, p 7-12.). Muestra el costo en horas de reparar un bug según la fase en la que se encuentra. Luego se aplicó como para visualizar en dinero un costo por hora de 75u$s.&lt;br /&gt;&lt;br /&gt;Lo que se ve claramente de esto es algo ya muy conocido, que es que cuanto antes se encuentren los bugs mejor! Y como vamos a tener testers que trabajan 24hs al día, ejecutando más rápido, es más probable que se encuentren más errores antes de pasar las versiones a betatesting o a producción. Es difícil estimar cuántos, pero por cada bug que se encuentre más temprano se ganará al menos 200u$s…. nada mal!!! Esto lo pueden ajustar al precio que les cuesta la hora de sus desarrolladores, y seguirá valiendo la pena.&lt;br /&gt;&lt;br /&gt;En estos números se llega a la conclusión de cuánto cuesta un defecto encontrado en cada una de las distintas etapas.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Pregunta al margen&lt;/i&gt;: ¿están llevando registro de qué incidentes, y qué complejidad y prioridad cada uno, encuentran en cada fase? Si aún no lo están haciendo, les aconsejo que comiencen a utilizar algún sistema de gestión de incidentes como &lt;a href="http://www.mantisbt.org/"&gt;Mantis Bug Tracker&lt;/a&gt; o cualquiera similar, que son gratuitos, muy buenos, y dan la posibilidad de tener esta información en todo momento y hacer un correcto seguimiento de cada asunto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;También se plantea que la automatización permite encontrar errores que no serían fáciles de encontrar manualmente. Por ejemplo errores de memoria que se dan luego de ejecutar muchas veces una funcionalidad, y ni que hablar si nos referimos a pruebas de concurrencia o performance.&lt;br /&gt;Hay muchas cosas que sólo un tester manual puede ver, y otras que tal vez es más probable que las vea una prueba automatizada. Por ejemplo si queremos verificar que cada elemento pedido retorne un código de respuesta sin error (en el caso de http sería que no devuelva ningún 404 o 500 por ejemplo), o si queremos ver que todas las URL están configuradas con https, eso se puede programar y automatizar para que en todas las pruebas se verifique, y en cambio un tester manual tal vez no le presta atención en cada ocasión, dejando pasar por alto en alguna oportunidad por algún despiste.&lt;br /&gt;&lt;br /&gt;A modo de resumen podemos decir que hay dos cosas a las que da valor el test automatizado:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Business value&lt;/li&gt;&lt;li&gt;IT value&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Da valor al negocio mejorando la calidad, evitando problemas de operativa, pérdida de imagen de clientes, e incluso evitando problemas legales, y mejora el trabajo del grupo de IT ya que le simplifica las tareas rutinarias, permitiendo que con el mismo costo hagan mucho más y mejor.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6910788616974397409?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/6910788616974397409/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6910788616974397409' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6910788616974397409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6910788616974397409'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/09/beneficios-del-testing-automatizado.html' title='Beneficios del testing automatizado, ¿realidad o ficción?'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-QGAdYcemK_Y/TmTXIwMJqEI/AAAAAAAAA84/ifCqu4zSkaI/s72-c/socialmedia-roi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-4432848991813679698</id><published>2011-08-23T06:43:00.000-07:00</published><updated>2011-08-23T07:24:52.156-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><title type='text'>TechDay 2</title><content type='html'>&lt;div style="text-align: left;"&gt;Este año tenemos la oportunidad de participar del TechDay que se realizará en Zona América el 30 y 31 de agosto. Esperemos puedan acompañarnos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5644048364291425426" src="http://2.bp.blogspot.com/-wXoHWyeO-cI/TlOwFXi3BJI/AAAAAAAAJnw/R8xbF67u86k/s320/techday.jpg" style="cursor: hand; cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.zonamerica.com/techday"&gt;http://www.zonamerica.com/techday&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Estaremos dando una charla mostrando los beneficios financieros que se pueden obtener con la automatización de pruebas, intentando desmitificar el tema. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-4432848991813679698?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/4432848991813679698/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=4432848991813679698' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4432848991813679698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4432848991813679698'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/08/techday-2.html' title='TechDay 2'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-wXoHWyeO-cI/TlOwFXi3BJI/AAAAAAAAJnw/R8xbF67u86k/s72-c/techday.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-2982247042953284935</id><published>2011-07-28T06:19:00.000-07:00</published><updated>2011-08-17T04:57:36.481-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>Efficient Regression Tests for Database Applications</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-lfQLFODY2s8/TjnAZL8FQBI/AAAAAAAAA7E/7rtCLXkiVUQ/s1600/database-star-256.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 256px; height: 256px;" src="http://1.bp.blogspot.com/-lfQLFODY2s8/TjnAZL8FQBI/AAAAAAAAA7E/7rtCLXkiVUQ/s400/database-star-256.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5636747947564941330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Desde el abstract de &lt;a href="http://www.dbis.ethz.ch/research/publications/51.pdf"&gt;este trabajo&lt;/a&gt; se plantea algo que es muy cierto, no hay casi investigación en cuanto a pruebas de regresión en sistemas que utilicen bases de datos, el cual plantea problemáticas particulares, para nada triviales.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;En este caso el paper aborda un problema que hemos tenido que enfrentar varias veces, y sobre el cual nos han preguntado más de una vez: ¿cómo manejar los casos de prueba y la base de datos? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para explicar un poco mejor la problemática: siempre se dice que los test deben ser independientes, y deberían ser diseñados de forma tal que puedan correr en cualquier orden. Esto es válido para aplicaciones state-less, pero en el caso de aplicaciones con bases de datos, esto no es nada fácil, generalmente al ejecutar un caso de prueba se modifica el estado de la base de datos, perturbando el estado inicial sobre el que trabajarán el resto de los casos de prueba que ejecutarán luego.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Primero veamos unas definiciones, y luego discutamos la propuesta que plantea.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Test Database (&lt;i&gt;D)&lt;/i&gt;&lt;/b&gt;: usan esta nomenclatura para referirse al estado de la aplicación antes de comenzar el caso de prueba.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Reset (&lt;i&gt;R)&lt;/i&gt;&lt;/b&gt;: operación que nos permite recuperar el estado inicial de la base de datos, lo cual sería hacer un &lt;i&gt;restore &lt;/i&gt;de un &lt;i&gt;backup &lt;/i&gt;previo. Esto es necesario para poder ejecutar los tests desde un mismo estado inicial, y por eso la necesidad de hacer un backup de un estado inicial conocido. Un problema con esto es que es una operación de cómputo muy costosa (del orden de minutos a horas, de acuerdo al tamaño de la base de datos).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Test Run (&lt;/b&gt;&lt;b style="font-style: italic; "&gt;T)&lt;/b&gt;: ejecución de un test.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;False Negative&lt;/b&gt;: un test run que a pesar de que el sistema bajo pruebas ejecuta correctamente, el test nos dice que hay un error. Esto agrega mucho costo pues el tester ante el resultado buscará (sin sentido) dónde está el bug.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;False Positive&lt;/b&gt;: un test run que no muestra un fallo a pesar de que la aplicación tiene un bug. Tanto esto como el falso negativo pueden darse por un estado inicial incorrecto de la base de datos. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entonces, el problema es poder programar los Test Runs y los Resets de forma eficiente y minimizando los falsos positivos y negativos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Se plantean distintas estrategias, y comienza explicando la más básica, que consiste en reiniciar el estado de la base luego de ejecutar cada test, como para que el estado inicial de los test sea siempre igual.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;R.T1.R.T2.R.T3........R.Tn&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Obviamente, esta es la opción más costosa. De aquí que se plantea analizar qué casos de prueba afectan el resultado de otros, y de esa forma ir modificando el orden de ejecución y minimizar la cantidad de Reset que se apliquen. Para esto es que construyeron un prototipo de una herramienta, que les permitió decidir qué algoritmo era el más apropiado para su objetivo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nosotros a esto también le hemos encontrado otras dos soluciones. &lt;/div&gt;&lt;div&gt;Debido al conocimiento del tester sobre el negocio de la aplicación, podemos implementar una estrategia similar a uno de los métodos que plantean los autores (pero manual). La misma implica agrupar los tests en suites en los que estén ordenados adecuadamente. &lt;/div&gt;&lt;div&gt;Seguramente si un test falla, hará que fallen el resto pues estos tienen como precondición que los test cases previos hayan ejecutado correctamente. Esto tiene como ventaja la posibilidad de probar ciclos funcionales completos, pero como contrapartida, si un test falla, entonces falla toda la suite, y de esa forma quedarán algunas funcionalidades sin probar hasta que no se solucionen los problemas de los tests anteriores. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Esto también puede ser visto como una ventaja, ya que se está notificando de que no se va a poder ejecutar esa funcionalidad, pues una funcionalidad previa no está funcionando. Lo que hay que intentar tener cuidado en este caso, es de hacer que una suite no afecte a otras, o sea, que trabajen sobre distintos juegos de datos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Otra opción es minimizar el costo de las operaciones de Reset. En lugar de utilizar un &lt;i&gt;restore&lt;/i&gt; de un &lt;i&gt;backup &lt;/i&gt;se podrían tener operaciones, o procedimientos, sqls, etc, que sean capaces de borrar el contenido de una tabla, o de volver a copiar el contenido inicial, etc. Incluso podría ser un caso de prueba automatizado que borre instancias de una entidad luego que el caso de prueba previo las crea.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Alguna vez se enfrentaron a un problema similar? &lt;/div&gt;&lt;div&gt;¿Cómo han intentado resolverlo?&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-2982247042953284935?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/2982247042953284935/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=2982247042953284935' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2982247042953284935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2982247042953284935'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/07/efficient-regression-tests-for-database.html' title='Efficient Regression Tests for Database Applications'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-lfQLFODY2s8/TjnAZL8FQBI/AAAAAAAAA7E/7rtCLXkiVUQ/s72-c/database-star-256.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-5085969440174812811</id><published>2011-07-14T08:54:00.000-07:00</published><updated>2011-07-15T01:18:11.923-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>¿La calidad está siendo un problema?</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-dyTpt7unkw4/Th_2_RlWuuI/AAAAAAAAJmk/5aEoJGT_hAQ/s1600/Asamoah-Gyan-Penalty-Miss.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 180px;" src="http://1.bp.blogspot.com/-dyTpt7unkw4/Th_2_RlWuuI/AAAAAAAAJmk/5aEoJGT_hAQ/s320/Asamoah-Gyan-Penalty-Miss.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5629489626148682466" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Leyendo un paper llamado "Surviving the Top 10 Challenges of Software Test Automation" de Randall W. Rice, me encontré una frase que me gustó la cual dice&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;The cost of a single defect in most organizations can offset the price of one or more tool licenses.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;O sea, que el costo de un defecto en la mayoría de las organizaciones compensa el costo de una o más licencias de herramientas. Esto a modo de dar hincapié en la importancia de automatizar las pruebas, el por qué valen la pena, aunque creo que está basado en una creencia y no en un estudio, pero también creo que tenga grandes chances de ser próximo a la realidad.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El artículo lo pueden leer &lt;a href="http://www.crosstalkonline.org/storage/issue-archives/2002/200205/200205-Rice.pdf"&gt;aquí&lt;/a&gt;, pero más allá de los puntos específicos que trata, lo que me interesa es el enfoque de intentar analizar cuáles son las fallas que se pueden dar al intentar automatizar las pruebas de un sistema, y atacar cada una buscando cómo lograrlo. Me hizo acordar un poco a &lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1248,O,S,0,,2141"&gt;la charla que dimos&lt;/a&gt; en el pasado encuentro GeneXus. Destaco a continuación solo algunos puntos del artículo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entre otras cosas menciona cosas que siempre hemos dicho, tal como que automatizar algo que es caótico, sin organización suficiente, lo único que logra es hacer que ese caos sea más veloz (&lt;i&gt;If you do not know which tests are the most important and which tests are the most applicable for  automation, the tool  will only help perform a bad test faster&lt;/i&gt;). Esto además lo muestra con un ejemplo muy práctico, sobre cómo construir bibliotecas de madera. Para esto una de las cosas a hacer es cortar madera, y como estaba cansado de hacerlo a mano (con una sierra de mano) y eso le lleva mucho tiempo, va con un vendedor y este le convence de comprar una sierra eléctrica. Ahora, sin conocimientos en carpintería lo único que logra con la sierra eléctrica es cometer errores más rápido!  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Recomienda también tener un experto en "la herramienta" dentro de la empresa, donde "la herramienta" podría ser cualquiera de las que se esté utilizando para automatizar o dar soporte a cualquiera de las actividades de testing, que no tiene por qué ser una sola. Esto con el objetivo de tener un referente, alguien que administre la plataforma, y se encargue de hacer las cosas lo mejor posible, y transmitir al resto del equipo estas oportunidades de mejora.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como conclusión del artículo destaco la necesidad de analizar si la falta de calidad en nuestras entregas, en nuestras liberaciones de nuestros desarrollos, está siendo un problema, algo que nos agrega costos (en ocasiones no hace falta analizar mucho, "salta a la vista"). En ese caso, ¿por qué no intentamos hacer algo para cambiarlo? Esto podría ser considerar herramientas, ya sea para automatizar la ejecución de pruebas, así como también para &lt;a href="http://www.mantisbt.org/"&gt;gestionar incidentes&lt;/a&gt;, &lt;a href="http://www.teamst.org/"&gt;gestionar requerimientos y sus pruebas&lt;/a&gt; (manuales o automatizadas), etc., aprendiendo como usarlas, e institucionalizando las buenas prácticas. Tal vez esto también se logre planificando mejor nuestros esfuerzos (no sólo con nuevas herramientas), pero seguro que este tipo de análisis, estas preguntas, las deberíamos hacer de vez en cuando.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-5085969440174812811?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/5085969440174812811/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=5085969440174812811' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5085969440174812811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5085969440174812811'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/07/la-calidad-esta-siendo-un-problema.html' title='¿La calidad está siendo un problema?'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-dyTpt7unkw4/Th_2_RlWuuI/AAAAAAAAJmk/5aEoJGT_hAQ/s72-c/Asamoah-Gyan-Penalty-Miss.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-2734119319757513752</id><published>2011-06-06T05:11:00.000-07:00</published><updated>2011-06-14T04:32:38.410-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Basado en Modelos'/><category scheme='http://www.blogger.com/atom/ns#' term='Genexus'/><category scheme='http://www.blogger.com/atom/ns#' term='GXUnit'/><title type='text'>Generación automática de datos de prueba</title><content type='html'>&lt;div style="text-align: left;"&gt;Me vine hace 4 meses a España (a la &lt;a href="http://www.uclm.es/"&gt;UCLM&lt;/a&gt; en Ciudad Real) a hacer un doctorado en informática, especializándome en testing, con lo cual espero poder contribuir a las metas que tenemos.&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/-ZJMrw91f_Es/TfdGJPYkECI/AAAAAAAAJkc/ntwgqiPOGnY/s320/academico.gif" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 258px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618036184730308642" /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;En el primer año la idea es hacer los cursos de máster, y avanzar en lo que será la tesis doctoral. En este post les quiero compartir la idea inicial sobre la que voy a estar trabajando. Vale aclarar para comenzar que el objetivo principal era investigar en un tema que combine dos cosas muy importantes: que esté dentro del área de investigación del &lt;a href="http://alarcos.inf-cr.uclm.es/"&gt;grupo al que me incorporé&lt;/a&gt;, y que sea algo que tenga aplicación real, práctica, que sea útil especialmente en mejorar la forma en que hacemos testing de aplicaciones en Uruguay, y si había chance de yapa, que el caso de estudio esté aplicado o vinculado de alguna forma a &lt;a href="http://www.genexus.com/"&gt;GeneXus&lt;/a&gt;, &lt;a href="http://gxtest.abstracta.com.uy/"&gt;GXtest&lt;/a&gt; o &lt;a href="http://gxunit.blogspot.com/"&gt;GXunit&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Viéndolo en forma simplificada (o abstracta), los grandes rasgos a desarrollar (prototipando) de un sistema de información son:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;la estructura de datos&lt;/li&gt;&lt;li&gt;las reglas de negocio (validaciones de datos, restricciones, etc.)&lt;/li&gt;&lt;li&gt;los procedimientos que procesan estos datos y las pantallas que los muestran&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Cómo se prueba esto?&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Se genera la aplicación, se instala (con los entornos modernos esto es apretar F5)&lt;/li&gt;&lt;li&gt;Se accede a la aplicación y se cargan datos para probar manualmente que lo que uno programó se esté verificando y funcionando (estructura y lógica)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/-ldVS8joV2p0/TfdFxhF4glI/AAAAAAAAJkU/9Q_E9_JaVo0/s1600/aburrido-bostezando.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://4.bp.blogspot.com/-ldVS8joV2p0/TfdFxhF4glI/AAAAAAAAJkU/9Q_E9_JaVo0/s320/aburrido-bostezando.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5618035777166934610" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 280px; height: 223px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Cargar estos datos manualmente puede ser bastante tedioso y &lt;i&gt;error prone&lt;/i&gt; (como se suele decir para todas las tareas aburridas), y si las reglas implementadas son complejas o tienen muchas condiciones, seguramente no se consideren todos los casos importantes y queden así sin verificar. Lo mismo con los procedimientos, seguramente no se prueben con suficiente cobertura, verificando las distintas condiciones, y en ocasiones eso puede ser por el tiempo que llevaría cargar datos a mano para disparar las condiciones adecuadas para que se ejecute determinada regla. Incluso queda generalmente sin probar cosas tan simples como ver que el tipo de &lt;i&gt;input&lt;/i&gt; utilizado en la pantalla sea el apropiado para el tipo de datos usado a nivel de la base de datos (si es un string que sea del largo apropiado, pues se pueden generar excepciones no controladas o pérdida de información en caso que se pueda ingresar un string más largo del que se puede almacenar).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Propuesta&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Facilitar la generación de datos de prueba tomando información del modelo de desarrollo en tres niveles&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Estructura de datos y pantallas&lt;/li&gt;&lt;li&gt;Reglas de negocio&lt;/li&gt;&lt;li&gt;Procedimientos &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Los datos deben generarse para dos cosas, para poblar la base y para los datapools a utilizar en los test cases (ya sean a ejecutar automáticamente o en forma manual). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;¿Cómo? &lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;De las estructuras, con la metadata, generar valores límite para las clases de equivalencia que se puedan definir sobre los variables.  Técnicas de combinación de valores. Todo automático a partir del modelo de desarrollo.&lt;/li&gt;&lt;li&gt;De las reglas, generar valores límite para las condiciones. Técnicas de combinación de valores. Todo automático a partir del modelo de desarrollo.&lt;/li&gt;&lt;li&gt;De los procedimientos, aplicar técnicas de caja blanca, modelar manualmente o generar automáticamente máquinas de estado que representen la lógica, aplicar técnicas de MBT (&lt;i&gt;model-based testing&lt;/i&gt;). Técnicas de combinación de valores a partir de operaciones entre valores. Todo automático a partir del modelo de desarrollo, opcionalmente agregar modelos específicos para la prueba.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Ejemplos:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Estructura de datos: Si definimos un atributo tipo string de largo 10, en el datapool voy a poner valores de largo nulo, largo 9, 10, 11, 200, para ver qué pasa en el alta o modificación del dato que estoy verificando.&lt;/li&gt;&lt;li&gt;Reglas de negocio: Si indico que un número no puede ser menor que cero, entonces probaré con valores positivos, negativos, con el 0, etc. De esta forma verificar que las reglas se están verificando tal como es deseable.&lt;/li&gt;&lt;li&gt;Procedimientos : Si el código de un procedimiento realiza una evaluación de una variable, yendo por un flujo si es positiva y por otro si es menor o igual a 0, entonces se podrían definir valores de prueba que hagan que esas condiciones sean evaluadas a true y a false, incluso considerando los valores límites que siempre son situaciones típicas de error. Considerando otras situaciones típicas de error se podrían generar pruebas para para evitarlas. Por ejemplo, si dos valores aparecen sumados y asignados a otra variable, sería interesante considerar una prueba donde esos valores sean los máximos soportados por el tipo de datos, como para ver si no se produce un &lt;i&gt;overflow&lt;/i&gt; o algo similar.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El objetivo más interesante a cumplir es que uno si programa algo (independiente de que sea en GeneXus) define estructuras de datos y procedimientos sobre esto. Entonces para probar una funcionalidad tiene que generar datos de prueba en forma manual, con código o por la interfaz de la aplicación, e incluso hay que pensar en las distintas situaciones que se intentan contemplar y ver de que al ejecutar se cumple lo que uno quería hacer. Lo que se facilita con esto es que al programar y armar las estructuras de datos, se llenarían datos automáticamente que te permiten probar fácilmente los casos interesantes en base a lo que programaste, en base a las estructuras, a las reglas de negocio, y en base a los procedimientos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/-RlwGs5e5rI0/TfdGooq27tI/AAAAAAAAJkk/tSIZykepFQY/s1600/f5.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://2.bp.blogspot.com/-RlwGs5e5rI0/TfdGooq27tI/AAAAAAAAJkk/tSIZykepFQY/s320/f5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5618036724093873874" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 300px; height: 300px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;En el caso de GeneXus, podría pensarse no sólo en generar datos sino generar pruebas automáticas que usen estos datos, visto que ya logramos con &lt;i&gt;&lt;a href="http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,1,53,O,E,0,PAG;CONC;400;17;D;33153;1;PAG;,"&gt;GXtest Generator&lt;/a&gt;&lt;/i&gt; generar pruebas automáticamente a partir de la información disponible en la KB (actualmente para GXtest, a futuro tal vez también para GXunit). En principio con probar el CRUD de las entidades ya es algo que agrega valor. Luego (nivel tres) probar los procedimientos. No se si esto se puede extender fácilmente para probar un ciclo funcional completo, pero ya se verá al ir avanzando.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cualquier aporte o sugerencia será bienvenida, pues como dije al comienzo, el objetivo de esto es sacar algo que nos sirva.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-2734119319757513752?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/2734119319757513752/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=2734119319757513752' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2734119319757513752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2734119319757513752'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/06/generacion-automatica-de-datos-de.html' title='Generación automática de datos de prueba'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-ZJMrw91f_Es/TfdGJPYkECI/AAAAAAAAJkc/ntwgqiPOGnY/s72-c/academico.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3218214023561727447</id><published>2011-05-25T02:10:00.001-07:00</published><updated>2011-05-27T07:36:19.984-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>Testing Day 2011</title><content type='html'>&lt;div style="text-align: left;"&gt;Ayer jueves 26 de mayo de 2011 se celebró en el KDC del LATU el Testing Day 2011.&lt;br /&gt;Estamos muy contentos de haber participado y compartido con la comunidad de testing de Uruguay.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5610589507501309554" src="http://3.bp.blogspot.com/-ZRhVz9BHsi0/TdzRbk8mPnI/AAAAAAAAJj4/8jkSbelKvVE/s320/testday.png" style="cursor: hand; cursor: pointer; display: block; height: 34px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Más info en el grupo Linked-in de &lt;a href="http://www.linkedin.com/groups?mostPopular=&amp;amp;gid=3303722"&gt;Centro de Excelencia en Testing&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Yo acá a la distancia me quedé con ganas de asistir, espero que por ahí lo hayan podido aprovechar! Es una alegría ver lo que fue la &lt;a href="https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0B_gGQ2uYy0n8Y2M2ODc5N2YtMzEyMS00Y2E0LWI0MjMtMjQ3NzI3ZWMzMGJj&amp;amp;hl=en_US&amp;amp;authkey=CLCk66wN&amp;amp;pli=1"&gt;Agenda del Evento&lt;/a&gt; ya que estuvo llena de excelentes propuestas, todas alrededor de este tema que a nosotros tanto nos apasiona. Me interesaron muchas las charlas, en particular &lt;a href="http://www.ces.com.uy/index.php/noticias/161-el-ces-participa-en-testing-day"&gt;las del CES&lt;/a&gt; y el anuncio sobre la carrera de testing. La mesa redonda me dijeron que estuvo muy buena. Otra charla que me resultó muy interesante fue la que planteó Pragma, sobre la cual leí hace poco en &lt;a href="http://grupoqa.com.ar/category/revista-infotesting/"&gt;la revista InfoTesting&lt;/a&gt; que aprovecho a compartir. Es una iniciativa argentina donde se pretende difundir material de testing en castellano.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cómo crece la comunidad de testing!&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-3218214023561727447?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/3218214023561727447/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3218214023561727447' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3218214023561727447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3218214023561727447'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/05/testing-day-2011.html' title='Testing Day 2011'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ZRhVz9BHsi0/TdzRbk8mPnI/AAAAAAAAJj4/8jkSbelKvVE/s72-c/testday.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-5894070391047075019</id><published>2011-05-05T05:50:00.000-07:00</published><updated>2011-05-05T05:52:27.919-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>BrokenTest pattern para refrescar la memoria</title><content type='html'>&lt;div style="text-align: left;"&gt;Dicen que si estamos trabajando en automatizar pruebas, una buena práctica para volver el día de mañana y recordar más fácil en qué habíamos quedado, es dejar un test que falle. Esto nos hará pensar el por qué falla, qué estaba intentando probar, y así recordar el resto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5602385917881496306" src="http://3.bp.blogspot.com/-rZf8sZLAdew/Tb-sT0H6MvI/AAAAAAAAJiQ/tOkMkwxt7vo/s320/roto.jpg" style="cursor: hand; cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/div&gt;&lt;div&gt;Puede ser útil incluso para el programador el dejar en su máquina código que no compila, e incluso para cuando se va a almorzar.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://c2.com/cgi/wiki?BrokenTest"&gt;http://c2.com/cgi/wiki?BrokenTest&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-5894070391047075019?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/5894070391047075019/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=5894070391047075019' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5894070391047075019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5894070391047075019'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/05/brokentest-pattern-para-refrescar-la.html' title='BrokenTest pattern para refrescar la memoria'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-rZf8sZLAdew/Tb-sT0H6MvI/AAAAAAAAJiQ/tOkMkwxt7vo/s72-c/roto.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-7214818726068941675</id><published>2011-03-25T06:36:00.000-07:00</published><updated>2011-04-01T07:35:41.751-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Knowledge Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>Knowledge Management en Testing (parte 4)</title><content type='html'>&lt;div style="text-align: left;"&gt;Como para terminar con esta serie me queda comentarles sobre una metodología desarrollada en un doctorado acá en la &lt;a href="http://uclm.es"&gt;UCLM&lt;/a&gt;  para mejorar la gestión del conocimiento de una empresa. Se las cuento en forma resumida, pero ya adaptada a lo que sería lo que nos interesa transmitirles, enfocada a testing y a &lt;a href="http://www.genexus.com"&gt;GeneXus&lt;/a&gt;.&lt;/div&gt;&lt;span&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span&gt;&lt;div style="text-align: justify;"&gt;&lt;img src="http://3.bp.blogspot.com/-Vp4A1PxWb3g/TZIogKJWfqI/AAAAAAAAJhw/b-qXfpUlUA4/s320/gestion%2Bdocumental.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5589574620464709282" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Lo primero consistía en identificar las fuentes de conocimiento disponibles y categorizarlas:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Documentación&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;De sistema, técnica, especificaciones&lt;/li&gt;&lt;li&gt;Casos de prueba&lt;/li&gt;&lt;li&gt;Metodologías&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Sistema o producto&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;Código fuente / KB&lt;/li&gt;&lt;li&gt;Base de datos (incluyendo datos de producción, o datos de prueba)&lt;/li&gt;&lt;li&gt;El sistema ejecutando&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Personas&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;Desarrolladores&lt;/li&gt;&lt;li&gt;Testers&lt;/li&gt;&lt;li&gt;Clientes&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Herramientas de apoyo&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;Wikis&lt;/li&gt;&lt;li&gt;Issue trackers&lt;/li&gt;&lt;li&gt;las que mencionamos en &lt;a href="http://blog.abstracta.com.uy/2011/03/knowledge-management-en-testing-parte-3.html"&gt;el post anterior&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Luego pasaríamos a identificar cuáles son los flujos de conocimiento que se dan en la organización, de qué manera las fuentes interactúan en los distintos procesos y actividades. Incluso plantean una forma de extender el modelado de procesos (con &lt;a href="http://www.omg.org/spec/SPEM/2.0/"&gt;SPEM&lt;/a&gt;) como para poder representar esto.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Una vez que tenemos claro el esquema la idea es identificar fallos en el flujo de conocimiento, y para esto presentan una checklist de situaciones a revisar para evitar&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;Hubs: punto que llegan muchos flujos (congestión, cuello de botella)&lt;/li&gt;&lt;li&gt;Black holes: proceso que no origina flujos (nunca es consultado)&lt;/li&gt;&lt;li&gt;Springs: se originan flujos pero no entra ninguno (el problema es que no recibe feedback)&lt;/li&gt;&lt;li&gt;Missing links: no hay flujo, o no funciona correctamente&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Este es un resumen muuuy breve de todo lo que plantea la metodología, pero creo que al menos estos puntos que puse aquí pueden ser puestos en la práctica a bajo costo, y pueden hacernos mejorar la forma en la que gestionamos lo más importante que tenemos, el conocimiento de nuestra empresa.&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="border-collapse: collapse; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; "&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-7214818726068941675?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/7214818726068941675/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=7214818726068941675' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7214818726068941675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7214818726068941675'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/03/knowledge-management-en-testing-parte-4.html' title='Knowledge Management en Testing (parte 4)'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Vp4A1PxWb3g/TZIogKJWfqI/AAAAAAAAJhw/b-qXfpUlUA4/s72-c/gestion%2Bdocumental.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-9157798413020140327</id><published>2011-03-25T06:34:00.000-07:00</published><updated>2011-03-31T02:09:51.981-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Knowledge Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>Knowledge Management en Testing (parte 3)</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-d7I6nAJ1Jiw/TY9R1z9rUbI/AAAAAAAAJho/7MVxTAZE3Qg/s1600/conocimiento.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 301px; height: 284px;" src="http://4.bp.blogspot.com/-d7I6nAJ1Jiw/TY9R1z9rUbI/AAAAAAAAJho/7MVxTAZE3Qg/s320/conocimiento.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5588775647513891250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; "&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; "&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 15px; "&gt;Hay varias herramientas (gratuitas y pagas) para ayudarnos con la gestión del conocimiento, específicamente en lo que refiere a testing. En este post quiero compartir algunas que me resultaron interesantes, y espero les puedan ser útiles:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; "&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul type="disc" style="border-collapse: collapse; direction: ltr; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; "&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; font-size: 15px; "&gt;&lt;a href="http://cmap.ihmc.us/"&gt;CMap Tools&lt;/a&gt; para mapas conceptuales, dibujar modelos que nos puedan servir para expresar ideas.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; font-size: 15px; "&gt;&lt;a href="http://www.mantisbt.org/"&gt;Mantis Bug Tracker&lt;/a&gt; para gestionar incidentes&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; font-size: 15px; "&gt;&lt;a href="http://sharepoint.microsoft.com/es-mx/paginas/default.aspx"&gt;Sharepoint&lt;/a&gt; (de Microsoft), &lt;a href="http://www.mindtouch.com/"&gt;Mindtouch&lt;/a&gt; o &lt;a href="http://www.alfresco.com/"&gt;Alfresco&lt;/a&gt; (opción open) para gestión de documentos, wikis, portal corporativo, etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; font-size: 15px; "&gt;&lt;a href="http://www.mediawiki.org/"&gt;Mediawiki&lt;/a&gt; / &lt;a href="http://www.gxwiki.com/hgxwiki.html"&gt;GXwiki&lt;/a&gt; - para generar documentación fácil de acceder, mantener y versionar.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; font-size: 15px; "&gt;&lt;a href="http://www.genexus.com/gxtest"&gt;GXtest&lt;/a&gt; para gestionar las pruebas y sus resultados.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; font-size: 15px; "&gt;&lt;a href="http://desktop.google.com/es/"&gt;Google Desktop&lt;/a&gt; - Buscar contenido dentro de un PC. De aquí surge una duda ¿Cómo resolver encontrar contenido cuando los archivos estan distrbuídos en las distintas máquinas? ¿existirán herramientas del estilo Google Desktop para máquinas remotas que quieran compartir sus documentos? Sería como una herramienta P2P pero capaz de leer e indexar el contenido de los archivos y no sólo los nombres.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; font-size: 15px; "&gt;Hay herramientas que si se las "engancha" al servidor de mails, son capaces de identificar expertos. O sea, leen el mail, y van asociando conceptos a los usuarios, de acuerdo a qué tanto hablan de ello. Por ejemplo, si se repite mucho "data provider", en cadenas de conversación con una persona, entonces es posible realizar la búsqueda de expertos en el tema "data provider" y aparecerá esta persona. Incluso podrían vincularse temas relacionados a partir del análisis que estas herramientas logran hacer sobre los emails. Me resulta un poco delicado el brindar acceso para análisis sobre el email de los empleados,  pues da lugar a que luego el jefe se le ocurra buscar al experto de "sábado a la noche" o "fútbol" y vea la cantidad de emails que nombran este tema :)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; font-size: 15px; "&gt;&lt;a href="http://www.eclipse.org/epf/downloads/tool/tool_downloads.php"&gt;EPF Composer&lt;/a&gt; - para documentar procesos siguiendo el estándar &lt;a href="http://www.omg.org/spec/SPEM/2.0/"&gt;SPEM&lt;/a&gt; y publicándolo en una web, fácil de compartir y mantener, pudiendo así captar y difundir las metodologías y procesos utilizados en la organización. El escenario ideal en este tipo de cosas es que luego haya una herramienta capaz de tomar la especificación del proceso como para "ejecutarla". O sea, que administre el workflow de trabajo, gestione las entradas y salidas, notifique a los usuarios, etc. En este sentido (pero bajo un proceso definido) se está trabajando con &lt;a href="http://www.genexususa.com/xpm"&gt;XPM&lt;/a&gt;, el cual apoya la gestión del conocimiento del desarrollo con &lt;a href="http://genexus.com/"&gt;GeneXus&lt;/a&gt;, y a futuro gestionará incluso la de las pruebas en forma integrada con GXtest.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; font-size: 15px; "&gt;En este enlace &lt;/span&gt;&lt;span style="font-family: Calibri; font-size: 11pt; color: rgb(0, 101, 204); "&gt;&lt;a href="http://sites.google.com/site/toolsgsd/" target="_blank" style="color: rgb(0, 101, 204); "&gt;http://sites.google.com/site/&lt;wbr&gt;toolsgsd/&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: Calibri; font-size: 11pt; "&gt; hay un listado de herramientas (hecho en el Grupo &lt;a href="http://alarcos.inf-cr.uclm.es/defaultEng.aspx"&gt;Alarcos&lt;/a&gt;, de la &lt;a href="http://www.uclm.es/"&gt;UCLM&lt;/a&gt;) para el desarrollo global,&lt;span&gt;  &lt;/span&gt;y entre tantas se listan herramientas que apoyan la gestión de conocimiento en distintas áreas.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Calibri; font-size: 11pt; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Calibri; font-size: 11pt; "&gt;En el próximo y último artículo les contaré de una metodología desarrollada en un proyecto de doctorado para detectar problemas y mejorar la gestión del conocimiento en una empresa.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-9157798413020140327?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/9157798413020140327/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=9157798413020140327' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/9157798413020140327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/9157798413020140327'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/03/knowledge-management-en-testing-parte-3.html' title='Knowledge Management en Testing (parte 3)'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-d7I6nAJ1Jiw/TY9R1z9rUbI/AAAAAAAAJho/7MVxTAZE3Qg/s72-c/conocimiento.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3936516754378260336</id><published>2011-03-24T15:17:00.000-07:00</published><updated>2011-03-31T02:09:51.981-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Knowledge Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>Knowledge Management en Testing (parte 2)</title><content type='html'>&lt;span class="Apple-style-span"  &gt;&lt;a href="http://farm5.static.flickr.com/4023/4646643064_11cf7d11df.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px; height: 500px;" src="http://farm5.static.flickr.com/4023/4646643064_11cf7d11df.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;Continuando con &lt;/span&gt;&lt;/span&gt;&lt;b style="font-weight: normal; border-collapse: collapse; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;la línea del &lt;a href="http://blog.abstracta.com.uy/2011/03/knowledge-management-en-el-testing.html"&gt;post anterior&lt;/a&gt;, &lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;queríamos compartir algunas ideas más sobre KM (gestión del conocimiento), específicamente aplicado al área de las pruebas de software. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;En particular, algunas técnicas para mejorar los distintos pasos de la gestión del conocimiento (recordar que eran creación, captura, organización, acceso y uso):&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;/span&gt;CREACIÓN&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;b&gt;Lluvia de ideas (Brainstorming): &lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;¿Cómo probamos una determinada funcionalidad? ¿cómo organizamos las pruebas? Hay muchas cuestiones, muchos nuevos desafíos que tal vez pueda "generar conocimiento" a partir de reuniones de equipo en donde se expongan todas las ideas que surjan en una &lt;/span&gt;&lt;/span&gt;&lt;a href="http://es.wikipedia.org/wiki/Lluvia_de_ideas" style="border-collapse: collapse; "&gt;lluvia de ideas&lt;/a&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;(o tormenta de ideas como estamos acostumbrados a llamarle nosotros)&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;b&gt;Comunidades de práctica&lt;/b&gt;: expertos en un área (tecnología, negocio, etc.) exponiendo información sobre determinado tema, lo cual podría ser sobre el dominio de la aplicación bajo pruebas, técnicas de diseño, herramientas de apoyo, etc.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;b&gt;CAPTURA / ORGANIZACIÓN / ACCESO&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;b&gt;Mapas conceptuales&lt;/b&gt;: fáciles de hacer, permiten compartir y entender ideas en forma muy fácil (usando por ejemplo &lt;a href="http://cmap.ihmc.us/"&gt;CMaps Tools&lt;/a&gt;).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;b&gt;Mini artículos&lt;/b&gt;: contando experiencias, problemas resueltos (se puede llevar a cabo en una wiki o foro por ejemplo).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;b&gt;Repositorio de conocimiento&lt;/b&gt;: archivos y cualquier tipo de material, ordenado y categorizado.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;b&gt;Foros de discusión internos:&lt;/b&gt; a modo de poder consultar luego lo discutido, y que no quede en chats o emails que no son accesibles por el resto de la organización.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;b&gt;Páginas amarillas&lt;/b&gt;: la idea es documentar quién sabe de qué cosa. Esto tal vez aplique más que nada a organizaciones muy grandes, en las PyMEs digamos que nos conocemos todos.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;b&gt;Issue tracker:&lt;/b&gt; esto es de los puntos más importantes a gestionar con respecto a las pruebas. Saber qué problemas hay detectados, resueltos, resueltos cuándo y por quién, etc. Si puede estar integrado con el SVN y otras herramientas que manejan información sobre el código, y más cosas, mucho mejor.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;¿Conocen o usan alguna herramienta para ayudar en estas tareas?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; "&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;b&gt;Foto&lt;/b&gt;:&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 18px; "&gt; &lt;a href="http://www.flickr.com/photos/dcarroll440/"&gt;Frosted Fantasies&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); line-height: 18px; "&gt;&lt;h3 class="post-title entry-title" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; position: relative; font: normal normal normal 18px/normal Arial, Tahoma, Helvetica, FreeSans, sans-serif; "&gt;&lt;span class="Apple-style-span"  &gt;Leer más: &lt;a href="http://blog.abstracta.com.uy/2011/03/knowledge-management-en-testing-parte-3.html"&gt;Knowledge Management en Testing (parte 3)&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-3936516754378260336?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/3936516754378260336/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3936516754378260336' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3936516754378260336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3936516754378260336'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/03/knowledge-management-en-testing-parte-2.html' title='Knowledge Management en Testing (parte 2)'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4023/4646643064_11cf7d11df_t.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-321334080290479392</id><published>2011-03-21T07:31:00.000-07:00</published><updated>2011-03-31T02:09:51.982-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Knowledge Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>Knowledge Management en el Testing (parte 1)</title><content type='html'>&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;Algo que no puedo evitar al estar &lt;a href="http://www.uclm.es/"&gt;estudiando&lt;/a&gt; cualquier tema, es vincularlo inmediatamente con el mundo GeneXus, y obviamente todo lo posible con GXtest, con la forma en la que trabajamos nosotros o nuestros colegas. En este post en particular les quiero dejar algunos apuntes de un tema muy interesante que es el de gestión del conocimiento, pero en particular aplicado al entorno del testing, y en algunas cosas en particular a las empresas que trabajan con GeneXus.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://kmconsulti.com/system/files/knowledge-management_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span"  &gt;&lt;img border="0" height="319" src="http://kmconsulti.com/system/files/knowledge-management_2.jpg" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;De las definiciones dadas las que más me gustó fue: &lt;span style="font-style: italic;"&gt;Conjunto de estrategias y procesos para identificar, capturar y aprovechar el conocimiento para ayudar a la corporación a ser más competitiva (American Productivity and Quality Center).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;Se pueden distinguir dos "tipos" de conocimiento:&lt;/span&gt;&lt;/div&gt;&lt;ul style="border-collapse: collapse; direction: ltr; margin-bottom: 0in; margin-left: 0.75in; margin-top: 0in;" type="circle"&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Conocimiento tácito: todo conocimiento que está en las personas&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Conocimiento explícito: conocimiento que está expresado en documentos, código, etc.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;Ahora, ¿por qué es importante gestionar el conocimiento?&lt;/span&gt;&lt;/div&gt;&lt;ul style="border-collapse: collapse; direction: ltr; margin-bottom: 0in; margin-left: 0.75in; margin-top: 0in;" type="circle"&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Rotación del personal (pérdida de expertos). Esto es algo que se da cada vez más en la industria del software.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Cambios de tecnologías. Por más que con GeneXus esto se reduce muchísimo, tenemos que estar atentos a las nuevas tendencias y entender cómo funcionan y cómo funcionar con ellas.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Necesidades de contacto más estrechas con los clientes.&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Necesidad de reducir tiempos de respuesta. Es inaceptable que por falta de información, o por una mala gestión de la misma nuestros tiempos de reacción sean malos.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="border-collapse: collapse; white-space: pre; "&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; white-space: normal; "&gt;&lt;span class="Apple-tab-span" style="border-collapse: collapse; white-space: pre; "&gt; &lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;    Entonces concluimos que esto nos ayuda a:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul style="border-collapse: collapse; direction: ltr; margin-bottom: 0in; margin-left: 0.75in; margin-top: 0in;" type="circle"&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Mejorar calidad&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Minimizar costos&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.75in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;La Gestión del conocimiento sigue los siguientes pasos:&lt;/span&gt;&lt;/div&gt;&lt;ul style="border-collapse: collapse; direction: ltr; margin-bottom: 0in; margin-left: 0.75in; margin-top: 0in;" type="circle"&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Creación&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Captura&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Organización&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Acceso&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  &gt;Uso&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;Es necesario "aceitar" cada uno de ellos para que todo funcione correctamente. Es necesario compartir el conocimiento, hacer que fluya. Generar conocimiento, tanto explícito como tácito (o sea, no es suficiente con documentar cosas, sino también que hay que hacer que el personal adquiera conocimiento, tanto de fuentes internas como externas).&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span"  &gt;Tengo más apuntes para compartir pero no quería agobiar con todo junto, por lo que por ahora con esto les dejamos la pregunta: ¿Gestionan el conocimiento generado en el testing? ¿Cómo?&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify; "&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: verdana; font-size: small; border-collapse: separate; "&gt;Leer más: &lt;a href="http://blog.abstracta.com.uy/2011/03/knowledge-management-en-testing-parte-2.html"&gt;Knowledge Management en Testing (parte 2)&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: Calibri; font-size: 11pt; margin-bottom: 0in; margin-left: 0.375in; margin-right: 0in; margin-top: 0in; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-321334080290479392?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/321334080290479392/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=321334080290479392' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/321334080290479392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/321334080290479392'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/03/knowledge-management-en-el-testing.html' title='Knowledge Management en el Testing (parte 1)'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6052594514637256374</id><published>2011-02-16T01:05:00.000-08:00</published><updated>2011-02-16T09:54:08.513-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><category scheme='http://www.blogger.com/atom/ns#' term='Genexus'/><title type='text'>Encuentro GeneXus España 2011</title><content type='html'>&lt;div style="text-align: left;"&gt;Aprovechando que estoy por España, vamos a tener participación en el Encuentro a celebrarse el 15 de marzo, en Logroño (La Rioja, España), impartiendo un taller de GXtest, donde mostraremos el producto funcionando.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pueden ver información del encuentro por &lt;a href="http://www.genexus.es/?page_id=679"&gt;aquí&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://3.bp.blogspot.com/-JcDHeDcbfO8/TVuUvO1NGEI/AAAAAAAAJfw/nh2jIPJlxrI/s320/encuentro%2BEspa%25C3%25B1a%2B2011%2Bgrande.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 253px; height: 320px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5574212502957135938" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como es de esperar en todo encuentro GeneXus, se abordarán los temas de punta en tecnologías, así como también las últimas novedades de GeneXus, y temas no tan técnicos de interés, teniendo la oportunidad de compartir experiencias con la comunidad que viene creciendo como en todos lados.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6052594514637256374?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/6052594514637256374/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6052594514637256374' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6052594514637256374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6052594514637256374'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/02/encuentro-genexus-espana-2011.html' title='Encuentro GeneXus España 2011'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-JcDHeDcbfO8/TVuUvO1NGEI/AAAAAAAAJfw/nh2jIPJlxrI/s72-c/encuentro%2BEspa%25C3%25B1a%2B2011%2Bgrande.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-8620020899730478425</id><published>2011-02-11T08:12:00.000-08:00</published><updated>2011-02-11T08:53:21.865-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Basado en Modelos'/><category scheme='http://www.blogger.com/atom/ns#' term='Genexus'/><title type='text'>GXtest Generator: Generador automático de casos de prueba ....</title><content type='html'>&lt;div&gt;&lt;/div&gt;&lt;div&gt;¿Qué tal si a partir de una transacción se generan casos de prueba automáticamente? ¿Qué tal si estos casos de prueba se pueden ejecutar automáticamente con GXtest, o desde el propio IDE de GeneXus?&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://mcimino.files.wordpress.com/2010/05/colaborar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="189" src="http://mcimino.files.wordpress.com/2010/05/colaborar.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;Hace un tiempo decidimos dejar abierta la posibilidad para que se pueda con herramientas externas generar casos de prueba que luego puedan ser visualizados, modificados y ejecutados desde GXtest.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Por junio del 2009 planteamos algunos post sobre &lt;a href="http://blog.abstracta.com.uy/2009/06/interoperabilidad-de-gxtest-ii.html"&gt;interoperabilidad&lt;/a&gt; con GXtest y por abril del 2010 estuvimos conversando en el GUG  sobre como se &lt;a href="http://gugmontevideo.wordpress.com/2010/04/11/1er-reunion-2010-en-el-latu-15-de-abril/"&gt;podría utilizar la información de la KB para generar casos de prueba&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Hace unos meses desde GeneXus Japón, tras comenzar a utilizar GXtest decidieron apostar a la generación automática de casos de prueba para mejorar la productividad en testing y ayudar en la calidad de sus aplicaciones. En esta tarea se embarcó  &lt;a href="http://twitter.com/ladrians"&gt;Luciano&lt;/a&gt; y &lt;a href="http://twitter.com/yoko_g"&gt;Yokoi&lt;/a&gt;, que desarrollaron una herramienta muy interesante que creemos va a marcar un hito muy importante en el testing de aplicaciones GeneXus, esta herramienta la denominaron &lt;i&gt;GXtest Generator&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;GXtest Generator permite crear casos de prueba a partir de una transacción y si dicha transacción tiene el  WorkWith aplicado entonces también genera casos que utilizan los distintos objetos creados en dicho pattern. Estos casos de prueba no solo realizan las acciones más comunes sobre la transacción y sobre los objetos generados, sino que también se pueden alimentar con datos que ingrese el usuario para poder crear una variedad importante de casos de prueba. A su vez, estos casos de prueba son una unidad fundamental para componer luego nuevos casos de prueba más complejos.&lt;br /&gt;&lt;br /&gt;Para explicarles mejor como funciona, Luciano hizo un &lt;a href="http://vzaar.com/videos/642943"&gt;video sencillo&lt;/a&gt; que lo muestra en acción. También pueden encontrar la documentación en la &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Generaci%C3%B3n_Autom%C3%A1tica_de_Casos_de_Prueba"&gt;wiki de Abstracta&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este año queremos potenciar el trabajo que han hecho en Japón. Queremos que se puedan ejecutar estos casos de prueba generados directamente en el IDE de GeneXus y que se puedan ver los resultados ahí mismo. El objetivo es sacarle más jugo de manera más rápida. Imaginen que tengan la opción de apretar F5, se genere la aplicación, se generen las pruebas, y al abrir el Browser con la aplicación se comiencen a ejecutar las pruebas generadas automáticamente.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;También queremos agregarle más cosas como generar datos en base al tipo de dato, permitir customizar más los casos de prueba generados, etc.&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Una de las cosas más importantes de GXtest Generator es que sus creadores han decidido dejarla libre para la comunidad, por lo tanto todo aquel que quiera jugar o extenderlo puede bajar los fuentes desde &lt;a href="http://www.assembla.com/wiki/show/gxextensions"&gt;assembla&lt;/a&gt;, o el pattern pronto para utilizar desde &lt;a href="http://marketplace.genexus.com/viewproduct.aspx?159"&gt;GeneXus Marketplace&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;&lt;div style="margin: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin: 0px;"&gt;Para ejecutar los casos de prueba se pueden bajar una versión &lt;a href="http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,8,8,O,,0,,3350"&gt;trial de GXtest&lt;/a&gt;.&lt;/div&gt;&lt;div style="margin: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Queremos agradecer a todo GeneXus Japón, y en especial a &lt;a href="http://twitter.com/ladrians"&gt;Luciano&lt;/a&gt; y &lt;a href="http://twitter.com/yoko_g"&gt;Yokoi&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Creemos que esta herramienta es útil en varios contextos y que va a ser la primera de varias herramientas que generen casos de prueba volviendo el testing en aplicaciones GeneXus cada vez más productivo, siendo este también un diferencial importante para quienes trabajen en esta plataforma.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-8620020899730478425?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/8620020899730478425/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=8620020899730478425' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8620020899730478425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8620020899730478425'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/02/gxtest-generator-generador-automatico.html' title='GXtest Generator: Generador automático de casos de prueba ....'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6928715449873584958</id><published>2011-02-01T04:14:00.001-08:00</published><updated>2011-02-03T07:49:42.494-08:00</updated><title type='text'>Buenas prácticas de automatización con GXtest</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-style-span"&gt;&lt;img src="http://2.bp.blogspot.com/_xDsTqyrVo3E/TUrNgoEr43I/AAAAAAAAAoc/Yl6lUIm6uQc/s400/automator-os-x.jpg" style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 320px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5569489849593619314" /&gt;Hace poco terminamos un proyecto inicial (unas 70 pruebas) de automatización de pruebas de &lt;a href="http://www.xpm4gx.com/"&gt;XPM&lt;/a&gt;.&lt;br /&gt;XPM es un herramienta muy completa para gerenciamiento de proyectos y trabajo en equipo.&lt;br /&gt;El proyecto fue exitoso ya que logramos cumplir con todos los objetivos planteados inicialmente.&lt;br /&gt;&lt;br /&gt;Durante el transcurso del mismo utilizamos varias prácticas que, si bien las hemos mencionado y las recomendamos a nuestros clientes, nunca las habíamos integrado en &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Buenas_Pr%C3%A1cticas_de_Automatizaci%C3%B3n_con_GXtest"&gt;un artículo&lt;/a&gt; de buenas prácticas. Son temas sencillos pero que a la larga o a la corta hacen una gran diferencia.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Nomenclatura&lt;/b&gt;&lt;br /&gt;Es importante definir una nomenclatura de casos de prueba y carpetas. Esta práctica si bien es simple redunda en muchos beneficios. Una recomendación para los nombres de los casos de prueba es distinguir aquellos que son pensados como componentes de otros casos de prueba de que son pensados como ciclos que incluyen los componentes. A los casos de prueba integradores (ciclos) se los puede nombrar con Ciclo&lt;nombrerepresentativo&gt;&lt;/nombrerepresentativo&gt;&lt;br /&gt;Por otro lado es útil definir una estructura de carpetas que permita separar los casos de prueba generales (típicamente login, acceso a los menúes, etc) de los casos de prueba de los distintos módulos.&lt;br /&gt;Muchas veces también surgen casos de prueba temporales a los mismos se los puede nombrar con un prefijo común como pru&lt;nombre&gt; o tmp&lt;nombre&gt;.&lt;/nombre&gt;&lt;/nombre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Comentarios y Descripciones&lt;/b&gt;&lt;br /&gt;Cada caso de prueba y datapool puede tener una descripción que diga en líneas generales cuál es su objetivo. Por otro lado dentro de los casos de pruebas podemos incluir comentarios que ilustren los distintos pasos dentro del caso de prueba. Dentro de los datapool es conveniente agregar una columna más que sea comentarios en la cual en caso de que se quiera se agregue un comentario para cada dato que se utilizará en las pruebas.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Componentes Reutilizables&lt;/b&gt;&lt;br /&gt;Una de las ventajas principales de GXtest es la facilidad para reutilizar casos de prueba. Para poder explotar al máximo esta cualidad es importante definir cuáles son los casos de prueba que serán reutilizados, que variables de entrada y salida tendrán y que datapools utilizarán. Luego se construyen los casos de prueba principales simplemente anidando otros casos de prueba.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descripción de las validaciones&lt;/b&gt;&lt;br /&gt;Cada validación en GXtest tiene un campo extra en el cual se le puede incluir una descripción a ser mostrada en caso de que falle. Esta descripción es sumamente útil a la hora de analizar los resultados de una ejecución.&lt;br /&gt;&lt;br /&gt;¿Que otras buenas prácticas utilizan ustedes con GXtest?&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6928715449873584958?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/6928715449873584958/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6928715449873584958' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6928715449873584958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6928715449873584958'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/02/buenas-practicas-de-automatizacion-con.html' title='Buenas prácticas de automatización con GXtest'/><author><name>MelliMatías</name><uri>http://www.blogger.com/profile/05589011792765234083</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_7NSbjETmgUA/STleBzy1SrI/AAAAAAAACrw/F-fj14u8xb8/S220/mati.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xDsTqyrVo3E/TUrNgoEr43I/AAAAAAAAAoc/Yl6lUIm6uQc/s72-c/automator-os-x.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6098104893687165230</id><published>2011-01-21T04:58:00.000-08:00</published><updated>2011-01-21T09:00:27.356-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>Upgrade de GXtest liberado (v. 1.1.4)</title><content type='html'>&lt;div style="text-align: left;"&gt;Desde la liberación de la versión 1.1 hemos continuado desarrollando y mejorando el producto. Hace muy pocos días dejamos disponible una nueva versión (v. 1.1.4) y no queríamos dejar de hacer mención de los principales avances que tiene, más allá de las mejoras y bugfixes:&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;a href="http://gxtechnical.com/gxtest"&gt;&lt;img src="http://1.bp.blogspot.com/_C6WXtbAB2qc/TTmj6YDM8fI/AAAAAAAAJfM/ERTyVcHoaLQ/s320/update.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 206px; height: 181px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5564659037876580850" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Simplificación del modelo&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Simplificación en el uso de &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Manual_de_Usuario_de_GXtest_Designer#Utilizar_datos_relacionados_.28SETID.29"&gt;datapools relacionados&lt;/a&gt;, ya no se necesita el datapool &lt;i&gt;datasets&lt;/i&gt; para relacionar datos de distintos datapools. Por otro lado se brinda la posibilidad de relacionar datos con distintos niveles de anidación. &lt;/li&gt;&lt;li&gt;No es necesario usar el &lt;i&gt;dummy event&lt;/i&gt;, se permiten aristas sin eventos. Al ver que esto era algo común, optamos por no requerir agregar un evento en cada arista.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Mejor interpretación de resultados&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Se mejora la visualización de resultados en el Designer, sin abrir las responses obtenidas en otro tab, sino en un cuadro abajo, en forma mucho más práctica (&lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Image:ResultadosVerCliente.JPG"&gt;ver ejemplo&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Se renderizan los css y las imágenes en las html guardadas como &lt;i&gt;responses&lt;/i&gt; de las ejecuciones (eso se puede ver en el ejemplo anterior).&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Generación de casos de prueba&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Hace mucho tiempo &lt;a href="http://blog.abstracta.com.uy/2009/06/interoperabilidad-de-gxtest-ii.html"&gt;comentamos&lt;/a&gt; que dejamos disponible una interfaz por la cual se podrían generar casos de prueba en forma externa, tal que se puedan cargar luego en GXtest y ejecutarlos desde ahí. Esto permite que por ejemplo, a partir de la KB, o de una recorrida por la aplicación o modelos de alto nivel, se generen casos de prueba que luego se puedan usar en GXtest. En esta nueva versión se incluyeron mejoras en esta interfaz, permitiendo expresar muchas más cosas en forma más simple y funcional.&lt;/li&gt;&lt;li&gt;Con este fin también se facilitó el formato con el que se exportan e importan los datapools (csv en lugar de xml).&lt;/li&gt;&lt;/ul&gt;Facilidad de instalación&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Para brindarle la metadata de la KB a GXtest es necesario instalar una &lt;i&gt;extension&lt;/i&gt; (en el caso de que se esté trabajando con GX X o superior). Ahora &lt;a href="http://marketplace.genexus.com/viewproductversion.aspx?157,1,0,0,"&gt;esta &lt;i&gt;extension&lt;/i&gt; está en el GeneXus Marketplace&lt;/a&gt;, lo cual hace más fácil su instalación.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Esperamos que puedan probarlas y darnos su opinión. Desde ya gracias!&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6098104893687165230?l=blog.abstracta.com.uy' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abstracta.com.uy/feeds/6098104893687165230/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6098104893687165230' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6098104893687165230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6098104893687165230'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/01/upgrade-de-gxtest-liberado-v-114.html' title='Upgrade de GXtest liberado (v. 1.1.4)'/><author><name>Federico Toledo</name><uri>https://profiles.google.com/118269726639284682789</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ngqJzE-BDe8/AAAAAAAAAAI/AAAAAAAAJmU/P6po3Hezub8/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_C6WXtbAB2qc/TTmj6YDM8fI/AAAAAAAAJfM/ERTyVcHoaLQ/s72-c/update.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
