<?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-09T09:21:35.997-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='Usabilidad'/><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?max-results=100'/><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=101&amp;max-results=100'/><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>125</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-7079354610445010931</id><published>2012-02-09T10:39:00.000-08:00</published><updated>2012-02-09T09:21:36.050-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Usabilidad'/><title type='text'>Apuntes sobre Usabilidad</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-me3wvw9P8N0/TzP_0mdDJlI/AAAAAAAABgE/KAjByejTa0Y/s1600/effective-web-design.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="353" src="http://1.bp.blogspot.com/-me3wvw9P8N0/TzP_0mdDJlI/AAAAAAAABgE/KAjByejTa0Y/s400/effective-web-design.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Si bien no soy experto en este tema, siempre me llamó la atención y me interesó conocer y leer al respecto.&lt;br /&gt;&lt;br /&gt;En el congreso al que fui el el año pasado (&lt;a href="http://blog.abstracta.com.uy/2011/11/lo-que-fue-el-vlctesting.html"&gt;VLCTesting&lt;/a&gt;) se dio &lt;a href="http://jordisan.net/blog/2011/el-boton-de-los-300-millones-de-dolares-en-vlctesting"&gt;una charla muy buena de usabilidad&lt;/a&gt;. Se contó acerca de un &lt;b&gt;experimento que hicieron&amp;nbsp;con distintas personas&lt;/b&gt; mientras utilizaban un sistema por primera vez, en el que capturaban las pantallas y filmaban al mismo tiempo todo lo que los usuarios hacían, para luego analizar el comportamiento. Además le habían pedido al usuario que relate su proceso mental, o sea, que vaya contando lo que estaba haciendo, qué estaba buscando, qué cosas no entendía, etc. Me parece una práctica muy interesante que permite descubrir un montón de cosas sin ser siquiera experto.&amp;nbsp;Permite entender qué cosas son las que complican a alguien para entender el sistema ante la primera vez que lo utiliza, pues, dentro del equipo de desarrollo esa visión se pierde, incluso con el equipo de testers, ya que tenemos sólo una oportunidad por persona de la "primera impresión". Luego, ya habremos aprendido y aceptamos las cosas tal como están, y nos dejan de parecer poco naturales o extrañas. Recuerdo que &lt;a href="http://blogjlr.blogspot.com/"&gt;José&amp;nbsp;Lamas&lt;/a&gt; alguna vez nos planteó un ejercicio similar incluso con nuestro desarrollo y nos dio buenos resultados.&lt;br /&gt;&lt;br /&gt;Otra cosa con la que me quedé de la charla, es que &lt;b&gt;recomendó este libro:&amp;nbsp;&lt;/b&gt;&lt;i&gt;&lt;b&gt;No me hagas pensar, de Steve Krug&lt;/b&gt;.&amp;nbsp;&lt;/i&gt;Luego que lo lea les comentaré, y si alguien ya lo leyó que quiera aportar algún comentario, bienvenido!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Otro tema que me resultó muy interesante que lo comentó un profesor en las clases de master, es la que llamó&lt;b&gt; &lt;i&gt;la regla del número 7&lt;/i&gt;&lt;/b&gt;, que dice que es un número muy importante, como por ejemplo la cantidad de cosas que puede llegar a recordar el cerebro en corto plazo, por lo que es un número muy importante a tener en cuenta para temas de usabilidad. Por ejemplo, ¿cuántas pestañas tiene la nueva barra del Office 2010? y ¿cuántos grupos de elementos hay en cada una?, curioso, ¿no?.&lt;br /&gt;&lt;br /&gt;Acá &lt;b&gt;en Uruguay existe una empresa&lt;/b&gt; (cuyo nombre es el &lt;a href="http://www.antonimos.net/abstracto"&gt;antónimo&lt;/a&gt; al de nuestra firma) &lt;b&gt;llamada &lt;a href="http://www.concreta.com.uy/"&gt;Concreta&lt;/a&gt; &lt;/b&gt;que son apasionados por estos temas y brindan servicios relacionados. En su página puden encontrar varios artículos interesantes para quien le interese leer un poco más del tema. También pueden encontrar más información en el &lt;a href="http://www.mordecki.com/"&gt;blog de Daniel Mordecki&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Si quieren ir leyendo algo más al respecto les recomiendo este &lt;a href="http://catchbug.wordpress.com/category/usability-testing/"&gt;link&lt;/a&gt;. ¿Alguien tiene algo para recomendar?&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-7079354610445010931?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/7079354610445010931/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=7079354610445010931' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7079354610445010931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7079354610445010931'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2011/12/apuntes-sobre-usabilidad.html' title='Apuntes sobre Usabilidad'/><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/-me3wvw9P8N0/TzP_0mdDJlI/AAAAAAAABgE/KAjByejTa0Y/s72-c/effective-web-design.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><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><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-5001592551211188271</id><published>2010-12-23T16:00:00.000-08:00</published><updated>2010-12-23T10:18:12.283-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>¿Está creciendo la comunidad de testing en Uruguay?</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Los interesados en testing que nos leen, dónde se informan? qué foros siguen? dónde intentan actualizarse sobre lo que pasa en esta área del conocimiento de la informática?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_C6WXtbAB2qc/TROR6ZR1U_I/AAAAAAAAJeo/ayFVrnMu7dI/s320/test-in-progress.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 247px; height: 245px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5553943197882078194" /&gt;&lt;/div&gt;&lt;div&gt;En el último tiempo hemos tenido varias propuestas nuevas para compartir y obtener información, consultas, etc.:&lt;/div&gt;&lt;span&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;a href="http://www.linkedin.com/groups?mostPopular=&amp;amp;gid=3303722&amp;amp;trk=myg_ugrp_ovr"&gt;Centro de Excelencia en Testing:&lt;/a&gt; e&lt;/span&gt;&lt;/span&gt;ste grupo fue creado por Ignacio Larrañaga de TCS y creo que es donde más gente de testing de Uruguay en particular partcipa. Está muy bueno para mantenerse informado de eventos locales, etc.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ces.com.uy/"&gt;Página del Centro de Ensayos de Software&lt;/a&gt;: siempre publican información sobre actividades, cursos y eventos que organizan o en los que participan.  &lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.ces.com.uy/"&gt;Blog del Centro de Ensayos de Software&lt;/a&gt;: hoy se inauguró el blog del CES. Seguramente podremos encontrar otro espacio compartido para mantenernos al tanto de todo a lo que testing se refiere.&lt;/li&gt;&lt;li&gt;&lt;a href="http://gxunit.blogspot.com/"&gt;Blog de GXunit&lt;/a&gt;: el grupo de estudiantes que está encarando este proyecto de grado este año van comentando sus avances en este blog.&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;Hay algunas cuentas de twitter para seguir, que publican siempre info relacionada, y en particular en Uruguay encontramos la del CES y la nuestra:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://twitter.com/ces_com_uy"&gt;@ces_com_uy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/gxtest"&gt;@gxtest&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Conocen alguna otra?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si bien es bien visible en otros aspectos que la conciencia sobre la importancia de las pruebas de software está creciendo a diario en Uruguay, queríamos mostrar cómo ha crecido también en comunidades web.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 14px; border-collapse: collapse; font-weight: bold; line-height: 12px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Ahora, para no quedarnos sólo con esto, les compartimos algunas otras opciones. Desde hace un tiempo estamos utilizando bastante algunos foros de Linked-in para temas de testing. Si bien el flujo en las preguntas no es tan dinámico como esperábamos, creo que es un buen lugar para hacer preguntas específicas y obtener un poco de feedback de colegas en distintas partes del mundo.&lt;/div&gt;&lt;span&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.linkedin.com/groups?mostPopular=&amp;amp;gid=2173882&amp;amp;trk=myg_ugrp_ovr"&gt;ModelBasedTesting&lt;/a&gt;: de ves en cuando llegan invitaciones para eventos internacionales importantes sobre este tema que tanto nos interesa.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linkedin.com/groups?mostPopular=&amp;amp;gid=929077&amp;amp;trk=myg_ugrp_ovr"&gt;OpenSTA&lt;/a&gt;: es una herramienta de testing de performance que hemos usado mucho en el CES y que nos ha dado muy buenos resultados. Si bien el desarrollo de la misma está bastante quito hay un grupo de usuarios interesantes en el mundo utilizándola.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linkedin.com/groups?mostPopular=&amp;amp;gid=132947&amp;amp;trk=myg_ugrp_ovr"&gt;Performance Testers&lt;/a&gt;: me he suscrito recientemente porque el nombre me llamó la atención y creo que va a valer la pena.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linkedin.com/groups?mostPopular=&amp;amp;gid=117328&amp;amp;trk=myg_ugrp_ovr"&gt;Software Test &amp;amp; Performance Group&lt;/a&gt;: este grupo es muy activo y se hacen preguntas siempre interesantes.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linkedin.com/groups?mostPopular=&amp;amp;gid=81458&amp;amp;trk=myg_ugrp_ovr"&gt;SQAforums&lt;/a&gt;: para todo lo que quieran de cualquier aspecto del testing este grupo es el indicado.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linkedin.com/groups?mostPopular=&amp;amp;gid=934827&amp;amp;trk=myg_ugrp_ovr"&gt;Abstracta &lt;/a&gt;también tiene su grupo si quieren hacer preguntas por ese medio!&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si tienen más RSS o similares interesantes para ser testers informados, compártanlos con nosotros que serán bienvenidos!&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&gt;Aprovechamos la oportunidad para desearles felices fiestas, y un nuevo año de muy buena calidad!!&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;span class="Apple-style-span" style="font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 10px; border-collapse: collapse; line-height: 12px; "&gt;&lt;h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: bold; font-style: inherit; font-size: 14px; font-family: inherit; vertical-align: baseline; "&gt;&lt;br /&gt;&lt;/h3&gt;&lt;/span&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-5001592551211188271?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/5001592551211188271/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=5001592551211188271' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5001592551211188271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5001592551211188271'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/12/esta-creciendo-la-comunidad-de-testing.html' title='¿Está creciendo la comunidad de testing en Uruguay?'/><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/_C6WXtbAB2qc/TROR6ZR1U_I/AAAAAAAAJeo/ayFVrnMu7dI/s72-c/test-in-progress.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6417161737372422307</id><published>2010-11-24T15:08:00.000-08:00</published><updated>2010-12-06T08:34:31.385-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>Cursos de GXtest 2011</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FXeYy63SVzU/TJo7HLUTDWI/AAAAAAAAAbE/2lifUsIBT4k/s1600/estudiar.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 350px;" src="http://4.bp.blogspot.com/_FXeYy63SVzU/TJo7HLUTDWI/AAAAAAAAAbE/2lifUsIBT4k/s1600/estudiar.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Ya están las fechas para &lt;a href="http://training.genexus.com/cursos/actividades-presenciales?ES"&gt;los cursos&lt;/a&gt; que se dictarán de GXtest el año que viene.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Se dictará en tres oportunidades:&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Del  14 al 18 de Marzo&lt;/li&gt;&lt;li&gt;Del 13 al 17 de Junio&lt;/li&gt;&lt;li&gt;Del 17 al 21 de Octubre&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;El curso es presencial y tienen una duración total de 20 horas. En el mismo se aprenden los conceptos principales de GXtest y se ponen en práctica en talleres que abarcan los distintos aspectos aprendidos.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El curso es ideal para todo aquel que quiera comenzar con testing automatizado.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Desde ya los invitamos a todos a registrarse!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6417161737372422307?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/6417161737372422307/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6417161737372422307' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6417161737372422307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6417161737372422307'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/11/cursos-de-gxtest-2011.html' title='Cursos de GXtest 2011'/><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://4.bp.blogspot.com/_FXeYy63SVzU/TJo7HLUTDWI/AAAAAAAAAbE/2lifUsIBT4k/s72-c/estudiar.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3624436702701220650</id><published>2010-10-04T13:39:00.000-07:00</published><updated>2010-10-04T17:03:12.299-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><title type='text'>Tutoriales de GXtest en video</title><content type='html'>&lt;div style="text-align: left;"&gt;Contamos con bastante material de &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Category:Gu%C3%ADas_de_GXtest"&gt;cómo comenzar a utilizar GXtest&lt;/a&gt;, &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Category:Testing"&gt;cómo comenzar con el test automatizado&lt;/a&gt;, pero de todos modos siempre estamos intentando facilitar  la adopción de estas buenas prácticas.&lt;/div&gt;&lt;div&gt;Para ello también estamos intentando seguir algo que nos han pedido en reiteradas ocasiones, y en particular &lt;a href="http://blog.abstracta.com.uy/2010/09/estrategia-para-comenzar-automatizar.html"&gt;en el último post&lt;/a&gt; en el que describíamos simples pasos que nos permiten visualizar los beneficios de GXtest en algo que no lleva más de 5 minutos: tutoriales en video.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_C6WXtbAB2qc/TKo9hAjNKwI/AAAAAAAAJeI/_B3la_bVoKY/s320/video.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 192px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5524295530215975682" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para comenzar a experimentar con estas cosas hicimos un primer tutorial siguiendo esos tres pasos descritos en le post anterior que esperemos les sirvan de ayuda. Cualquier feedback es bienvenido.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;Update&lt;/b&gt;: en cada video, abajo a la derecha está la opción de ver en modo full-screen&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.screencast.com/t/MDNiMWI3YWU"&gt;Cómo crear un proyecto con GXtest&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;object id="scPlayer" width="580" height="435" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fltoledo/folders/GXtest/media/2fc92779-5fd3-464f-a726-835861a4feca/jingswfplayer.swf"&gt;&lt;br /&gt;  &lt;param name="movie" value="http://content.screencast.com/users/fltoledo/folders/GXtest/media/2fc92779-5fd3-464f-a726-835861a4feca/jingswfplayer.swf"&gt;&lt;br /&gt;  &lt;param name="quality" value="high"&gt;&lt;br /&gt;  &lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;br /&gt;  &lt;param name="flashVars" value="containerwidth=1280&amp;amp;containerheight=760&amp;amp;thumb=http://content.screencast.com/users/fltoledo/folders/GXtest/media/2fc92779-5fd3-464f-a726-835861a4feca/FirstFrame.jpg&amp;amp;content=http://content.screencast.com/users/fltoledo/folders/GXtest/media/2fc92779-5fd3-464f-a726-835861a4feca/GXtest_-_New_Project_-_AjaxSample.swf&amp;amp;blurover=false"&gt;&lt;br /&gt;  &lt;param name="allowFullScreen" value="true"&gt;&lt;br /&gt;  &lt;param name="scale" value="showall"&gt;&lt;br /&gt;  &lt;param name="allowScriptAccess" value="always"&gt;&lt;br /&gt;  &lt;param name="base" value="http://content.screencast.com/users/fltoledo/folders/GXtest/media/2fc92779-5fd3-464f-a726-835861a4feca/"&gt;&lt;br /&gt; &lt;/object&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.screencast.com/t/YWYyNjVjYzg"&gt;Cómo grabar un caso de prueba?&lt;/a&gt;&lt;div&gt;&lt;object id="scPlayer" width="580" height="435" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fltoledo/folders/GXtest/media/500b031e-2a77-4207-b016-8b3a8012a882/bootstrap.swf"&gt;&lt;br /&gt;&lt;param name="movie" value="http://content.screencast.com/users/fltoledo/folders/GXtest/media/500b031e-2a77-4207-b016-8b3a8012a882/bootstrap.swf"&gt;&lt;br /&gt;&lt;param name="quality" value="high"&gt;&lt;br /&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;br /&gt;&lt;param name="flashVars" value="containerwidth=1280&amp;amp;containerheight=760&amp;amp;thumb=http://content.screencast.com/users/fltoledo/folders/GXtest/media/500b031e-2a77-4207-b016-8b3a8012a882/FirstFrame.jpg&amp;amp;content=http://content.screencast.com/users/fltoledo/folders/GXtest/media/500b031e-2a77-4207-b016-8b3a8012a882/GXtest_-_Record_Test_Case_-_AjaxSample.swf&amp;amp;blurover=false"&gt;&lt;br /&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;br /&gt;&lt;param name="scale" value="showall"&gt;&lt;br /&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;br /&gt;&lt;param name="base" value="http://content.screencast.com/users/fltoledo/folders/GXtest/media/500b031e-2a77-4207-b016-8b3a8012a882/"&gt;&lt;br /&gt;&lt;/object&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.screencast.com/t/ODdhODk4Zj"&gt;Cómo parametrizar una prueba con datapools y luego ejecutar&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;object id="scPlayer" width="580" height="435" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fltoledo/folders/GXtest/media/5cf0a647-e3ac-4b8e-8728-af5dad8849bd/bootstrap.swf"&gt;&lt;br /&gt;&lt;param name="movie" value="http://content.screencast.com/users/fltoledo/folders/GXtest/media/5cf0a647-e3ac-4b8e-8728-af5dad8849bd/bootstrap.swf"&gt;&lt;br /&gt;&lt;param name="quality" value="high"&gt;&lt;br /&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;br /&gt;&lt;param name="flashVars" value="containerwidth=1280&amp;amp;containerheight=760&amp;amp;thumb=http://content.screencast.com/users/fltoledo/folders/GXtest/media/5cf0a647-e3ac-4b8e-8728-af5dad8849bd/FirstFrame.jpg&amp;amp;content=http://content.screencast.com/users/fltoledo/folders/GXtest/media/5cf0a647-e3ac-4b8e-8728-af5dad8849bd/GXtest_-_Datapool_and_Execution.swf&amp;amp;blurover=false"&gt;&lt;br /&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;br /&gt;&lt;param name="scale" value="showall"&gt;&lt;br /&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;br /&gt;&lt;param name="base" value="http://content.screencast.com/users/fltoledo/folders/GXtest/media/5cf0a647-e3ac-4b8e-8728-af5dad8849bd/"&gt;&lt;br /&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-3624436702701220650?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/3624436702701220650/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3624436702701220650' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3624436702701220650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3624436702701220650'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/10/tutoriales-de-gxtest-en-video.html' title='Tutoriales de GXtest en video'/><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/_C6WXtbAB2qc/TKo9hAjNKwI/AAAAAAAAJeI/_B3la_bVoKY/s72-c/video.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-5476592622248439492</id><published>2010-09-27T04:16:00.000-07:00</published><updated>2010-10-01T13:03:11.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>Estrategia para comenzar a automatizar pruebas</title><content type='html'>&lt;div style="text-align: left;"&gt;¿Se acuerdan del juego de PC llamado &lt;a href="http://es.wikipedia.org/wiki/StarCraft"&gt;Star Craft&lt;/a&gt;? Alguno tuvo que haber jugado a este juego, o a alguno similar (&lt;a href="http://es.wikipedia.org/wiki/Warcraft"&gt;War Craft&lt;/a&gt;, &lt;a href="http://www.microsoft.com/games/empires/"&gt;Age of Empire&lt;/a&gt;). &lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;img src="http://1.bp.blogspot.com/_C6WXtbAB2qc/TKB_MF-CIoI/AAAAAAAAJeA/gSdxrzMH2g0/s320/starcraft1.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5521552988893749890" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Hace uno o dos meses salió &lt;/span&gt;&lt;a href="http://us.battle.net/sc2/es/buynow?ref=/sc2/"&gt;una nueva versión&lt;/a&gt;&lt;span&gt;, pero yo recuerdo que jugué bastante a la primera. Y bueno, para que más o menos tengan una idea, uno se va formando sus tropas a medida va obteniendo recursos, energía, minerales, etc. Cada nave tiene un costo (en minerales y en tiempo de construcción), y obviamente las grandes naves poderosas, con gran poder destructivo tenían un costo muy alto, y las pequeñas un costo menor. Entonces, uno hasta que no consigue crecer y tener muchos recursos, le cuesta tener una de esas naves gigantes. La estrategia que yo usaba  (y me servía mucho mejor que otras que intenté) era construir pequeñas naves, que se rápidamente, con menor poder destructivo pero me van defendiendo como pueden de los posibles ataques, y con el tiempo voy teniendo cada vez más y así uno va logrando su ejército. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;En esto de la automatización de pruebas podemos usar la misma estrategia para comenzar. Es preferible hacer una pequeña nave de batalla, que nos de beneficios inmediatamente, por más que sean pocos, que sean rápidamente perceptibles, en vez de esperar a tener una gran nave de batalla superpoderosa, que tal vez llega tarde, cuando ya no hay tiempo para defenderse de los problemas, o sea, cuando estemos por salir a producción! Es mejor hacer pequeñas naves que cuesten menos recursos, y que día a día sumemos una nueva pequeña nave que nos vayan formando un gran ejército de casos de prueba automatizados.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;O sea, aplicar soluciones &lt;/span&gt;&lt;i&gt;good enough&lt;/i&gt;&lt;span&gt; como dice Jodal, y no soluciones perfectas, porque las soluciones perfectas llegan tarde.    &lt;/span&gt;&lt;/span&gt;&lt;p style="language:es;margin-top:0pt;margin-bottom:0pt;margin-left:0in; text-align:left;direction:ltr;unicode-bidi:embed;mso-line-break-override:none; word-break:normal;punctuation-wrap:hanging"&gt;&lt;span style="font-size:12.0pt; font-family:Calibri;mso-ascii-font-family:Calibri;mso-fareast-font-family:+mn-ea; mso-bidi-font-family:+mn-cs;color:black;mso-color-index:1;mso-font-kerning: 12.0pt;language:es"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;GXtest Instalado.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Ambiente para pruebas instalado.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Diseñar primer prueba&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;- entro a la aplicación (url: &lt;/span&gt;&lt;/span&gt;&lt;a href="http://samples.genexus.com/ajaxsample90/hhome.aspx"&gt;http://samples.genexus.com/ajaxsample90/hhome.aspx&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;- accedo al menú para crear un nuevo producto&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;- ingreso los valores&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;- verifico que el producto haya sido creado haciendo una búsqueda en la grilla&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Esta es una prueba muy simple, no estamos intentando "romper el sistema", simplemente estamos viendo "la línea amarilla". Mi primer nave de batalla va a ser bastante limitada.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Automatizar esta prueba con GXtest. Para esto antes que nada es necesario crear un proyecto en GXtest, para lo cual hay que decirle a GXtest cuál es la URL y darle una copia de la KB de la aplicación (para este ejemplo se puede hacer con &lt;/span&gt;&lt;a href="http://gxtest.abstracta.com.uy/wiki/images/2/2c/AjaxSampleCompleta.xpz"&gt;este XPZ&lt;/a&gt;&lt;span&gt;). Esta será como nuestra central de operaciones, donde todas las naves van a reportarse.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Para automatizar el caso de prueba no necesitamos mucho más tiempo que el que lleva ejecutar la funcionalidad a mano, pues efectivamente para grabar un caso de prueba lo que hay que hacer es hacer una ejecución manual de la prueba.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Luego que tenemos esa prueba lista, la podemos ejecutar cada vez que queramos, ... tenemos nuestra primer nave funcionando y reportándose.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Pero podemos con poco esfuerzo más obtener mucho más beneficio de esta misma nave.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Podemos parametrizar la prueba, y hacer que cada valor ingresado en cada campo sea tomado de una tabla de datos de prueba. De esta forma, podremos ejecutar esta misma prueba con muchos datos, y así estar probando distintas situaciones.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Datos de entrada de la funcionalidad: Product Id, Product Name, Product Price, Product Stock.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entonces tendremos una tabla de datos de prueba (en GXtest es un datapool) con estas columnas. Luego podremos pensar distintas combinaciones de valores para probar. Por ejemplo, pensar ingresar valores nulos, o valores muy grandes, strings muy largos, precios negativos, etc. La misma prueba, que la ejecuté una sola vez, la puedo ejecutar con todas las combinaciones de datos que se me ocurran con tan solo ingresar los valores en una tabla. Esta ejecución la puedo hacer cuántas veces quiera, cada vez que quiera, obteniendo información sobre el estado de la aplicación en forma casi inmediata.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este enfoque de separar el flujo del caso de prueba de los datos que se utilizan está basado en una técnica llamada &lt;a href="http://en.wikipedia.org/wiki/Data-driven_testing"&gt;Data-driven testing&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Espero el ejemplo les sirva para visualizar cómo se puede ir de menos a más. Lo importante es comenzar, visualizar los beneficios, y luego le vamos a &lt;i&gt;agarrar el gustito&lt;/i&gt;, y así iremos haciendo crecer el ejército.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-5476592622248439492?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/5476592622248439492/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=5476592622248439492' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5476592622248439492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5476592622248439492'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/09/estrategia-para-comenzar-automatizar.html' title='Estrategia para comenzar a automatizar pruebas'/><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/TKB_MF-CIoI/AAAAAAAAJeA/gSdxrzMH2g0/s72-c/starcraft1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-1928827060566508612</id><published>2010-09-20T12:04:00.000-07:00</published><updated>2010-09-20T14:36:39.646-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='Metodología'/><category scheme='http://www.blogger.com/atom/ns#' term='Genexus'/><title type='text'>El problema de la acumulatividad nula extrovertida sistemática</title><content type='html'>&lt;div style="text-align: left;"&gt;Durante la &lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1247,O,S,0,,2141"&gt;charla del miércoles&lt;/a&gt; se planteó &lt;i&gt;el problema de la acumulatividad nula extrovertida sistemática&lt;/i&gt; (el nombre es tan sólo para seguir el mecanismo de nombres de Les Luthiers que lo fui a ver la semana pasada y me gustó mucho:P).&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Está basado en algo que se plantea en el libro que ya hemos nombrado y recomendado (Software test automation: effective use of test execution tools, de Mark Fewster y Dorothy Graham, página 494). &lt;/div&gt;&lt;div&gt;En el libro muestran una gráfica parecida a la siguiente:&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;&lt;img src="http://4.bp.blogspot.com/_C6WXtbAB2qc/TJNczePtR6I/AAAAAAAAJd4/1wrx0jxbKP0/s320/acumulatividad.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 186px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5517856007821019042" /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;La misma muestra que las features crecen cada vez más a lo largo del tiempo, pero el test no (no conozco de ninguna empresa que a medida desarrolle más funcionalidades contrate más testers). Eso es un problema, pues significa que cada vez más se nos da la situación de tener que elegir qué testear y qué no, y dejamos un montón de cosas sin probar. El hecho de que las features vayan creciendo con el tiempo, implica que el esfuerzo en testing debería ir creciendo también proporcionalmente. De aquí sale el problema de no tener tiempo para automatizar, pues no hay siquiera tiempo para el test manual, y tal vez la mayoria de uds no son conscientes de que les sucede esto o de la gravedad del asunto.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Un colega argentino de una consultora (&lt;a href="http://www.ernestokiszkurno.com.ar/"&gt;Ernesto Kiszcurno&lt;/a&gt;) dice que lo más pesado (costoso) en testing es diseño y ejecución. Podríamos considerar que el diseño es acumulativo, pues vamos diseñando y registrando en planillas de cálculo o documentos. El problema es que la ejecución de pruebas no es acumulativa. Cada vez que liberamos una nueva versión del sistema es necesario (deseable, sería necesario) testear todas las funcionalidades acumuladas, y no sólo las del último incremento, pues tal vez funcionalidades que se implementaron en versiones anteriores cambian su comportamiento esperado por "culpa" de los últimos cambios.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lo bueno de la automatización es que es acumulativa. Es la única forma de hacer que el testing se haga constante (sin que se requieran más esfuerzos a medida pasa el tiempo y crece el software a probar). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;El desafío es hacer testing en forma eficiente, de forma que nos rinda, que veamos los resultados, que nos aporte valor, y que vaya acompañando la acumulatividad del desarrollo.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ojo! los casos de prueba tienen que ser fácilmente "mantenibles" sino no se puede lograr esta acumulatividad y acá es donde GXtest le da otra ventaja a la comunidad GeneXus respecto a las otras tecnologías.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nuestra propuesta es automatizar pruebas funcionales para hacer testing en forma más eficiente, y así ganar más confianza en nuestro software.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este era el mensaje de la charla. Esperamos les haya gustado, y que algo de lo planteado les sirva para mejorar el trabajo de todos los días.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Les recomiendo en particular alguna cosita de Lutherapia, que es el espectáculo que dieron Les Luthiers en estos días acá en Montevideo:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=soAuC0cTZ5I&amp;amp;feature=related" target="_blank" style="color: rgb(0, 0, 204); "&gt;http://www.youtube.com/watch?&lt;wbr&gt;v=soAuC0cTZ5I&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=LVTDav7uPXA&amp;amp;feature=related" target="_blank" style="color: rgb(0, 0, 204); "&gt;http://www.youtube.com/&lt;wbr&gt;watch?v=LVTDav7uPXA&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-1928827060566508612?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/1928827060566508612/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=1928827060566508612' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1928827060566508612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1928827060566508612'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/09/el-problema-de-la-acumulatividad-nula.html' title='El problema de la acumulatividad nula extrovertida sistemática'/><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/_C6WXtbAB2qc/TJNczePtR6I/AAAAAAAAJd4/1wrx0jxbKP0/s72-c/acumulatividad.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-2790338798689801918</id><published>2010-09-17T08:32:00.000-07:00</published><updated>2010-09-20T14:44:07.860-07: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'>#XXGX - Agradecimientos</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xDsTqyrVo3E/TJOwBN2outI/AAAAAAAAAn4/rkSp3rTuxDM/s1600/4989614731_703eaa6c84_z.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_xDsTqyrVo3E/TJOwBN2outI/AAAAAAAAAn4/rkSp3rTuxDM/s400/4989614731_703eaa6c84_z.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5517947503404169938" /&gt;&lt;/a&gt;&lt;div&gt;Se vivió otro &lt;a href="http://www.genexus.com/meeting2010/"&gt;encuentro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;GeneXus&lt;/span&gt;&lt;/a&gt;. Como se comenta en cada pasillo: año a año nos supera las expectativas, algo muy difícil de lograr.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Quedamos felizmente sorprendidos (como mencionamos en el post anterior), de cómo año a año se habla mucho más de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;testing&lt;/span&gt;. Hubo durante toda la mañana del miércoles,  charlas de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;testing&lt;/span&gt;, las cuales estuvieron muy concurridas. El laboratorio de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;GXtest&lt;/span&gt; albergó a 40 usuarios y quedaron muchos sin posibilidad de realizarlo. Confiados en que estamos en el camino correcto, apostando a que se profesionalice cada vez más el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;testing&lt;/span&gt;, como parte clave del éxito de las empresas de TI.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;Queremos agradecer a: &lt;a href="http://www3.gxtechnical.com/mainprogram/evviewspeaker2.aspx?AxW8RHsgvrwE/0kSZZWui8E5/YEZ43IYXzseIc5tQ9gxwOTnhcVKF7ZzZtZdk0lfRd/+avDqpSjkJNRwF1a3uuVobw0Z2eSPSGs5rD2jWotuJX9015d9Htz4Qx5jOai1S2bywsbl2lLoO0nKPeux2w=="&gt;Enrique &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Almeida&lt;/span&gt;&lt;/a&gt; (Concepto), &lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1247,O,S,0,,2142"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Gabriela&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Rial&lt;/span&gt;&lt;/a&gt; (K2B) y &lt;a href="http://www3.gxtechnical.com/mainprogram/evviewspeaker2.aspx?AxW8RHsgvrwE/0kSZZWui8E5/YEZ43IYXzseIc5tQ9gxwOTnhcVKF7ZzZtZdk0lfRd/+avDqpSjkJNRwF1a3uuVobw0Z2eSPSGs5rD2jWotuJX9015d9Htz4Qx5jOai1MCN2aNa3CliL0L2vfkDm0Q=="&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Eliene&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Balosian&lt;/span&gt;&lt;/a&gt;(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Cybernet&lt;/span&gt;) que dictaron&lt;a href="http://bit.ly/brSxu9"&gt; esta muy buena charla &lt;/a&gt;sobre su experiencia con la adopción y el uso de &lt;a href="http://gxtest.abstracta.com.uy/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;GXtest&lt;/span&gt;&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Úrsula&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Bartam&lt;/span&gt; y Alejandro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Blengio&lt;/span&gt; por su continuo apoyo a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;GXtest&lt;/span&gt; y la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;organización&lt;/span&gt; del laboratorio.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;A &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Gisela&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Bertelli&lt;/span&gt; y &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Gerardo&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Pizarro&lt;/span&gt; por ayudarnos en toda el área comercial.&lt;/div&gt;&lt;div&gt;A José &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Lámas&lt;/span&gt; por ser un gran profesional que invierte tiempo y pienso en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;GXtest&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;A &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;Artech&lt;/span&gt; por confiar en nosotros.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Les dejo una entrevista de pasillo que nos realizaron a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Federico&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;Matías&lt;/span&gt; y a mi.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/FvIQVTAtdEo?fs=1&amp;amp;hl=es_ES"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/FvIQVTAtdEo?fs=1&amp;amp;hl=es_ES" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;script src="http://b.scorecardresearch.com/beacon.js?c1=7&amp;amp;c2=7400849&amp;amp;c3=1&amp;amp;c4=&amp;amp;c5=&amp;amp;c6="&gt;&lt;/script&gt;&lt;script src="http://b.scorecardresearch.com/beacon.js?c1=7&amp;amp;c2=7400849&amp;amp;c3=1&amp;amp;c4=&amp;amp;c5=&amp;amp;c6="&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-2790338798689801918?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/2790338798689801918/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=2790338798689801918' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2790338798689801918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2790338798689801918'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/09/xxgx-agradecimientos.html' title='#XXGX - Agradecimientos'/><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://2.bp.blogspot.com/_xDsTqyrVo3E/TJOwBN2outI/AAAAAAAAAn4/rkSp3rTuxDM/s72-c/4989614731_703eaa6c84_z.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-2156392169105281072</id><published>2010-09-08T15:15:00.000-07:00</published><updated>2010-09-09T14:55:44.481-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'/><title type='text'>XX Evento Internacional GeneXus - Testing Track</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xDsTqyrVo3E/TIlXwqv2hLI/AAAAAAAAAno/uLSQFbdXyiY/s1600/testing.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 274px;" src="http://4.bp.blogspot.com/_xDsTqyrVo3E/TIlXwqv2hLI/AAAAAAAAAno/uLSQFbdXyiY/s400/testing.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5515035712312214706" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Como cada año, Artech organiza el &lt;b&gt;Evento Internacional GeneXus.&lt;/b&gt; Este gran evento reúne a miles de personas de todos lados en Montevideo.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nosotros desde &lt;a href="http://www.abstracta.com.uy/"&gt;Abstracta&lt;/a&gt; estaremos participando en algunas instancias.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Lunes 15 hs - Elevator Speech de GXtest&lt;/b&gt;: dentro del grupo de charlas de &lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1247,O,E,0,,2109:P:0"&gt;Elevetor Speech: Productos GeneXus&lt;/a&gt;, &lt;a href="http://twitter.com/fbaptista"&gt;Fabián&lt;/a&gt; estará contándoles en 5 minutos de qué se trata GXtest y en qué los puede ayudar. Ideal para una primera aproximación al producto y al testing automatizado.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Martes 14:30 hs - Laboratorio de GXtest&lt;/b&gt;: para todos aquellos que quieran probar GXtest para entender mejor de qué se trata y cómo funciona, lo invitamos al &lt;a href="http://www3.gxtechnical.com/mainprogram/hevredir.aspx?4md8++LEu44QG69dvLoI+2Fc0cCQDVsW7trj7ZK+PRBq6SKBM9YU5kzJzrmQJUOM+CcfHHzpsgrBfE24apooaK65ZGC4MrEVM4XOUzGbDIa5oE98+aZe8FLj0HmplS9C91MO9AVdLOH5aYed1Sf2yg=="&gt;laboratorio de GXtest&lt;/a&gt;. En una hora van a poder automatizar varios casos de prueba!&lt;/li&gt;&lt;li&gt;&lt;b&gt;Miércoles 11:45 - Testing: el camino para que confíen en nuestro software&lt;/b&gt;: &lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1247,O,S,0,,2141"&gt;junto a Federico&lt;/a&gt; se verán algunas formas de resolver los principales desafíos que se encuentran en el camino de hacer testing como para obtener el mayor beneficio.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Miércoles 12:15 - Probando aplicaciones GeneXus con la ayuda de GXtest&lt;/b&gt;: Enrique, Gabriela y Eliene estarán compartiendo su&lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1247,O,S,0,,2142"&gt; experiencias al utilizar GXtest&lt;/a&gt; para probar sus aplicaciones. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por otro lado hay varias charlas de testing a las cuales nos gustaría invitarlos. En &lt;a href="http://www3.gxtechnical.com/main22/evmaptag002.aspx?S;16;73;1271;1;1;O;,41,++++55:Testing:N"&gt;este&lt;/a&gt; link las pueden encontrar todas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El &lt;a href="http://www.ces.com.uy/"&gt;Centro de Ensayos de Software&lt;/a&gt; de la mano de &lt;a href="http://www.fing.edu.uy/~mwodzis/"&gt;Mónica Wodzislawski&lt;/a&gt;, &lt;a href="http://uy.linkedin.com/in/gustavoguimerans"&gt;Gustavo Guimerans&lt;/a&gt;, &lt;a href="http://uy.linkedin.com/pub/christian-pla/a/408/a22"&gt;Christian Pla&lt;/a&gt;,  &lt;a href="http://uy.linkedin.com/in/mcamarotta"&gt;Michel Camarotta&lt;/a&gt;,  va a estar presentando las siguientes charlas más que interesantes: &lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1247,O,S,0,,2173:P:0"&gt;Probar para corregir, probar para decidir&lt;/a&gt;,  &lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1247,O,S,0,,2050:P:0"&gt;Pruebas de performance en aplicaciones Win-GeneXus&lt;/a&gt; y &lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1247,O,S,0,,2189:P:0"&gt; Testeabilidad: ¿la otra cara del testing?&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por otro lado desde GeneXus Consulting, &lt;a href="http://uy.linkedin.com/pub/natalia-dimu/0/a85/48b"&gt;Natalia Dimu&lt;/a&gt; y Mauro Alvez cuentan qué más podemos hacer que nos permita potenciar la efectividad de las pruebas en la charla &lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,73,1247,O,S,0,,2056:P:0"&gt;GXC Development Framework: testing , keep walking&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;Año a año van creciendo las ponencias respecto a los temas de calidad y testing y creemos que este es otro motivo para seguir el slogan de: &lt;b&gt;Let's celebrate!&lt;/b&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-2156392169105281072?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/2156392169105281072/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=2156392169105281072' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2156392169105281072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2156392169105281072'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/09/xx-evento-internacional-genexus-testing.html' title='XX Evento Internacional GeneXus - Testing Track'/><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://4.bp.blogspot.com/_xDsTqyrVo3E/TIlXwqv2hLI/AAAAAAAAAno/uLSQFbdXyiY/s72-c/testing.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-4943820027630583801</id><published>2010-08-25T19:25:00.000-07:00</published><updated>2010-08-26T14:39:53.296-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>Resultados de: ¿Qué es el testing? y ¿para qué me sirve?</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para concluir el juego propuesto en el &lt;a href="http://blog.abstracta.com.uy/2010/08/juego-juego-que-beneficios-tiene-le.html"&gt;post anterior&lt;/a&gt;, les queremos dejar antes que nada un agradecimiento a los que se coparon con la idea y colaboraron, y un &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Encuesta_sobre_beneficios_del_testing"&gt;link&lt;/a&gt; al resumen de todas ellas. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_C6WXtbAB2qc/THbevJxNoAI/AAAAAAAAJdY/q7xemP7ciYc/s320/encuestatesting.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 174px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5509836095791931394" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como podrán ver, algunos más y otros menos, pero cada cual tiene su visión de los beneficios que nos brinda el testing. Nos interesa en particular compartirles otra definición dada por Cem Kaner (un gurú en el tema)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#660000;"&gt;It is an empirical technical investigation conducted to provide stakeholders with information about the quality of the product or service under test.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Y de ahí en particular destacar que es un proceso empírico, se basa en la experimentación, en donde se le da información sobre la calidad de un producto o servicio a alguien que está interesado en el mismo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;En base a los beneficios que uno persigue es que se establecen los objetivos, y tal como se ve en las respuestas los beneficios pueden ser muy distintos de organización en organización.&lt;/div&gt;&lt;div&gt;Si el objetivo del testing es encontrar la mayor cantidad de errores posibles, entonces seguramente el testing se enfoque en las áreas más complejas del software o las que han tenido más defectos. Si el objetivo es dar seguridad a los usuarios, entonces seguramente se enfoque el testing en los escenarios más usados por los clientes. Ojo!, este objetivo no tiene porque ser el mismo a lo largo del tiempo, pero sí es importante que se tenga claro en cada momento cuál es.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ahora bien, hemos hablado de los objetivos del testing en general, pero qué objetivos tiene en particular el testing automatizado? &lt;/div&gt;&lt;div&gt;Si bien podemos pensar en que los objetivos del testing automatizado son triviales pueden también diferir mucho de una organización a otra.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En el libro &lt;i&gt;Software test automation: effective use of test execution tools&lt;/i&gt;" de &lt;i&gt;Mark Fewster &amp;amp; Dorothy Graham" &lt;/i&gt; que mencionamos en un &lt;a href="http://blog.abstracta.com.uy/2010/08/automating-chaos-just-gives-faster.html"&gt;post anterior&lt;/a&gt; se mencionan algunos objetivos interesantes como para comentar:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Testing consistente y repetible&lt;/li&gt;&lt;li&gt;Correr casos de prueba desatendidos&lt;/li&gt;&lt;li&gt;Encontrar errores de regresión&lt;/li&gt;&lt;li&gt;Correr casos de prueba más seguidos&lt;/li&gt;&lt;li&gt;Mejorar la calidad del software&lt;/li&gt;&lt;li&gt;Testear más profundo&lt;/li&gt;&lt;li&gt;Mejorar la confianza en la calidad del software&lt;/li&gt;&lt;li&gt;Testear más software&lt;/li&gt;&lt;li&gt;Incrementar la confianza de los usuarios&lt;/li&gt;&lt;li&gt;Medir performance&lt;/li&gt;&lt;li&gt;Reducir el costo del testing&lt;/li&gt;&lt;li&gt;Encontrar más errores&lt;/li&gt;&lt;li&gt;Testear en diferentes sistemas operativos&lt;/li&gt;&lt;li&gt;Disminuir el tiempo de salida al mercado/correr las pruebas más rápido&lt;/li&gt;&lt;li&gt;Mejorar la moral en los testers&lt;/li&gt;&lt;li&gt;Testear en diferentes bases de datos&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Creemos que si bien hay varias parecidas, es preciso antes de comenzar con cualquier proyecto de automatización preguntarse cuál de estos objetivos queremos lograr y cómo medir si nos acercamos a los objetivos o no.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Muchas gracias nuevamente a todos!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-4943820027630583801?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/4943820027630583801/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=4943820027630583801' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4943820027630583801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4943820027630583801'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/08/resultados-de-que-es-el-testing-y-para.html' title='Resultados de: ¿Qué es el testing? y ¿para qué me sirve?'/><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/_C6WXtbAB2qc/THbevJxNoAI/AAAAAAAAJdY/q7xemP7ciYc/s72-c/encuestatesting.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6708728809391815179</id><published>2010-08-11T04:08:00.000-07:00</published><updated>2010-08-12T10:55:47.850-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>Juego Juego: Qué beneficios tiene el testing?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xDsTqyrVo3E/TGLyJLVKR_I/AAAAAAAAAnQ/nIRgTO4rfXo/s1600/trivia.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://3.bp.blogspot.com/_xDsTqyrVo3E/TGLyJLVKR_I/AAAAAAAAAnQ/nIRgTO4rfXo/s400/trivia.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5504227934074456050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Hace un tiempo Fede tuvo una iniciativa muy interesante: preguntar a cada uno en la empresa:&lt;div&gt;   &lt;i&gt;¿Qué es GXtest?&lt;/i&gt; y ¿&lt;i&gt;Qué beneficios tiene?&lt;/i&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Con los resultados de esta encuesta, pudo ver si todos teníamos la misma idea sobre tan importantes respuestas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nos gustaría invitarlos a jugar a ustedes y que se pregunten:&lt;/div&gt;&lt;div&gt;&lt;i&gt;  ¿Qué es testing? ¿Qué beneficios tiene? &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si cada uno&lt;i&gt; se anima&lt;/i&gt; a preparar un mail para la interna de su empresa, haciendo estas dos preguntas, luego pueden enviarnos (de manera anónima) las respuestas, nosotros las analizaremos y publicaremos un resumen del análisis de las empresas de la comunidad en otro post. Si además quieren agregar qué rol en la organización tiene cada uno de los que contesta las respuestas, entonces vamos a tener aún más información interesante.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Creemos que puede ser muy bueno ver estos aspectos en la comunidad.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El resumen con las respuestas obtenidas, las deben enviar a:&lt;/div&gt;&lt;img src="http://www.hidetext.net/hide/5klliB9AwJ.gif" style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px; height: 24px;" border="0" alt="" /&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-6708728809391815179?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/6708728809391815179/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6708728809391815179' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6708728809391815179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6708728809391815179'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/08/juego-juego-que-beneficios-tiene-le.html' title='Juego Juego: Qué beneficios tiene el testing?'/><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://3.bp.blogspot.com/_xDsTqyrVo3E/TGLyJLVKR_I/AAAAAAAAAnQ/nIRgTO4rfXo/s72-c/trivia.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3281527444618793991</id><published>2010-08-06T05:57:00.001-07:00</published><updated>2010-08-10T07:36:33.769-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='Metodología'/><title type='text'>"Automating chaos just gives faster chaos"</title><content type='html'>&lt;div style="text-align: left;"&gt;El que crea que una herramienta soluciona todos los problemas .... tiene un nuevo problema.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En general (y creo que más aún en el mundo de las TICs) buscamos una herramienta que solucione &lt;b&gt;todos&lt;/b&gt; nuestros problemas. El tema es que no es suficiente con tener una buena herramienta para realizar un buen trabajo. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Automating chaos just gives faster chaos"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_C6WXtbAB2qc/TGFjsqDdFtI/AAAAAAAAJc0/rRQzgYIyAUA/s320/question.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5503789838477629138" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Es una de las frases citadas en el libro "&lt;i&gt;Software test automation: effective use of test execution tools&lt;/i&gt;" de &lt;i&gt;Mark Fewster &amp;amp; Dorothy Graham&lt;/i&gt;, que si bien el libro tiene ya varios años, es muy recomendable para todo aquel que vaya a comenzar con automatización de testing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En &lt;a href="http://searchsoftwarequality.techtarget.com/generic/0,295582,sid92_gci1345733_mem1,00.html"&gt;este artículo&lt;/a&gt;, en el que se le consulta a distintos expertos en el área, uno de los planteos que se hacen es que es conveniente atacar el problema en pequeñas partes, armar una pequeña suite de pruebas automatizadas que nos den beneficios lo antes posible, a esperar a armar un gran barco de batalla que ataque todos los problemas de una. El problema de ese segundo enfoque es que seguramente el gran barco esté pronto para cuando la guerra esté a punto de terminar, o sea, un mes antes de la fecha de salida en producción.&lt;/div&gt;&lt;div&gt;Esto es también lo que plantea GeneXus en el desarrollo, o sea un enfoque iterativo e incremental en el cual se vayan obteniendo resultados desde fases tempranas. &lt;/div&gt;&lt;div&gt;Así como GeneXus lo hace posible en desarrollo GXtest lo hace posible en testing ya que permite hacer evolucionar el conocimiento en testing a media que avanza el entendimiento de la realidad y la construcción de la aplicación.&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-3281527444618793991?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/3281527444618793991/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3281527444618793991' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3281527444618793991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3281527444618793991'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/08/automating-chaos-just-gives-faster.html' title='&quot;Automating chaos just gives faster chaos&quot;'/><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/_C6WXtbAB2qc/TGFjsqDdFtI/AAAAAAAAJc0/rRQzgYIyAUA/s72-c/question.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-2958452294467105156</id><published>2010-08-05T07:53:00.000-07:00</published><updated>2010-08-05T08:02:46.076-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>Curso Técnicas de Testing Combinatorio y de Mutación</title><content type='html'>En Facultad de Ingeniería se repetirá la semana próxima el curso de Técnicas de Testing Combinatorio y Mutación, a cargo del profesor Macario Polo de la Universidad de Castilla - La Mancha, España. Podrán &lt;a href="http://www.fing.edu.uy/inco/cpap/2010/cursoTecnicasdeTestingCombinatorio.pdf"&gt;ver más información aquí&lt;/a&gt;. Se repetirá los días lunes 9, miércoles 11 y jueves 12 de agosto, en el horario de 19 a 23 hs.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En particular ya tuve la oportunidad de hacerlo dentro del &lt;a href="http://www.ces.com.uy/"&gt;CES&lt;/a&gt;, y me resultó más que interesante, principalmente pensando en cómo un desarrollador puede utilizar herramientas y técnicas para generar datos de prueba, en forma eficiente en búsqueda de mejorar la calidad de lo que desarrolla.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Las herramientas utilizadas y los ejemplos que se muestran son en Java, pero pueden aplicarse para cualquier otro ambiente de desarrollo. Incluso, hay herramientas que se presentan que se pueden utilizar para testing funcional, incluso manual, por lo que es aprovechable para distintos roles dentro de una organización.&lt;/div&gt;&lt;div&gt;&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;/div&gt;&lt;div&gt;Les recomiendo a quien pueda hacerlo que lo haga.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-2958452294467105156?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/2958452294467105156/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=2958452294467105156' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2958452294467105156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2958452294467105156'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/08/curso-tecnicas-de-testing-combinatorio.html' title='Curso Técnicas de Testing Combinatorio y de Mutació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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-5043164441419590574</id><published>2010-07-28T13:42:00.001-07:00</published><updated>2010-07-29T15:46:18.278-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'>Data-Driven Testing con Datapools</title><content type='html'>&lt;div&gt;Nos pareció interesante &lt;a href="http://www.michaeldkelly.com/pdfs/Implementing_Data-Driven_Testing_Using_Datapools.PDF"&gt;este artículo&lt;/a&gt;, en donde habla de cómo hacer pruebas dirigidas por datos utilizando datapools, basado en la herramienta de testing automatizado de IBM-Rational, escrito por uno de los gurúes del testing &lt;a href="http://www.michaeldkelly.com/"&gt;Michael Kelly&lt;/a&gt;.&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;La definición dada de&lt;i&gt; D&lt;/i&gt;&lt;/span&gt;&lt;i&gt;ata-driven Testing&lt;/i&gt; es muy simple: para scripts de testing automatizado, data-driven testing implica probar la aplicación utilizando datos tomados de una fuente de datos, como una tabla, archivo, base de datos, etc en vez de tener los mismos fijos en el script. En otras palabras, parametrizar el test case, permitir que se pueda ejecutar con distintos datos. El objetivo principal es poder agregar más casos de prueba simplemente agregando más datos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_C6WXtbAB2qc/TFHsz3NUUSI/AAAAAAAAJcs/6DPViK95mU0/s1600/saying_data.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 271px;" src="http://3.bp.blogspot.com/_C6WXtbAB2qc/TFHsz3NUUSI/AAAAAAAAJcs/6DPViK95mU0/s320/saying_data.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5499436995733377314" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para el caso de GXtest, una fuente de datos puede ser &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.abstracta.com.uy/2009/07/datapools.html"&gt;datapools&lt;/a&gt;: formato tabular (filas y columnas)&lt;/li&gt;&lt;li&gt;de la base de datos accedidos con procedimientos GeneXus&lt;/li&gt;&lt;li&gt;datos tomados de pantalla&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;E&lt;/span&gt;l más común, o el que se visualiza bien fácil, es el primero, tomando los datos de datapools.&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;span class="Apple-tab-span" style="white-space:pre"&gt;C&lt;/span&gt;uándo se obtienen los mayores beneficios aplicando esta técnica?&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Aplicaciones que tienen muchos flujos de datos. Se podría especificar en el datapool las &lt;b&gt;condiciones&lt;/b&gt; que se quieren probar en la prueba, y tener un script que contemple muchos casos, pasando por distintos flujos según los datos especificados en el datapool.&lt;/li&gt;&lt;li&gt;Aplicaciones que tengan distintas respuestas según las entradas ingresadas (cualquier sistema de información), pues en el datapool será interesante guardar tanto los&lt;b&gt; datos de entrada&lt;/b&gt; como los &lt;b&gt;datos esperados&lt;/b&gt; para los mismos, y así se pueden validar los datos esperados.&lt;/li&gt;&lt;li&gt;Grandes aplicaciones desarrolladas en varias iteraciones. En el proceso de desarrollo, a medida varíe la lógica, los estilos y look and feel de la aplicación, seguramente los datos a ingresar no varíen tanto, y sea de gran utilidad verificar que la funcionalidad sigue comportándose como se esperaba.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Generalmente se tienen datos de pruebas documentados en planillas de cálculo, y es por eso que GXtest brinda la facilidad de cargar un datapool desde un archivo CSV (este es un formato en el que se puede guardar los datos de prueba directamente desde la planilla de clálculo).&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como para cerrar, se pueden utilizar datapools para orientar las pruebas, y esto puede ser tan simple o complejo como se quiera o requiera. La estrategia en sí tiene mucho potencial.&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-5043164441419590574?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/5043164441419590574/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=5043164441419590574' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5043164441419590574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5043164441419590574'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/07/data-driven-testing-con-datapools.html' title='Data-Driven Testing con Datapools'/><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/_C6WXtbAB2qc/TFHsz3NUUSI/AAAAAAAAJcs/6DPViK95mU0/s72-c/saying_data.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-1265500203485346163</id><published>2010-07-23T07:09:00.000-07:00</published><updated>2010-07-23T08:25:02.885-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'>Relación Scripts-Casos de Prueba</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;En &lt;a href="http://www.linkedin.com/groupItem?view=&amp;amp;gid=81458&amp;amp;type=member&amp;amp;item=24050965&amp;amp;qid=fa90ca88-b6b6-4e1e-853a-b2cd6d142379&amp;amp;goback=.gde_81458_member_24464963.gmp_81458" target="_blank" style="color: rgb(0, 0, 204); "&gt;una discusión de un grupo de Linked-in&lt;/a&gt; (relacionado con testing y calidad) se debatió sobre un tema interesante que involucra ciertas ideas de diseños de casos de pruebas que siempre están sobre la mesa a la hora de automatizar.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;¿Cómo deberían hacerse los scripts (test cases en GXtest)? ¿uno por caso de prueba, o puedo hacer un script que pruebe distintos casos de prueba?&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&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;div&gt;&lt;span class="Apple-style-span"   style="  border-collapse: collapse; font-family:arial, sans-serif;font-size:13px;"&gt;&lt;img src="http://willscullypower.files.wordpress.com/2009/07/marketing-automation.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px; height: 375px;" border="0" alt="" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como todo en la ingeniería de software, esto depende del caso de prueba. Algunos plantean pensar en cuántas bifurcaciones lógicas se dan en el caso de prueba. Lo más adecuado (nos parece, pensando en GXtest) es tomar el enfoque modular que plantean  en la discusión. O sea, tener distintos módulos (scripts) que hagan distintas partes de la prueba, y luego un script que orqueste todas estas partes. De esa forma podemos reutilizar las pequeñas partes y hacer distintas pruebas que las compongan de distintas formas. &lt;/div&gt;&lt;div&gt;En ese caso la relación sería &lt;i&gt;un caso de prueba hecho con varios scripts&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Ventajas&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;mantenimiento: más fácil de mantener, se pueden reutilizar los módulos, se puede cambiar el flujo en distintos niveles, el script del Test Case queda más legible, pues se puede ver todo el flujo que recorre a "gran escala", y luego profundizar en las partes que interese. Con GXtest es muy sencillo navegar entre los distintos scripts.&lt;/li&gt;&lt;li&gt;cambiar el flujo del caso de prueba: se puede manejar más fácil el flujo del caso de prueba, y hacer por ejemplo que cierto módulo se repita una cantidad dada (fija o variable) de veces (el típico ejemplo de una factura, si modularizamos la parte donde ingresamos una línea de la factura, con cierto producto y cantidad, podemos hacer que esa parte se ejecute distinta cantidad de veces, con el fin de probar la factura con distintas cantidades de líneas)&lt;/li&gt;&lt;li&gt;análisis de resultados: es más sencillo analizar los reportes de resultados&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si se tiene documentación de casos de prueba (si se solían ejecutar manualmente por ejemplo) una buena práctica podría ser llevar una matriz que relacione los casos de prueba con los distintos scripts involucrados. Esto permite conocer también qué verificar cuando cambien requerimientos que tengan impactos sobre ciertas pruebas, y así consecuentemente sobre algunos scripts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Que enfoque utilizan en sus empresas?&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-1265500203485346163?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/1265500203485346163/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=1265500203485346163' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1265500203485346163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1265500203485346163'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/07/relacion-scripts-casos-de-prueba.html' title='Relación Scripts-Casos de Prueba'/><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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-4258289166443307548</id><published>2010-06-01T12:02:00.000-07:00</published><updated>2010-06-07T08:11:25.576-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>Período de beta extendido</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Aunque habíamos terminado de dejar estables las nuevas funcionalidades de la versión beta de GXtest, hemos decidido extender el período de beta testing con el fin de incluir algunas mejoras especialmente en la funcionalidad de impactar cambios de la KB a los Test Cases.&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_C6WXtbAB2qc/TA0L5FDkZdI/AAAAAAAAJbs/DbQoXuXHoHk/s320/beta.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5480049396817356242" /&gt;&lt;/div&gt;&lt;div&gt;Esto es útil para cuando tenemos automatizadas algunas pruebas sobre algo que cambió, y eso implica que sea necesario hacer algún mantenimiento a los test cases.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Los cambios pueden ser&lt;/div&gt;&lt;div&gt;- se agregaron o eliminaron objetos&lt;/div&gt;&lt;div&gt;- se cambiaron tipos de atributos&lt;/div&gt;&lt;div&gt;- se cambiaron nombres o propiedades&lt;/div&gt;&lt;div&gt;- etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;O sea, cualquier cambio introducido por el simple hecho de seguir desarrollando.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entonces, ante cada cambio que tenga impacto sobre alguna prueba (imaginemos que una prueba incluía hacer un clic sobre un elemento que fue eliminado) se generará un conflicto el cual debe ser resuelto.&lt;/div&gt;&lt;div&gt;Muchos conflictos GXtest los puede resolver automáticamente, dado que GXtest conoce sobre GeneXus (es la diferencia principal con el resto de las herramientas de automatización, es la ventaja que tiene por ser específica para GeneXus), y algunos requerirán cierta asistencia del usuario, más que nada porque los cambios pueden deberse a cambios en requerimientos, y si antes se debía hacer clic en un botón, y ese botón se eliminó, el usuario (tester) debería indicar con qué acción se reemplazará esto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mientras más facilitemos esta funcionalidad, más ágil será la interacción entre el equipo de testing y el de desarrollo, permitiendo así generar ciclos más cortos de liberaciones de versiones, pudiendo conocer el estado de la calidad de nuestros sistemas en forma más temprana, reduciendo así los costos de corrección de defectos por ejemplo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Los invitamos a probar esta nueva funcionalidad en el próximo build y escuchamos todas sus sugerencias para mejorarla aún más.&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-4258289166443307548?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/4258289166443307548/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=4258289166443307548' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4258289166443307548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4258289166443307548'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/06/periodo-de-beta-extendido.html' title='Período de beta extendido'/><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/_C6WXtbAB2qc/TA0L5FDkZdI/AAAAAAAAJbs/DbQoXuXHoHk/s72-c/beta.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-4660367335541218500</id><published>2010-04-26T13:47:00.000-07:00</published><updated>2010-04-26T14:24:46.028-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>Trabajar con Balloons en GXtest</title><content type='html'>&lt;div&gt;Una de las cosas que se mejoraron en el período de betatest de GXtest 1.1 fue el soporte para realizar validaciones sobre Balloons.&lt;div&gt;Los Balloons son los elementos que nos permiten, en Genexus, mostrar mensajes de error o de advertencia contextualizados.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://gxtest.abstracta.com.uy/wiki/images/f/fa/Balloon.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 274px; height: 154px;" src="http://gxtest.abstracta.com.uy/wiki/images/f/fa/Balloon.jpg" border="0" alt="" /&gt;&lt;/a&gt;En la imagen se puede ver el error No matcvhing 'Country' sobre el elemento CountyId.&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,7,3,O,S,0,PAG;CONC;348;29;D;29522;1;PAG"&gt;Hoy con la liberación de la RC&lt;/a&gt; se puede realizar las siguientes acciones con balloons:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;Las validaciones pueden expresar lo siguiente:&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;que aparezca un balloon cualquiera&lt;/li&gt;&lt;li&gt;que no aparezca un balloon cualquiera&lt;/li&gt;&lt;li&gt;que aparezca un texto en un balloon de tipo advertencia&lt;/li&gt;&lt;li&gt;que aparezca un texto en un balloon de tipo error&lt;/li&gt;&lt;li&gt;que no aparezca un texto en un balloon de tipo adevertencia&lt;/li&gt;&lt;li&gt;que no aparezca un texto en un balloon de tipo error&lt;/li&gt;&lt;/ul&gt;Hoy en día los parámetros son:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;AppearBalloon&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;parar o no ante error&lt;/li&gt;&lt;li&gt;Negación&lt;/li&gt;&lt;li&gt;Control&lt;/li&gt;&lt;li&gt;mensaje de error&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;VerifyControlValdiation&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;parar o no ante error&lt;/li&gt;&lt;li&gt;Negación&lt;/li&gt;&lt;li&gt;Control&lt;/li&gt;&lt;li&gt;mensaje&lt;/li&gt;&lt;li&gt;tipo de balloon&lt;/li&gt;&lt;li&gt;mensaje de error&lt;/li&gt;&lt;/ul&gt;&lt;span&gt;&lt;span&gt;Los primeros dos parámetros y el último están en todas las validaciones.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  border-collapse: collapse; font-family:arial, sans-serif;font-size:13px;"&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Esto es algo muy común a utilizar al probar aplicaciones Genexus, y gracias a sugerencias y necesidades de Alejandro y Úrsula lo incluimos en esta versión.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Por más información ver&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Trabajar_con_Balloons"&gt;http://gxtest.abstracta.com.uy/wiki/index.php?title=Trabajar_con_Balloons&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Manual_de_Usuario_de_GXtest_Designer#Lista_de_Comandos"&gt;http://gxtest.abstracta.com.uy/wiki/index.php?title=Manual_de_Usuario_de_GXtest_Designer#Lista_de_Comandos&lt;/a&gt;&lt;/li&gt;&lt;/ul&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-4660367335541218500?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/4660367335541218500/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=4660367335541218500' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4660367335541218500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4660367335541218500'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/04/trabajar-con-balloons-en-gxtest.html' title='Trabajar con Balloons en GXtest'/><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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-5749883575588655615</id><published>2010-04-05T12:33:00.000-07:00</published><updated>2010-04-06T06:09:47.947-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>Reproducir un defecto detectado</title><content type='html'>&lt;span class="Apple-style-span"   style="  border-collapse: collapse; font-family:arial, sans-serif;font-size:13px;"&gt;&lt;div&gt;Nos han solicitado varias veces funcionalidades para simplificar la "reproducibilidad" de un bug encontrado (detectado) o para poder ver fácilmente a qué parte del modelo del caso de prueba se corresponde el resultado que se está observando. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por eso en el build número 1273 recientemente liberado podremos encontrar que se agregó una funcionalidad simple, pero de gran utilidad para esto. Cuando se está observando el resultado de una prueba, se puede hacer un doble-clic sobre el elemento y de esa forma ir directamente al modelo de prueba que corresponde, posicionándose directamente sobre el nodo y comando que detectó el error (o que dio resultado de error) o no... Esto simplificará mucho la tarea de "debug" del caso de prueba.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hay más ideas rondando, y otras cosas que se han hecho para esto (como guardar las HTML de las respuestas, las imágenes en JPG, los datos usados de prueba), pero sería interesante saber cómo les quedaría más cómodo poder asociar un resultado con el fallo, o con la prueba en sí, ... cualquier comentario es bienvenido y será tenido en cuenta :)&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-5749883575588655615?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/5749883575588655615/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=5749883575588655615' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5749883575588655615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5749883575588655615'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/04/reproducir-un-error-detectado.html' title='Reproducir un defecto detectado'/><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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-2106274827399844245</id><published>2010-03-24T02:00:00.000-07:00</published><updated>2010-03-24T15:54:15.081-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>"Aclarando" la Caja Negra...</title><content type='html'>&lt;div&gt;&lt;br /&gt;Uno de los enfoques más utilizados para hacer testing es el de &lt;a href="http://es.wikipedia.org/wiki/Caja_negra_(sistemas)"&gt;Caja Negra&lt;/a&gt;, en donde el tester no "ve" el código de la aplicación sino que se basa en las entradas y condiciones que afectan el comportamiento del sistema bajo prueba y en sus salidas.&lt;div&gt;El tema de Caja Negra viene por contraposición a Caja Blanca (que debería ser caja transparente) en donde uno se basa en como está hecha la aplicación para generar casos de prueba.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hoy quisiera hacerles una propuesta para "aclarar" la Caja Negra.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cuando se está testeando una aplicación GeneXus, hay mucha información que está en la misma (precisamente en la KB) que es fácilmente entendible por el tester aunque el mismo no sepa GeneXus. Entonces, ¿por qué no mostrarle fácilmente al tester esta información para que pueda "apuntar" mejor sus pruebas o para que pueda hacer una especie de revisión de programa a medida que va probando?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Qué información puede ser útil?:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Definición de los atributos y variables: el tipo de cada atributo y variable&lt;/li&gt;&lt;li&gt;Reglas: todas las reglas son de utilidad y en especial aquellas de errores y advertencias&lt;/li&gt;&lt;li&gt;Condiciones dentro de los eventos: poder saber cuales son aquellos factores que hacen que se siga un flujo u otro puede ser muy útil para hacer casos de prueba. Por ejemplo, para simplificar esto se puede hacer un diagrama que ilustre esta información.&lt;/li&gt;&lt;li&gt;Documentación&lt;/li&gt;&lt;li&gt;etc, etc&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;¿Cómo implementar esto?&lt;/div&gt;&lt;div&gt;Lo que hicimos en &lt;a href="http://www.abstracta.com.uy/"&gt;Abstracta&lt;/a&gt; es un panel vertical a la izquierda de la pantalla en el navegador, que a medida que se va navegando a cada página va mostrando dicha información. Les muestro unas imagenes de lo que tenemos hasta ahora:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7NSbjETmgUA/S6izTbukeVI/AAAAAAAAD4M/UV8L_pmB0qg/s1600-h/on+line+kb+viewer+-2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 215px;" src="http://4.bp.blogspot.com/_7NSbjETmgUA/S6izTbukeVI/AAAAAAAAD4M/UV8L_pmB0qg/s320/on+line+kb+viewer+-2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5451804495373957458" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7NSbjETmgUA/S6izMFYjr0I/AAAAAAAAD4E/dim4rQGKqxQ/s1600-h/on+line+kb+viewer+-1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 215px;" src="http://2.bp.blogspot.com/_7NSbjETmgUA/S6izMFYjr0I/AAAAAAAAD4E/dim4rQGKqxQ/s320/on+line+kb+viewer+-1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5451804369116966722" /&gt;&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;Un problema que podría traer esta estrategia es sesgar al tester a que piense igual que el desarrollador o con la misma "lógica".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Que les parece la idea? ¿Piensan que les ayudaría a hacer mejor testing? &lt;/div&gt;&lt;div&gt;Los que la crean interesante los invitamos a aportar en la misma y mejorarla, ya que hemos presentado un Collaborative Project del cual pueden encontrar más info &lt;a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?On-Line+KBViewer+for+Testers,"&gt;acá&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&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-2106274827399844245?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/2106274827399844245/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=2106274827399844245' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2106274827399844245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2106274827399844245'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/03/aclarando-la-caja-negra.html' title='&quot;Aclarando&quot; la Caja Negra...'/><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://4.bp.blogspot.com/_7NSbjETmgUA/S6izTbukeVI/AAAAAAAAD4M/UV8L_pmB0qg/s72-c/on+line+kb+viewer+-2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-1065594259044351034</id><published>2010-03-18T05:50:00.000-07:00</published><updated>2010-03-18T07:07:18.422-07:00</updated><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'>Proyectos de fin de carrera sobre testing en la Fing-UdelaR</title><content type='html'>Hay algunos temas relacionados al testing que nos resulta muy interesantes de investigar. Generalmente estos muy volcados hacia la comunidad GeneXus.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Junto con el &lt;a href="http://www.blogger.com/www.ces.com.uy"&gt;Centro de Ensayos de Software&lt;/a&gt; hemos decidido presentar como proyecto de grado (proyecto de fin de la carrera)  algunas de estas ideas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Queremos entonces invitar a dos cosas, por un lado a todos los estudiantes que estén buscando proyecto de grado en esta área a que nos contacten para desarrollar estos proyectos, y por otro, a todos los interesados en estos temas para que aporten sus ideas, feedback, etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Los proyectos son los siguientes:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.fing.edu.uy/inco/cursos/proygrado/bosquejos2010.html#0056"&gt;Generación automática de casos de prueba para aplicaciones GeneXus&lt;/a&gt;: en pocas palabras la idea es analizar como generar casos de prueba de manera automática combinando técnicas de testing con la información que tenemos en la propia aplicación GeneXus u otra información que se pueda agregar.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.fing.edu.uy/inco/cursos/proygrado/bosquejos2010.html#0057http://www.fing.edu.uy/inco/cursos/proygrado/bosquejos2010.html#0057"&gt;GXUnit&lt;/a&gt;: la comunidad GeneXus requiere una herramienta que le permita hacer testing unitario a los desarrolladores. Hay varios esfuerzos hechos por la comunidad GeneXus y la academia en la construcción de esta herramienta. Enrique en su &lt;a href="http://ealmeida.blogspot.com/search/label/GxUnit"&gt;blog&lt;/a&gt; nos ilustra bastante sobre este proceso. La idea del proyecto de grado es hacer un estudio del estado del arte sobre las herramientas de testing unitario y luego conciliando los distintos enfoques con el desarrollo en Genexus proponer y desarrollar GXUnit.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;En los links podrán ver más información en detalle.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;También el CES presenta este otro proyecto que está muy intereante:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.fing.edu.uy/inco/cursos/proygrado/bosquejos2010.html#0060"&gt;Búsqueda y/o generación automática de datos requeridos para ejecutar los casos de prueba diseñados para el testing de sistemas de información&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A los estudiantes que quieran embarcarse en estos proyectos les ofrecemos todo el apoyo de Abstracta y el CES en estos temas así como también de Artech y de destacados miembros de la comunidad GeneXus.&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 class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-1065594259044351034?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/1065594259044351034/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=1065594259044351034' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1065594259044351034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1065594259044351034'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/03/proyectos-de-fin-de-carrera-sobre.html' title='Proyectos de fin de carrera sobre testing en la Fing-UdelaR'/><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><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6165282299969737808</id><published>2010-03-08T06:24:00.001-08:00</published><updated>2010-03-09T04:56:30.028-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='Metodología'/><title type='text'>Testing automatizado - hagamos que las máquinas trabajen por nosotros</title><content type='html'>Si recuerdan, el año pasado en el Encuentro GeneXus en Montevideo, estuvimos a cargo de dos charlas y un café (en conjunto con el &lt;a href="http://www.blogger.com/www.ces.com.uy"&gt;CES&lt;/a&gt;). En una de las charlas hablamos sobre el testing automatizado, con el fin principal de mostrar los distintos desafíos que se presentan y la forma que tenemos de enfrentarlos, en particular al trabajar con Genexus, para que así se animen a comenzar a automatizar.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como seguimos con la apuesta a que se animen a automatizar les damos dos anuncios&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1ro -  salió el primer build después del despegue de la beta. Les recomiendo leer &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Builds_de_GXtest_1.1_Beta"&gt;aquí&lt;/a&gt; para que puedan descargarla, y para que vean los avances que se han logrado desde la beta. Queremos hacer énfasis en que este es el mejor momento para dar feedback sobre el producto, pues nuestro foco en este momento está ahí.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2do - transcribimos la charla a nuestra documentación, a modo de transmitir mejor las experiencias obtenidas en el transcurso de nuestra historia en el testing automatizado de aplicaciones Genexus (&lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Testing_Automatizado_en_GeneXus"&gt;acceda aquí&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entonces todos a Automatizar!&lt;/div&gt;&lt;div&gt;Esperamos sus comentarios.&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-6165282299969737808?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/6165282299969737808/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6165282299969737808' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6165282299969737808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6165282299969737808'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/03/testing-automatizado-hagamos-que-las.html' title='Testing automatizado - hagamos que las máquinas trabajen por nosotros'/><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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-1309904376412337019</id><published>2010-03-02T04:34:00.000-08:00</published><updated>2010-03-02T13:51:12.190-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>GXtest 1.1 beta released!!</title><content type='html'>&lt;span class="Apple-style-span"   style="  border-collapse: collapse; font-family:arial, sans-serif;font-size:13px;"&gt;&lt;div class="im" style="color: rgb(80, 0, 80); "&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Tenemos el agrado de anunciar que la versión&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt; beta d&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;e GXtest 1.1 está en la calle! &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="im" style="color: rgb(80, 0, 80); "&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   font-family:georgia;font-size:medium;"&gt;Nuestro objetivo fue el de brindar la nueva versión con todas sus nuevas funcionalidades servidas para que les sea práctico y fácil probarlas y visualizar sus ventajas, y las mejoras que ellas le traen a GXtest. En ese sentido hemos actualizado la documentación mejorando los tutoriales y guías para comenzar fácilmente a agarrarle el gustito al testing automatizado.&lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;color:#333333;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="im"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); font-family:georgia;font-size:medium;"&gt;¿Cómo arrancar?&lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Primero debes registrarte al equipo de betatesters, luego descargarte la última versión disponible, y comenzar a probar. Eso lo debes hacer &lt;a href="http://www.gxtechnical.com/betatesters/gxtest"&gt;aquí&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="im"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); font-family:georgia;font-size:medium;"&gt;En ese momento también tendrás acceso al foro para poder intercambiar dudas y experiencias sobre la herramienta. Todo el feedback que nos aportes será bienvenido y agradecido.&lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;color:#333333;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); font-family:georgia;font-size:medium;"&gt;¿Dónde está la información técnica?&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="im" style="text-align: justify;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Está todo centralizado en nuestra Wiki junto a toda la documentación de GXtest, en &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;&lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Categor%C3%ADa:GXtest_1.1_Beta"&gt;este link&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;. Ahí podrás encontrar una descripción de las nuevas funcionalidades, las mejoras implementadas, y una serie de lecturas recomendadas para comenzar.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="im" style="text-align: justify;color: rgb(80, 0, 80); "&gt;&lt;span class="Apple-style-span"    style="font-family:Georgia, 'Trebuchet MS', 'Lucida Grande';font-size:100%;color:#333333;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: separate;  line-height: 22px;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&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-1309904376412337019?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/1309904376412337019/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=1309904376412337019' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1309904376412337019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1309904376412337019'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/02/gxtest-11-beta-released.html' title='GXtest 1.1 beta released!!'/><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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-85476580323351241</id><published>2010-02-11T13:26:00.000-08:00</published><updated>2010-02-11T14:18:13.266-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='Metodología'/><title type='text'>Nivel de abstracción de los Casos de Prueba</title><content type='html'>&lt;div&gt;Un concepto simple de testing que se utiliza en GXtest dando mucho valor a los testers que van a trabajar diseñando pruebas es el de Data Driven Testing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este concepto permite diferenciar entre &lt;i&gt;casos de prueba abstractos&lt;/i&gt; (o conceptuales), y &lt;i&gt;casos de prueba concretos&lt;/i&gt; (o con datos).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nos ha pasado que las empresas nos plantean que en su organización se cuenta con un conjunto de pruebas de regresión formado por miles de casos de prueba, pero ¿cómo se da esto? es porque estamos contando casos de prueba con datos y no casos de prueba abstractos. Veamos con un ejemplo, si estuviéramos probando el login de la aplicación:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Test case 1: probar con un usuario vacío y verificar que no entra&lt;/div&gt;&lt;div&gt;Test case 2: probar con password vacío y verificar que no entra&lt;/div&gt;&lt;div&gt;Test case 3: probar con usuario valido y password inválido y verificar que no entra&lt;/div&gt;&lt;div&gt;Test case 4: probar con usuario y password válidos y verificar que sí entra&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Esto lo podríamos ver como un solo caso de prueba que sea&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1.- ingresar usuario&lt;/div&gt;&lt;div&gt;2.- ingresar password&lt;/div&gt;&lt;div&gt;3.- botón login&lt;/div&gt;&lt;div&gt;4.- verificar resultado&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;que luego tenga "parametrizadas" sus entradas y verificaciones. O sea, que tome usuario y password y resultado esperado de una fuente de datos donde tenga las siguientes líneas&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;usuario vacio, password cualquiera, no entra&lt;/div&gt;&lt;div&gt;usuario cualquiera, password vacio, no entra&lt;/div&gt;&lt;div&gt;usuario válido, password inválido, no entra&lt;/div&gt;&lt;div&gt;usuario válido, password válido, entra&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entonces, de esta forma separamos el caso de prueba abstracto de sus instancias. Por un lado tenemos el caso de prueba abstracto que me dice qué hace el caso de prueba, y por otro lado tengo los datos con los cuales se va a "instanciar" el mismo. Cada caso de prueba concreto es una prueba diferente para la aplicación.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ventajas&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Podemos describir el flujo de la aplicación en el modelo independiente de los datos&lt;/li&gt;&lt;li&gt;Podemos tener en forma centralizada los datos de entrada y salidas esperadas en una tabla (o Excel)&lt;/li&gt;&lt;li&gt;Podemos agregar más casos de prueba simplemente agregando líneas a la tabla&lt;/li&gt;&lt;li&gt;Relacionado con el &lt;a href="http://blog.abstracta.com.uy/2010/02/how-to-write-good-test-case-5-tips-to.html"&gt;post anterior&lt;/a&gt; los casos de prueba expresados de esta forma van a constituir una mejor documentación de la aplicación.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Entonces, seguramente cuando alguien intente diseñar casos de prueba con GXtest deberá pensar las cosas en forma un poco distinta a lo que algunos suelen hacer. Debería ser en dos etapas, primero pensar el caso de prueba a nivel conceptual, y luego bajarlo a instancias con distintos datos. El otro camino es el inverso, si ya se tienen pensados varios casos de prueba con datos, antes de automatizarlos con GXtest se debería pensar si no se pueden conceptualizar o abstraer esos casos de prueba.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Qué dicen, les resulta más simple de esa forma?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;La idea es seguir la filosofía GeneXus: Simplifiquemos las cosas haciendo nuestras tareas en forma más descriptiva y abstracta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-85476580323351241?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/85476580323351241/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=85476580323351241' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/85476580323351241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/85476580323351241'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/02/nivel-de-abstraccion-de-los-casos-de.html' title='Nivel de abstracción de los 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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3384286289220377418</id><published>2010-02-09T07:10:00.000-08:00</published><updated>2010-02-09T08:11:45.106-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='Metodología'/><title type='text'>How to write a good test case: 5 tips to write better test cases</title><content type='html'>Leyendo &lt;a href="http://www.makinggoodsoftware.com/2009/08/25/how-to-write-a-good-test-case5-tips-to-write-better-test-cases/"&gt;este&lt;/a&gt; artículo sobre como escribir buenos test cases, me pareció importante relacionar estos 5 consejos con GXtest.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;1) Escribir un caso de prueba para todas las condiciones&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Cuando estamos hablando de código GeneXus tal vez esto sea como pensar no sólo en los distintos flujos que se dan en los procedimientos, sino en que se verifiquen las regla definidas sobre un objeto (ojo, no estamos diciendo de cubrir todo el código, ni que cubrir todo el código nos garantice nada).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;2) Testear solo una cosa&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Si bien con GXtest nos podemos ver tentados a testear varias cosas en un mismo Test Case, es conveniente mantener aisladas las pruebas para cada parte del sistema.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;3) Hacer que los casos de prueba describan cómo trabaja el sistema&lt;/b&gt;&lt;/div&gt;&lt;div&gt;En GXtest describimos las pruebas con modelos simples, y esto hace que se describa el comportamiento esperado del sistema en forma sencilla. Hay algunos elementos que ayudan con este propósito. Por un lado se pueden poner comentarios de texto en los casos de prueba. Por otro lado podemos "partir" nuestro caso  de prueba en varios sub-casos para lograr que luego cuando se vea en su generalidad se pueda entender los distintos pasos que se dan de manera más fácil.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;b&gt;4) Organizar los casos de prueba de manera consistente&lt;/b&gt;&lt;/div&gt;&lt;div&gt;GXtest permite utilizar folders (podrán verlo a partir de la beta 1.1) para organizar tanto los casos de prueba como los datos de prueba. Es importante tal como dice el artículo fijar un criterio para toda la empresa o por proyecto y seguirlo a rajatabla.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;b&gt;5) Hacer casos de prueba "FIRST class"&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;F&lt;/b&gt;ast: GXtest se encarga de ejecutar los casos de prueba lo más rápido posible. En Abstracta es un desfío constante bajar los tiempos de ejecución de cada caso de prueba sin perder en estabilidad. &lt;/li&gt;&lt;li&gt;&lt;b&gt;I&lt;/b&gt;ndependent: en las suites de GXtest se agrupan varios casos de prueba. Es importante que en la suite puedan correr sus casos de prueba sin importar el orden.&lt;/li&gt;&lt;li&gt;&lt;b&gt;R&lt;/b&gt;epeteable: es deseable que cada caso de prueba se pueda repetir sin tener necesidad de hacer un restore de la base de datos. Para eso GXtest proporciona mecanismos para acceder a los datos utilizando procedimientos GeneXus, los cuales se pueden utilizar para borrar datos, obtener datos, etc.&lt;/li&gt;&lt;li&gt;&lt;b&gt;S&lt;/b&gt;mall: casos de prueba gigantes no pueden cumplir con el primer requsitio &lt;i&gt;Fast&lt;/i&gt;. Si bien con GXtest nos podemos tentar a hacer casos de prueba muy grandes es conveniente siempre mantener su tamaño acotado.&lt;/li&gt;&lt;li&gt;&lt;b&gt;T&lt;/b&gt;ransparent: en GXtest se puede utilizar la descripción que tiene asociado cada caso de prueba para indicar claramente su propósito.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Es bueno para nosotros, a modo de validación, ver cómo con GXtest podemos adaptarnos a los buenos tips que se recomiendan en distintas fuentes.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; color: rgb(80, 0, 80); "&gt;&lt;/span&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-3384286289220377418?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/3384286289220377418/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3384286289220377418' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3384286289220377418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3384286289220377418'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/02/how-to-write-good-test-case-5-tips-to.html' title='How to write a good test case: 5 tips to write better test cases'/><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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-1208470423474346087</id><published>2010-01-24T14:00:00.000-08:00</published><updated>2010-01-25T12:36:45.267-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='Metodología'/><title type='text'>¿Cómo comenzar con el testing automatizado?</title><content type='html'>Acabamos de terminar una documentación en nuestra wiki, la cual nos resultó interesante compartirla también por este medio (fuente: &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=%C2%BFComo_empezar_con_testing_automatizado%3F"&gt;http://gxtest.abstracta.com.uy/wiki/index.php?title=%C2%BFComo_empezar_con_testing_automatizado%3F&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  line-height: 19px; font-family:sans-serif;font-size:13px;"&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Muchas veces se visualizan los beneficios de automatizar parte de las pruebas pero no se sabe como comenzar, o se cuenta con una herramienta de testing automatizado pero no se está seguro acerca de su implantación. Por estos motivos en este artículo se discutirán los distintos aspectos importantes a tener en cuenta para comenzar con el testing automatizado, en particular utilizando GXtest sobre aplicaciones GeneXus, aunque varios de los conceptos y consejos que se mencionan aquí aplican a cualquier intento de automatización.&lt;/p&gt;&lt;a name="Comenzar_con_un_proyecto_piloto" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;/a&gt;&lt;h2  style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; font-weight: normal; margin-top: 0px; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(170, 170, 170);  background-position: initial initial; font-size:19px;"&gt;&lt;span class="mw-headline"&gt;&lt;br /&gt;Comenzar con un proyecto piloto&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Al igual que la mayoría de las prácticas de ingeniería de software, es conveniente &lt;b&gt;elegir&lt;/b&gt; un proyecto &lt;b&gt;adecuado&lt;/b&gt; y utilizarlo como proyecto piloto para comenzar.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;El hecho de utilizar un proyecto piloto tiene varias ventajas:&lt;/p&gt;&lt;ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://gxtest.abstracta.com.uy/wiki/skins/monobook/bullet.gif); "&gt;&lt;li style="margin-bottom: 0.1em; "&gt;poder definir una metodología inicial adecuada a la forma de trabajo de la empresa&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;adquirir experiencia en el uso de las herramientas de automatización&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;medir los beneficios&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;evaluar las dificultades&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;contar con un proyecto de alcance acotado en el cual focalizar los esfuerzos por mejorar la calidad&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Es deseable que este proyecto piloto pueda mostrar en el menor plazo posible el ROI que se tiene al aplicar testing automatizado, por este motivo se deben seleccionar algunas métricas (de acuerdo a la realidad de la empresa y del proyecto) que lo visualicen. Algunas métricas que se pueden utilizar para este fin son las siguientes:&lt;/p&gt;&lt;ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://gxtest.abstracta.com.uy/wiki/skins/monobook/bullet.gif); "&gt;&lt;li style="margin-bottom: 0.1em; "&gt;horas de testing / # de errores encontrados por el cliente&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;# de errores encontrados por el cliente / Tamaño del sistema&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;Tiempo de detección de los errores (entre que se introdujo el error y se detectó)&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;etc&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;También se puede evaluar a través de un cuestionario algunos aspectos subjetivos como son la motivación del equipo de testing, la sensación de estabilidad o calidad del sistema por parte de los usuarios o la percepción de calidad en el testing de los desarrolladores.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Ahora bien, ¿cuales son las características deseadas que tiene que tener el proyecto piloto?. Algunas de estas características son:&lt;/p&gt;&lt;ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://gxtest.abstracta.com.uy/wiki/skins/monobook/bullet.gif); "&gt;&lt;li style="margin-bottom: 0.1em; "&gt;&lt;b&gt;Tamaño del equipo&lt;/b&gt; pequeño: es preferible que el equipo de testing y el equipo de desarrollo sean pequeños. En equipos pequeños es más fácil introducir cambios y medir su impacto. Un factor muy importante es que el equipo vea el testing automatizado como una ayuda en su trabajo y no como una carga extra.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;&lt;b&gt;Skills&lt;/b&gt; de las personas involucradas: si se va a introducir un cambio es imprescindible contar con gente dispuesta a cambiar la forma de trabajo. Si esta gente es líder o referente en la empresa mucho mejor, ya que luego será más sencillo adoptar los cambios en el resto de los proyectos.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;Cantidad de &lt;b&gt;ciclos de prueba&lt;/b&gt;: las pruebas automatizadas tienen más valor cada vez que se corren, por este motivo aquellos proyectos que involucren varios ciclos de prueba son los que sacan más valor de este tipo de pruebas. Típicamente durante la etapa de mantenimientos de los sistemas se tienen algunas correcciones del mismo y luego se corren pruebas de regresión. Estos proyectos de mantenimiento suelen ser buenos candidatos para empezar con las pruebas automatizadas&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;Relevancia de la &lt;b&gt;calidad&lt;/b&gt; del sistema: si bien todos los sistemas que desarrollamos tienen que ser de calidad, hay ciertos proyectos en los cuales los clientes son más demandantes en cuanto a la calidad y valoran más los aspectos referentes a la calidad.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;&lt;b&gt;Tecnología&lt;/b&gt; a utilizar: dependiendo de la tecnología que se utilice para desarrollar existen herramientas para automatizar de menor o mayor sofisitificación y de menor o mayor precio. Para el caso en que la aplicación se realice en GeneXus con GXtest se tendrán contemplados los distintos aspectos que necesita cubrir la herramienta, con otras tecnologías hay que evaluar otras alternativas.&lt;/li&gt;&lt;/ul&gt;&lt;a name=".C2.BFQui.C3.A9n_automatiza.3F" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;/a&gt;&lt;h2  style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; font-weight: normal; margin-top: 0px; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(170, 170, 170);  background-position: initial initial; font-size:19px;"&gt;&lt;span class="mw-headline"&gt;&lt;br /&gt;¿Quién automatiza?&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Una vez que se decidió del portfolio de proyectos, cual será el elegido para comenzar con la experiencia de testing automatizado se deberá asignar las personas que se involucrarán en el mismo. En particular se deberá elegir quienes serán los encargados de realizar el testing automatizado. La recomendación es que las personas encargadas de automatizar sean los mismos analistas que conocen de los requerimientos y de la realidad y que realizan el testing funcional tradicional. Es importante que sea el mismo grupo por varios motivos:&lt;/p&gt;&lt;ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://gxtest.abstracta.com.uy/wiki/skins/monobook/bullet.gif); "&gt;&lt;li style="margin-bottom: 0.1em; "&gt;que no se genere competencia entre las pruebas manuales y las pruebas automatizadas&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;ayudar a asegurar la correcta elección de las pruebas que se realizarán de manera automatizado&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;las herramientas de testing automatizado pueden servir no solo para automatizar casos de prueba sino que también para generar datos para los casos de prueba. Por este motivo conocer de la herramienta de automatización ayudará a también en las pruebas manuales&lt;/li&gt;&lt;/ul&gt;&lt;a name=".C2.BFC.C3.B3mo_formar_a_las_personas_que_van_a_automatizar.3F" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;/a&gt;&lt;h3   style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; font-weight: bold; margin-top: 0px; margin-right: 0px; margin-bottom: 0.3em; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-width: initial; border-bottom-style: none; border-bottom-  background-position: initial initial; font-size:17px;color:initial;"&gt;&lt;span class="mw-headline"&gt;&lt;br /&gt;¿Cómo formar a las personas que van a automatizar?&lt;/span&gt;&lt;/h3&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;El proceso que siga cada una de las personas que vaya a automatizar puede variar según su grado de conocimiento en testing automatizado y en herramientas de automatización. Es aconsejable que de manera paralela puedan comenzar con la capacitación en la herramienta que se vaya a utilizar (con GXtest se puede empezar por ejemplo con &lt;a href="http://gxtest.abstracta.com.uy/wiki/index.php?title=Tutorial_de_GXtest_Designer" title="Tutorial de GXtest Designer" style="text-decoration: none; color: rgb(90, 54, 150); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;Tutorial de GXtest Designer&lt;/a&gt;) así como también leyendo material acerca de metodología y experiencias de pruebas automatizadas en general. Una lectura recomendada es la &lt;a href="http://www.testingexperience.com/testingexperience04_08.pdf" class="external text" title="http://www.testingexperience.com/testingexperience04_08.pdf" rel="nofollow" style="text-decoration: none; color: rgb(51, 102, 187); background-image: url(http://gxtest.abstracta.com.uy/wiki/skins/monobook/document.png); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; padding-right: 12px; background-position: 100% 50%; "&gt;4º Edición&lt;/a&gt; de la revista Testing Experience dedicada al testing automatizado.&lt;/p&gt;&lt;a name="Selecci.C3.B3n_de_los_casos_de_prueba_a_automatizar" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;/a&gt;&lt;h2  style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; font-weight: normal; margin-top: 0px; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(170, 170, 170);  background-position: initial initial; font-size:19px;"&gt;&lt;span class="mw-headline"&gt;&lt;br /&gt;Selección de los casos de prueba a automatizar&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Una vez que se tiene elegido el proyecto y la gente que participará en el mismo el punto crítico en la automatización de las pruebas es &lt;b&gt;decidir&lt;/b&gt; cuales casos de prueba se automatizarán. El error más común en los intentos de automatización es intentar automatizar todo, así que la recomendación aquí es &lt;b&gt;NO INTENTE AUTOMATIZAR TODOS LOS CASOS DE PRUEBA&lt;/b&gt;. Teniendo una visión del negocio y también de la estructura interna del sistema (para lo cual se necesita involucrar a los desarrolladores) se debe decidir cuales casos de prueba que se automatizarán. Algunas de los factores a tener en cuenta son:&lt;/p&gt;&lt;ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://gxtest.abstracta.com.uy/wiki/skins/monobook/bullet.gif); "&gt;&lt;li style="margin-bottom: 0.1em; "&gt;¿cuales casos de prueba se necesitarán correr más veces durante el proyecto? Típicamente aquellos casos de prueba asociados al núcleo de la aplicación se pueden construir al principio del proyecto y luego sirven (adaptándolos cuando sea necesario) para el resto de la vida del sistema.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;¿cuáles casos de prueba conllevan mucha dedicación humana y son repetitivos? Hay veces que un caso de prueba requiere de un trabajo tedioso para configurar el ambiente de prueba y luego ejecutar el caso de prueba. Estos casos de prueba es bueno automatizarlos para liberar el recurso humano y que pueda dedicarse a otros casos más desafiantes.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;¿que funcionalidades son críticas para el cliente/usuario? Aquellas funcionalidades que tienen que andar si o si en cada entrega generalmente es interesante incluirlas en los casos automatizados.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;¿que costo tienen asociado la automatización del caso de prueba? Hay casos de prueba que son muy difíciles de automatizar, ya sea porque hay que realizar validaciones visuales complejas o por otras razones. Por este motivo si el costo de su automatización es grande hay veces que es mejor dejarlo para ser ejecutado manualmente.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Teniendo en cuenta estas características se puede ponderar cada caso de prueba en base a cada una de ellas para luego hacer un ranking o priorizar los casos de prueba a automatizar.&lt;/p&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;En el caso de que se vaya a automatizar en un proyecto de mantenimiento en el cual ya se están corriendo pruebas manuales, muchas veces la fuente de información más importante que tenemos para elegir los casos de prueba a automatizar es el historial de incidentes. Con este instrumento más las consideraciones vistas previamente se puede tener una idea clara de cuales son aquellos casos de prueba o funcionalidades a automatizar.&lt;/p&gt;&lt;a name="C.C3.B3mo_Comenzar" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;/a&gt;&lt;h2  style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; font-weight: normal; margin-top: 0px; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(170, 170, 170);  background-position: initial initial; font-size:19px;"&gt;&lt;span class="mw-headline"&gt;&lt;br /&gt;Cómo Comenzar&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; "&gt;Luego de seleccionar un proyecto para un piloto, y seleccionar ciertos casos de prueba para automatizar, lo que recomendamos es comenzar por un subconjunto acotado de casos de prueba (no más de 10) y ponerlos a funcionar. Esto es: diseñarlos (en papel, planillas, etc.), automatizarlos (con GXtest Designer y Recorder), preparar ambiente y datos para poder probarlos, preparar la ejecución programada de estos casos (con GXtest Manager, haciendo que ejecuten todas las noches por ejemplo) y definiendo las metodologías para trabajar. Una vez que preparemos esto comenzaremos a ver los beneficios y a alimentar la máquina de pruebas automatizadas, haciéndola crecer cada vez más, obteniendo cada vez más beneficios.&lt;/p&gt;&lt;a name="Ver_tambi.C3.A9n" style="text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; background-position: initial initial; "&gt;&lt;/a&gt;&lt;h2  style="color: black; background-image: none; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; font-weight: normal; margin-top: 0px; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(170, 170, 170);  background-position: initial initial; font-size:19px;"&gt;&lt;span class="mw-headline"&gt;&lt;br /&gt;Ver también&lt;/span&gt;&lt;/h2&gt;&lt;ul style="line-height: 1.5em; list-style-type: square; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: url(http://gxtest.abstracta.com.uy/wiki/skins/monobook/bullet.gif); "&gt;&lt;li style="margin-bottom: 0.1em; "&gt;&lt;a href="http://searchsoftwarequality.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid92_gci1251861,00.html" class="external text" title="http://searchsoftwarequality.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid92_gci1251861,00.html" rel="nofollow" style="text-decoration: none; color: rgb(51, 102, 187); background-image: url(http://gxtest.abstracta.com.uy/wiki/skins/monobook/external.png); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; padding-right: 13px; background-position: 100% 50%; "&gt;How to design test cases&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.1em; "&gt;&lt;a href="http://www.testingexperience.com/testingexperience04_08.pdf" class="external text" title="http://www.testingexperience.com/testingexperience04_08.pdf" rel="nofollow" style="text-decoration: none; color: rgb(51, 102, 187); background-image: url(http://gxtest.abstracta.com.uy/wiki/skins/monobook/document.png); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: initial; padding-right: 12px; background-position: 100% 50%; "&gt;4ta Edición de la revista "Testing Experience"&lt;/a&gt;&lt;/li&gt;&lt;/ul&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-1208470423474346087?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/1208470423474346087/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=1208470423474346087' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1208470423474346087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1208470423474346087'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/01/como-comenzar-con-el-testing.html' title='¿Cómo comenzar con el testing automatizado?'/><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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-693190775976366017</id><published>2010-01-19T10:47:00.000-08:00</published><updated>2010-01-19T11:37:40.118-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>Se viene GXtest 1.1</title><content type='html'>Como ya habrán leído por ahí, hace ya unos meses que se lanzó la primera versión comercial de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;GXtest&lt;/span&gt; &lt;span class="Apple-style-span"  style="font-size:small;"&gt;(**)&lt;/span&gt;. Hoy en día, nos estamos preparando para lanzar una nueva versión, poniendo a disposición más &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;funcionalidades&lt;/span&gt; y mejoras.&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_xDsTqyrVo3E/Sre8Xel7e8I/AAAAAAAAAh8/ybNJnLyDQ_M/s320/logo_gxtest_final.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 106px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5383978991079881666" /&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;Ejecución en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Firefox&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;En un comienzo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;GXtest&lt;/span&gt; permitía grabar las pruebas y ejecutarlas en Internet &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Explorer&lt;/span&gt;. La ampliación en este sentido fue el haber agregado la posibilidad de ejecutar en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Firefox&lt;/span&gt;. Entonces, las mismas pruebas las podremos ejecutar ahora en dos de los más famosos Navegadores. Estaremos trabajando en futuro para dar soporte para otros, como ser Google &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Chrome&lt;/span&gt;. También en este sentido será interesante dar la posibilidad de poder grabar las pruebas en otros Navegadores.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Integración con la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;BL&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;GeneXus&lt;/span&gt; X (o superior)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Si se desea automatizar pruebas sobre una aplicación es necesario brindarle a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;GXtest&lt;/span&gt; el acceso a la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;metadata&lt;/span&gt; de la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;KB&lt;/span&gt; de la aplicación. Si se trata de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;GeneXus&lt;/span&gt; 9 o inferior se puede utilizar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;GXpublic&lt;/span&gt;. También se puede utilizar el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;XPZ&lt;/span&gt; obtenido tras exportar la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;KB&lt;/span&gt; desde &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;GeneXus&lt;/span&gt;, y en el caso de que estemos utilizando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;GeneXus&lt;/span&gt; X o superior era necesario hacer un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;export&lt;/span&gt; con una extensión específica que forma parte de la solución &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;GXtest&lt;/span&gt;. El problema con esto es que era necesario instalar la extensión en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;GeneXus&lt;/span&gt;, entrar, abrir la aplicación, exportar generando así un archivo .&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;GXT&lt;/span&gt; (similar a un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;XPZ&lt;/span&gt;), luego entrar en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;GXtest&lt;/span&gt; e indicar la ruta a este archivo. Esto cada vez que se quiera impactar los cambios del ambiente de desarrollo sobre el de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;testing&lt;/span&gt;. Por eso es que agregamos la opción de acceder a la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;KB&lt;/span&gt; a través de la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;BL&lt;/span&gt; (&lt;i&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;GeneXus&lt;/span&gt; &lt;/i&gt;&lt;i&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Business&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;Logic&lt;/span&gt;&lt;/i&gt;) cuando se trata de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;GeneXus&lt;/span&gt; X o superior. Esto brinda la misma comodidad para el usuario que cuando se trata de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;GeneXus&lt;/span&gt; 9 o inferior y selecciona usar acceso con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;GXpublic&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;Organización&lt;/span&gt; en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;Folders&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;En un principio no se ve la necesidad, pero cuando uno comienza a automatizar pruebas y tiene cada vez más &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;Test&lt;/span&gt; Cases &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;automatizados&lt;/span&gt; se puede volver complejo administrarlos y &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;organizarlos&lt;/span&gt;. Para ello ahora se puede trabajar en una estructura de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;Folders&lt;/span&gt; (directorios/carpetas) que nos permiten más facilidad para clasificar y localizar luego cada uno de nuestros &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;Test&lt;/span&gt; Cases o Data &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;Pools&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;A futuro agregaremos la opción también de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;categorizar&lt;/span&gt; los artefactos de prueba, para poder manejar varios criterios de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;clasificación&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Mejoras de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;performance&lt;/span&gt; en la ejecución de pruebas&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Se optimizó notoriamente la ejecución de las pruebas. Esto es muy importante para poder tener los resultados de grandes cantidades de pruebas en menor tiempo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Gráficas para Resultados&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Como dijo &lt;a href="http://www.perftestplus.com/scott_blog.php"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;Scott&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;Barber&lt;/span&gt;&lt;/a&gt; en un evento del &lt;a href="http://www.ces.com.uy/"&gt;CES&lt;/a&gt; una vez, &lt;i&gt;"&lt;/i&gt;&lt;i&gt;más vale números que letras, y más vale gráficas que números"&lt;/i&gt;. Siempre que uno quiere analizar grandes cantidades de datos se simplifica mucho más pudiendo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;visualizarlos&lt;/span&gt; en forma gráfica, por este motivo se agregaron los primeros reportes gráficos en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;GXtest&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;Manager&lt;/span&gt; (encargado de gestionar el repositorio de pruebas).&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&gt;En Abstracta estamos muy contentos por los logros y el crecimiento que vemos que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;GXtest&lt;/span&gt; está alcanzando, y por el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;feedback&lt;/span&gt; positivo de los clientes que han confiado en este corto plazo de vida que tenemos. Gracias!&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&gt;Estamos también pensando en definir un período de betatesting, ¿hay interesados?&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;span class="Apple-style-span"  style="font-size:small;"&gt;(**) La misma es comercializada a través de &lt;/span&gt;&lt;a href="http://www.genexus.com/portal/hgxpp001.aspx?2,61,1035,O,S,0,MNU;E;227;3;MNU;,"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;Artech&lt;/span&gt; y su red de distribuidores&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; en todo el mundo, o poniéndose en contacto con &lt;/span&gt;&lt;a href="mailto:sales@genexus.com"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;sales@genexus.com.&lt;/span&gt;&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;br /&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-693190775976366017?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/693190775976366017/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=693190775976366017' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/693190775976366017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/693190775976366017'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/01/se-viene-gxtest-11.html' title='Se viene GXtest 1.1'/><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://2.bp.blogspot.com/_xDsTqyrVo3E/Sre8Xel7e8I/AAAAAAAAAh8/ybNJnLyDQ_M/s72-c/logo_gxtest_final.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-8901225833033083059</id><published>2010-01-04T11:28:00.000-08:00</published><updated>2010-01-11T09:49:00.225-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='Metodología'/><title type='text'>Automatizar el diseño de los casos de prueba</title><content type='html'>&lt;div style="text-align: left;"&gt;Uno de los puntos fuertes que nos planteamos al comenzar con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;GXtest&lt;/span&gt; fue la generación de casos de prueba a partir de modelos. Hoy en día con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;GXtest&lt;/span&gt; se pueden expresar los casos de prueba como modelos pero no se puede generar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;automáticamente&lt;/span&gt; casos de prueba a partir de ellos.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La idea es que el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;tester&lt;/span&gt; pueda expresar el conocimiento que tiene sobre la realidad en un modelo para que luego a partir del mismo se generen los casos de prueba.&lt;/div&gt;&lt;div&gt;Les recomiendo que lean este artículo para entender mejor la motivación de este enfoque&lt;/div&gt;&lt;div&gt;&lt;a href="http://robkuijt.nl/index.php?entry=entry091220-074237"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Test&lt;/span&gt; Case &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Design&lt;/span&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Manually&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;or&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Automated&lt;/span&gt;?&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://robkuijt.nl/index.php?entry=entry091220-074237"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;img src="http://robkuijt.nl/images/cover_test_design2.gif" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 281px;" border="0" alt="" /&gt;&lt;/div&gt;&lt;div&gt;Los dos modelos que siempre tuvimos en mente fueron el modelo de máquinas de estado y el modelo de casos de uso/diagrama de flujo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Cómo podemos utilizar este enfoque con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;GXtest&lt;/span&gt;?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Una opción es utilizar (como dice en el artículo) una herramienta como &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Ms&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Visio&lt;/span&gt; para modelar nuestra realidad. Este modelado podría ser por ejemplo con un diagrama de flujo en donde en las distintas interacciones con el sistema se utilicen nombres de casos de prueba realizados en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;GXtest&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luego que tenemos el modelo listo, este puede ser utilizado por una herramienta para generar distintos casos de pruebas, basándose en algoritmos conocidos de generación (realizando recorridas sobre el modelo). Estos nuevos casos de prueba generados, pueden estar en un formato "compatible" con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;GXtest&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Me parece que este es un mecanismo interesante para mejorar el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;testing&lt;/span&gt; en las empresas, mejorando de esta forma el alcance y cubrimiento de nuestras pruebas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Algunas preguntas para quienes leen el blog, ¿Con que herramientas realizan el modelo de la realidad y/o de los &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;requerimientos&lt;/span&gt;? ¿Ven factible aplicar algoritmos para la generación de casos de prueba a partir de estos modelos?&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-8901225833033083059?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/8901225833033083059/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=8901225833033083059' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8901225833033083059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8901225833033083059'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2010/01/automatizar-el-diseno-de-los-casos-de.html' title='Automatizar el diseño de los casos de prueba'/><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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3907567857828546507</id><published>2009-12-07T12:30:00.000-08:00</published><updated>2009-12-07T12:35:54.289-08: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'>Seminario: Testing para Desarrolladores del CES</title><content type='html'>El &lt;a href="http://www.ces.com.uy/"&gt;Centro de Ensayos de Software&lt;/a&gt; dictará un seminario de testing enfocado a desarrolladores. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Aquí está el resumen &lt;a href="http://www.ces.com.uy/seminarioDesarrolladores2009/seminarioDesarrolladores.htm"&gt;http://www.ces.com.uy/seminarioDesarrolladores2009/seminarioDesarrolladores.htm&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;aquí tienen más información sobre el contenido &lt;a href="http://www.ces.com.uy/seminarioDesarrolladores2009/ContenidoSeminarioDesarrolladores.pdf"&gt;http://www.ces.com.uy/seminarioDesarrolladores2009/ContenidoSeminarioDesarrolladores.pdf&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;Está enfocado más que nada a programación Java, pero los conceptos son bien aplicables en cualquier ambiente de trabajo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nos vemos por ahí :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-3907567857828546507?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/3907567857828546507/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3907567857828546507' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3907567857828546507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3907567857828546507'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/12/seminario-testing-para-desarrolladores.html' title='Seminario: Testing para Desarrolladores del CES'/><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-4633605815280102393</id><published>2009-12-03T03:20:00.000-08:00</published><updated>2009-12-03T12:24:47.254-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodología'/><title type='text'>Automatización de acciones de un tester: archivos de entrada</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_b9m8jUDaKlw/R1BbzEybk3I/AAAAAAAAADE/vFoBAYfzbmY/s1600-R/automation.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 432px; height: 432px;" src="http://2.bp.blogspot.com/_b9m8jUDaKlw/R1BbzEybk3I/AAAAAAAAADE/vFoBAYfzbmY/s1600-R/automation.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;En los casos de prueba se puede dar la necesidad de invocar distintos tipos de acciones. Si intentamos automatizar lo que hace un tester ahi tenemos un amplio abanico, pues un tester al probar una funcionalidad suele necesitar copiar archivos, disparar distintos programas, comandos, etc., incluso hasta verificar si le llega un e-mail generado por el sistema.&lt;/p&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;Nos tocó un caso en un cliente, el cual tiene un sistema que a partir de un archivo que se copia por FTP a un directorio hace que se generen tareas en un Flow, por lo que en ese caso de prueba automatizado se necesita copiar archivos en esa carpeta.&lt;/p&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt; &lt;/p&gt;  &lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;La primer solución que pensamos para poder hacer esto en GXtest fue generar un GeneXus Procedure que genere ese archivo en esa carpeta, ya que GXtest puede invocar procedimientos GeneXus desde los casos de prueba, por lo que podríamos automatizar este caso particular.&lt;/p&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt; &lt;/p&gt;  &lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;Una mejor solución nos la sugirió &lt;a href="http://blogjlr.blogspot.com/"&gt;José&lt;/a&gt; y nos llevó a agregar un nuevo comando en GXtest el cual da mayor flexibilidad para otros tipos de situaciones. Un comando que pueda invocar un programa por línea de comandos. De esta forma en un caso de prueba automatizado se podría enviar el archivo por FTP tal como lo haría un tester o un usuario real.&lt;/p&gt;  &lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;Claro está, que esta solución resuelve otras situaciones como copiar archivos, ejecutar aplicaciones externas, etc.&lt;/p&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin:0in;font-family:arial;font-size:9.75pt;color:black"&gt;¿Para que otras cosas se les ocurre que puede servir?¿Se les ocurre algo más que no esté quedando contemplado?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-4633605815280102393?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/4633605815280102393/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=4633605815280102393' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4633605815280102393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4633605815280102393'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/12/automatizacion-de-acciones-de-un-tester.html' title='Automatización de acciones de un tester: archivos de entrada'/><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/_b9m8jUDaKlw/R1BbzEybk3I/AAAAAAAAADE/vFoBAYfzbmY/s72-Rc/automation.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6835930153954992103</id><published>2009-11-24T16:25:00.000-08:00</published><updated>2009-11-25T06:27:45.434-08: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'>Automatización de "aplicaciones complejas"</title><content type='html'>&lt;div style="text-align: left;"&gt;En un par de charlas nos han preguntado, "¿Qué pasa con GXtest si mi aplicación se comunica con otras aplicaciones legadas mediante mecanismos complejos?", "¿Qué pasa si consume servicios Web expuestos en otros servidores?" "¿Qué pasa si mi aplicación tiene lógica muy compleja?"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://4.bp.blogspot.com/_7NSbjETmgUA/SwyAI56ebXI/AAAAAAAAD3s/83huQpZOpyY/s320/Sistemas+Complejos.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 225px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5407838143038516594" /&gt;&lt;div&gt;Imagen: a partir de un botón en la aplicación bajo pruebas se ejecuta una lógica compleja, hay comunicación con varias aplicaciones externas, y se dispara un cohete.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GXtest tiene como objetivo reproducir la interacción del usuario con el sistema, por lo tanto estas complejidades son indiferentes para GXtest. Una vez que el usuario presiona un botón, la lógica que se ejecuta a partir de esa acción pude ser simple o compleja, pero "a la vista" de GXtest es transparente (tan transparente como a la vista del usuario). Tal como se muestra en la imagen, no importa si se dispara un cohete o lo que sea, lo que "importa" para automatizar es la interfaz de usuario en este caso.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ahora bien, hay veces que el caso de prueba requiere que se hagan otras acciones que no se pueden hacer en el navegador, por ejemplo consultar una base de datos, copiar archivos a un determinado lugar, etc. Para estas acciones GXtest (al igual que otras herramientas) brinda la posibilidad de realizarlas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Bonus track:&lt;/b&gt;&lt;br /&gt;&lt;div&gt;El hecho de que una aplicación compleja no agregue dificultades a GXtest no implica que no agregue dificultades al momento de pensar y diseñar las pruebas automatizadas.&lt;/div&gt;&lt;div&gt;Dos de los temas más importantes que se pueden destacar son la preparación de los datos y la simulación de los servicios externos que se consumen. En particular en el segundo punto hay veces que es interesante que realmente el sistema bajo testing se "conecte" al servicio externo y hay otras veces que es preferible simular este servicio. El artefacto que simula el servicio externo generalmente se lo llama &lt;i&gt;Mock Service&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;En el caso de que ese servicio sea un &lt;i&gt;web service&lt;/i&gt; les recomiendo la aplicación &lt;a href="http://www.soapui.org/"&gt;SoapUI&lt;/a&gt; que brinda una interfaz muy amigable para generar servicios Mock así como para testear servicios Web.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Qué otras herramientas utilizan para sus pruebas (automatizadas o no)? ¿qué cosas requieren sus casos de prueba (FTP, Web Services)?&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-6835930153954992103?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/6835930153954992103/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6835930153954992103' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6835930153954992103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6835930153954992103'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/11/automatizacion-de-aplicaciones.html' title='Automatización de &quot;aplicaciones complejas&quot;'/><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://4.bp.blogspot.com/_7NSbjETmgUA/SwyAI56ebXI/AAAAAAAAD3s/83huQpZOpyY/s72-c/Sistemas+Complejos.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-4745970003774958668</id><published>2009-10-28T16:55:00.000-07:00</published><updated>2009-10-30T14:04:06.160-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><title type='text'>GXtest por Uruguay y el mundo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xDsTqyrVo3E/SutUkScv11I/AAAAAAAAAjQ/taRe7ovJ6T4/s1600-h/directions.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 256px;" src="http://2.bp.blogspot.com/_xDsTqyrVo3E/SutUkScv11I/AAAAAAAAAjQ/taRe7ovJ6T4/s400/directions.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398501560738109266" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Con el fin de difundir GXtest, encaminamos una &lt;a href="http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,7,3,O,S,0,PAG;CONC;348;21;D;24063;1;PAG;,"&gt;serie de presentaciones&lt;/a&gt; en distintos lugares. Aca les dejamos un resumen de las que ya ocurrieron y las que vienen...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;México&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blog.genexus.com/ralvarez/"&gt;Rodrigo Alvarez&lt;/a&gt; fue el primero (aparte de nosotros :P) en realizar una presentación de GXtest con demo incluída. Estuvo mostrando el producto a los distribuidores de ese país y vino con comentarios muy buenos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Buenos Aires, Argentina&lt;/b&gt;&lt;/div&gt;&lt;div&gt;De la mano de &lt;a href="http://www.toolnology.com/"&gt;Toolnology&lt;/a&gt; y Artech, presentamos el 21 y 22 de octubre GXtest en Buenos Aires. La verdad estuvo muy bueno ya que tuvimos la oportunidad de conocer mejor las inquietudes en el área de testing  en el país vecino y nos fuimos muy contentos ya que la gran mayoría visualizaba a GXtest como una ayuda en su proceso de testing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Montevideo, Uruguay&lt;/b&gt;&lt;/div&gt;&lt;div&gt;El 27 y 28 de octubre junto con Artech estuvimos presentando el producto acá en Montevideo. Asistieron una gran cantidad de empresas (según algún amigo de Artech eso fue porque en la invitación pusimos que había desayuno :P). Más allá de porque fue la gente, en general se mostraron muy interesados por el producto y con ganas de empezar a evaluarlo para ver como se adapta a sus realidades.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Chicago, Estados Unidos&lt;/b&gt;&lt;/div&gt;&lt;div&gt;El Fede estará mostrando el producto en el &lt;a href="http://www.genexususa.com/portal/hgxpp001.aspx?19,77,1146,"&gt;Genexus 5th USA Annual Event&lt;/a&gt; el 2 y 3 de Noviembre.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Chile&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Ayer Rodrigo presentó GXtest en el Evento Chileno. Esperamos los comentarios del mismo...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Paraguay&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Fabián estará viajando el próximo martes 3 a Asunción para presentar el producto en las instalaciones de SISA.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;Brasil&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Sao Paulo nos espera el 2 y 3 de diciembre para presentar GXtest a Corporativas y software houses.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Además el 17 y 18 de noviembre en el Latu estaremos brindando un curso de GXtest para que las empresas lo puedan conocer más en profundidad.&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-4745970003774958668?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/4745970003774958668/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=4745970003774958668' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4745970003774958668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4745970003774958668'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/10/gxtest-por-uruguay-y-el-mundo.html' title='GXtest por Uruguay y el mundo'/><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/_xDsTqyrVo3E/SutUkScv11I/AAAAAAAAAjQ/taRe7ovJ6T4/s72-c/directions.png' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-146437186645729784</id><published>2009-09-03T15:41:00.000-07:00</published><updated>2009-09-04T09:53:32.057-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'/><title type='text'>Abstracta en el XIX Encuentro Internacional GeneXus</title><content type='html'>&lt;span style="font-family:georgia;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 240px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377630003416356482" border="0" alt="" src="http://4.bp.blogspot.com/_xDsTqyrVo3E/SqEt_wcdVoI/AAAAAAAAAhk/06abYGHX99A/s320/800x600.jpg" /&gt;&lt;/span&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="BORDER-COLLAPSE: collapse;font-family:georgia;font-size:medium;" class="Apple-style-span"  &gt;&lt;div&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:georgia;"&gt;Estamos muy contentos de invitarlos al &lt;span style="BORDER-COLLAPSE: separate; WHITE-SPACE: pre" class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;XIX Encuentro Internacional GeneXus!!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;font-size:100%;"&gt;Como saben, este mes en el encuentro de usuarios liberamos la versión comercial de GXtest, y nos alegramos en invitarlos a todos al encuentro en general y a las instancias que estaremos participando en particular.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;font-size:100%;"&gt;Abstracta estará participando en las siguientes instancias&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="font-family:georgia;font-size:100%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,67,1134,O,S,0,,1771"&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;font-size:100%;"&gt;GeneXus en el desarrollo, GXtest en el testing&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;font-size:100%;"&gt;: presentaremos la primer versión comercial de GXtest. &lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:georgia;font-size:100%;"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 66px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377631339046332146" border="0" alt="" src="http://3.bp.blogspot.com/_xDsTqyrVo3E/SqEvNgDdZvI/AAAAAAAAAh0/Igwsyv7IkJw/s200/logo_gxtest_final.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,67,1134,O,S,0,,1768"&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;font-size:100%;"&gt;Testing Automatizado: ¡Hagamos que las máquinas trabajen por nosotros!&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;font-size:100%;"&gt;: estaremos compartiendo nuestra experiencia en automatización de pruebas funcionales, y todos los desafíos que involucra embarcarse en estas tareas.&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="font-family:georgia;font-size:100%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;a href="http://www.events.genexus.com/portal/hgxpp001.aspx?16,67,1134,O,S,0,,1743"&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;font-size:100%;"&gt;Café con Testing Automatizado&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"&gt;: junto al &lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://www.ces.com.uy/"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;CES&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; y todos los participantes estaremos charlando sobre el testing automatizado. La idea es tener un ámbito distendido en donde puedan discutirse temas relacionados al testing automatizado.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:georgia;font-size:100%;"&gt;Los esperamos a todos en el XIX Encuentro Genexus!!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:georgia;"&gt;Inscribite en &lt;span class="Apple-style-span"&gt;&lt;a href="http://www.genexus.com/encuentro/"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://www.genexus.com/encuentro/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&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-146437186645729784?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/146437186645729784/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=146437186645729784' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/146437186645729784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/146437186645729784'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/09/abstracta-en-el-xix-encuentro.html' title='Abstracta en el XIX Encuentro Internacional GeneXus'/><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://4.bp.blogspot.com/_xDsTqyrVo3E/SqEt_wcdVoI/AAAAAAAAAhk/06abYGHX99A/s72-c/800x600.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-5667812940297821637</id><published>2009-08-31T08:44:00.000-07:00</published><updated>2009-08-31T11:13:03.050-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'>¿Quién crea los casos de prueba?</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;Para seguir con la serie de articulos sobre preguntas del testing automatizado, es que aquí planteamos esta, ¿Quién es el que crea los casos de prueba?&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Algunos casos de prueba los puede crear el desarrollador, otros los testers y otros los clientes.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Los casos de prueba pueden ser creados, ejecutados, aprovechados, por muchas personas dentro de la vida del software. Con esto me refiero a que se van a ver beneficiados desde los desarrolladores al construir el primer prototipo, hasta el último de la cadena de producción que es el usuario que va a utilizar el sistema.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Cada una de las personas que participan podrán tener distintos objetivos y desafíos, podrán obtener distintas ventajas o beneficios de la automatización de pruebas.&lt;/div&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;img src="http://4.bp.blogspot.com/_C6WXtbAB2qc/SoXzDhOCwKI/AAAAAAAAJU4/dAdxw7QiufQ/s320/objetivos+testing.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 258px; height: 320px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5369965372491612322" /&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;b&gt;Desarrollador:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Seguramente un desarrollador que implemente el Objeto1 (transacción o WebPanel), o el Proc1, implementará pruebas que exploten a ese objeto en forma más unitaria, probando con casos bien concretos, viendo qué pasa con las distintas entradas.&lt;/div&gt;&lt;div&gt;Los casos de prueba serán cortos y generalmente no utilizarán otros objetos a menos que sea necesario.&lt;/div&gt;&lt;div&gt;Por lo general también sucede de que al ser la misma persona que desarrolla, las pruebas estarán pensadas con una lógica similar a la que se usó al desarrollar. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Tester:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;El tester ya tendrá más vision global, vision de negocio, por lo que será capaz de probar las funcionalidades en un ciclo completo.&lt;/div&gt;&lt;div&gt;Los casos de prueba serán más largos y complicados, buscando las formas posibles de evidenciar las faltas más importantes de la aplicación.&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;Usuario:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;El aporte más rico del usuario es que sabe priorizar mejor que nadie las funcionalidades críticas para su negocio, con la parametría propia de su realidad, y con el modo de uso que le da al sistema.&lt;/div&gt;&lt;div&gt;Los casos de prueba serán pensando en sus necesidades y no en las fortalezas o debilidades de la aplicación. Le interesa que funcione lo que a él le da más valor.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como conclusión podemos decir que la mezcla de todas estas visiones es la que genera un verdadero mix saborizado de pruebas. Sería ideal contar con aportes desde todos estos lados a la batería de pruebas a ejecutar.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Quiénes hacen pruebas en sus organizaciones?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-5667812940297821637?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/5667812940297821637/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=5667812940297821637' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5667812940297821637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5667812940297821637'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/08/quien-crea-los-casos-de-prueba.html' title='¿Quién crea los casos de prueba?'/><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://4.bp.blogspot.com/_C6WXtbAB2qc/SoXzDhOCwKI/AAAAAAAAJU4/dAdxw7QiufQ/s72-c/objetivos+testing.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6769893019696989447</id><published>2009-08-11T06:00:00.000-07:00</published><updated>2009-08-11T08:51:20.921-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='Metodología'/><title type='text'>Cómo elegir cuando ejecutar los casos de prueba?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7NSbjETmgUA/SoGTaTdWJAI/AAAAAAAAD14/SkQn_MRDTm4/s1600-h/flujo+trabajo.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 217px;" src="http://3.bp.blogspot.com/_7NSbjETmgUA/SoGTaTdWJAI/AAAAAAAAD14/SkQn_MRDTm4/s320/flujo+trabajo.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5368734310911583234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Otra de las preguntas que surge al llevar a cabo un proyecto de automtización de pruebas es &lt;i&gt;en qué momento ejecuto las pruebas?&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lo primero que uno piensa es &lt;i&gt;tan frecuente como se pueda&lt;/i&gt;, sin embargo, los recursos son escasos y dependiendo de la cantidad de pruebas automatizadas el tiempo que se demore en ejecutar puede ser muy largo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Generalmente se puede apuntar a tener algunos ambientes bien separados. A modo de ejemplo simple: &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;el de desarrollo (cada desarrollador)&lt;/li&gt;&lt;li&gt;el consolidado de desarrollo&lt;/li&gt;&lt;li&gt;el de testing (dentro del equipo de desarrollo)&lt;/li&gt;&lt;li&gt;el de pre-producción (testing dentro del cliente) &lt;/li&gt;&lt;li&gt;el de producción. &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;El conjunto de pruebas y la frecuencia de las mismas en cada uno de estos ambientes seguramente sea diferente.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En desarrollo se tiene la neceidad de mayor agilidad, ya que se van a querer correr con mucha frecuencia, imagino que después de cada cambio importante, antes de hacer un &lt;i&gt;commit &lt;/i&gt;en el sistema "SVN" o "CVS" o equivalente. &lt;/div&gt;&lt;div&gt;Ahora para eso sería muy conveniente correr solamente las pruebas necesarias (&lt;a href="http://abstracta-soft.blogspot.com/2009/08/como-elegir-que-ejecutar.html"&gt;mirar el post anterior&lt;/a&gt;). Estas pruebas tienen el fin de darle un feedback rápido al desarrollador.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Una vez que el desarrollador libera su módulo o cambios a la consolidación, se ejecutarían pruebas a modo de Pruebas de Integración. Acá lo ideal sería que corran en las noches así de mañana cuando llegan los desarrolladores tienen una lista de posibles asuntos a solucionar, y que tengan un feedback de los cambios que introdujeron ayer. Mientras menos tiempo pase más rápido lo van a solucionar. Esto permitiría no pasar a testing cosas que no funcionen. Serían como pruebas de humo en cierta forma.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luego cuando se pasa la aplicación a testing, se debería correr un conjunto más grande de pruebas de regresión que intenten asegurar que los errores que se han reportado y se han marcado como solucionados no están presentes en esta nueva versión. Este conjunto de pruebas puede tardar más tiempo en correr. Estas pruebas no tienen porque ser periódicas sino que pueden adecuarse al cronograma del proyecto con las fechas previstas de liberación.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cuando se llega a la versión entregable de la aplicación (aprobada por el equipo de testing), la misma se libera al cliente. Este por lo general la testea también en un ambiente de pre-producción, el cual debería ser totalmente simétrico en configuración al de producción (esta es la diferencia con el ambiente de testing del equipo de desarrollo). Aquí también aporta valor tener un conjunto de pruebas automatizadas. &lt;/div&gt;&lt;div&gt;Este conjunto de pruebas podría ser como mínimo el que se corrió en testing, e incluso se le podría entregar al cliente el conjunto de casos de prueba automatizados junto con la aplicación liberada, ya que le da mayor seguridad y confianza al cliente el saber que se testeó antes de su liberación.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como manejan las pruebas hoy en día? que ambientes manejan? &lt;/div&gt;&lt;div&gt;Algunas de estas ideas aplican ya sea que se tengan pruebas automatizadas o no?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6769893019696989447?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/6769893019696989447/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6769893019696989447' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6769893019696989447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6769893019696989447'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/08/como-elegir-cuando-ejecutar-los-casos.html' title='Cómo elegir cuando ejecutar los casos de prueba?'/><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://3.bp.blogspot.com/_7NSbjETmgUA/SoGTaTdWJAI/AAAAAAAAD14/SkQn_MRDTm4/s72-c/flujo+trabajo.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3597284178812084702</id><published>2009-08-07T10:52:00.000-07:00</published><updated>2009-08-10T06:47:34.292-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='Metodología'/><title type='text'>Cómo elegir qué ejecutar?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7NSbjETmgUA/SoAZsFMAdQI/AAAAAAAAD1o/hx5mVzkgTdY/s1600-h/Test_1205948884.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://3.bp.blogspot.com/_7NSbjETmgUA/SoAZsFMAdQI/AAAAAAAAD1o/hx5mVzkgTdY/s320/Test_1205948884.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5368319000923108610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Esto es un problema que se plantea al momento de tener muchos casos de prueba automatizados. Cambia la aplicación y tengo que decidir qué casos de prueba ejecutar.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si tengo tiempo la respuesta es simple: TODOS. Esto me dará más garantías, y no me cuesta más que mandar a ejecutar una prueba.&lt;/div&gt;&lt;div&gt;Ahora, qué pasa si no tengo tiempo suficiente. Ahí es donde tengo que seleccionar los casos de prueba que me den mejor relación costo-beneficio, o sea, aquellos que verifiquen todo lo que pueda estar impactado por los nuevos cambios en la aplicación. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cambiamos entonces a una nueva pregunta: ¿cómo saber qué casos de prueba verifican cosas sobre los nuevos cambios ingresados a la aplicación?&lt;/div&gt;&lt;div&gt;Este problema lo entendemos a dos niveles. Un primer nivel, y es el que parece más obvio, si cambian los objetos de interfaz de usuario los casos de prueba automatizados se verán impactados, y ahí se detecta fácilmente cuáles son los que tengo que volver a ejecutar.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ahora, lo más desafiante es poder extender este análisis para que contemple también en base a cambios de la lógica.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si tenemos la metadata suficiente para detectar esos cambios a nivel de lógica luego se puede a partir de esto ir subiendo hasta ver qué elementos de interfaz gráfica están involucrados en los cambios, y así descubrir los casos de prueba que me vale la pena volver a ejecutar, o al menos llegar a establecer cotas, dejando por fuera los que no tienen posibilidad de haber sido afectados.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Palabras tomadas de un colega:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;La tendencia en integración continua es que la selección de Test Case sea guiada, ya que en aplicaciones grandes no daría el tiempo de horas máquina para simular de forma secuencial todos los TestCase automatizados.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Una propuesta de solución a este problema va a venir incluida en el nuevo &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;Visual Studio 2010&lt;/a&gt;. En un componente llamado Test Impact, les dejo un par de links: &lt;a href="http://msdn.microsoft.com/en-us/library/dd264992(VS.100).aspx"&gt;link1 &lt;/a&gt;y &lt;a href="http://www.lfraile.net/post/Como-funcionan-los-e2809cImpacted-Testse2809d-de-VS-2010.aspx"&gt;link2&lt;/a&gt;. En pocas palabras lo que hacen es correr los casos de prueba fijándose el cubrimiento que los mismos tienen y luego en base a esto proponer qué casos de prueba ejecutar ante cada cambio. Ahora, ¿qué pasa con esto si no hay cambios en el código sino que el cambio está en el esquema de la BD o en los datos de la BD?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Cómo seleccionan los casos de prueba a ejecutar ante cada nueva release?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-3597284178812084702?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/3597284178812084702/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3597284178812084702' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3597284178812084702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3597284178812084702'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/08/como-elegir-que-ejecutar.html' title='Cómo elegir qué ejecutar?'/><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/_7NSbjETmgUA/SoAZsFMAdQI/AAAAAAAAD1o/hx5mVzkgTdY/s72-c/Test_1205948884.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-1334439882543094663</id><published>2009-08-05T10:08:00.000-07:00</published><updated>2009-08-05T09:39:15.705-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='Genexus'/><title type='text'>PIM y PSM en el Testing</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style=" border-collapse: collapse;  "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Estos días estuve  leyendo el artículo de Bea (pueden encontrar una breve descripción en la página del &lt;/span&gt;&lt;a href="http://www.ces.com.uy/imasd.htm"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;CES&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; (dentro de &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Proyectos de Investigación/Pruebas en Líneas de Producto de Software (ProTest)&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;) , y ahí recordé algo que aplica a Genexus, que es lo de &lt;/span&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-independent_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;P&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-independent_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;latform &lt;/span&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-independent_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-independent_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;ndependient &lt;/span&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-independent_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;M&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-independent_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;odel&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; y &lt;/span&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-specific_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;P&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-specific_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;latform &lt;/span&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-specific_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;S&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-specific_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;pecific &lt;/span&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-specific_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;M&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;a href="http://en.wikipedia.org/wiki/Platform-specific_model"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;odel&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&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;span&gt;&lt;span&gt;&lt;img src="http://4.bp.blogspot.com/_C6WXtbAB2qc/SnmkLl0S6sI/AAAAAAAAJUo/Pkjva6GBJcs/s320/PIM_PSM_Modelling.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 197px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5366500950025628354" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;O sea, en el mundo GeneXus, la KB sería el PIM y la aplicación generada el PSM.&lt;/span&gt;&lt;/span&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="font-size:medium;"&gt;&lt;br /&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;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;En nuestro caso, vemos que GXtest es una herramienta que maneja modelos PIM, y tiene las ventajas típicas de estos modelos en comparación a las herramientas tradicionales que se acercan más a un PSM, pues van directo al HTML del Java generado, o del .Net generado.&lt;br /&gt;&lt;br /&gt;Además fui a una &lt;/span&gt;&lt;a href="http://www.cuti.org.uy/asp/XMLDetalle.asp?ID=3488&amp;amp;OP=0"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;charla&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; de un amigo español (&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate;  color: rgb(113, 113, 116); "&gt;&lt;a href="http://alarcos.inf-cr.uclm.es/per/fruiz/"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Dr. Ruiz&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);   border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;) la cual me resutló muy interesante como para profundizar el tema.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&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;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&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;span class="Apple-style-span"  style="font-size:medium;"&gt;Algo que nos preguntábamos es si en alguna forma GeneXus se puede definir como un Lenguaje especifico de Dominio? Cual sería el dominio en ese caso? Qué opinan?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" border-collapse: collapse;  font-family:arial;font-size:13px;"&gt;&lt;div&gt;&lt;/div&gt;&lt;/span&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-1334439882543094663?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/1334439882543094663/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=1334439882543094663' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1334439882543094663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1334439882543094663'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/07/pim-y-psm-en-el-testing.html' title='PIM y PSM en el Testing'/><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/_C6WXtbAB2qc/SnmkLl0S6sI/AAAAAAAAJUo/Pkjva6GBJcs/s72-c/PIM_PSM_Modelling.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3217494318495611489</id><published>2009-08-03T08:30:00.000-07:00</published><updated>2009-08-03T08:59:18.981-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='Metodología'/><title type='text'>Mantenimiento de Pruebas de distintas Versiones de la misma KB</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://erdgeist.org/arts/software/ezjail/ezjail-versions.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 397px; height: 295px;" border="0" alt="" /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;Supongamos que hoy tengo una versión de la aplicación &lt;i&gt;Carrito.v.1&lt;/i&gt;. Todos los casos de prueba funcionan sobre esa versión. Tal vez esa versión de&lt;i&gt; Carrito.v.1&lt;/i&gt; está congelada e instalada en un par de  clientes. &lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Ahora bien, supongamos también que sigo desarrollando y se produce una nueva versión que le llamaremos&lt;i&gt; Carrito.v.2&lt;/i&gt;. Es probable que hayan cambiado algunas funcionalidades, se hayan agregado una nuevas, etc. Entonces es importante actualizar todos los casos de prueba (ya sean manuales o automáticos) para que se adapten a esta nueva versión. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Cómo manejan ustedes esto hoy en día? Una opción es tener dentro de la "línea base", con un tag del SVN o en algún lugar separado, no sólo las distintas versiones de la KB (u código), sino también las distintas versiones de los casos de prueba, no?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Luego cuando el cliente de &lt;i&gt;Carrito.v.1&lt;/i&gt; reporta un error hay que ir a arreglarlo a&lt;i&gt; Carrito.v.1&lt;/i&gt; y fijarse si ese bug aplica también a &lt;i&gt;Carrito.v.2&lt;/i&gt;. Luego hay que correr los casos de prueba de regresión de ambas versiones. Y si luego tengo &lt;i&gt;Carrito.v.N&lt;/i&gt;, cómo hago para correr los casos de prueba asociados a las N versiones??&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;img src="http://1.bp.blogspot.com/_C6WXtbAB2qc/Snb8Z-sJwhI/AAAAAAAAJUg/Wy_2Lhq3fqU/s320/Dibujo.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 285px; height: 314px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5365753529313640978" /&gt;Pensando en esta problemática GXtest ofrece hoy en día dos facilidades. Por un lado una funcionalidad para impactar los casos de pureba automatizados con la nueva versión de la aplicación (KB). Por otro lado lo que permite es duplicar todo un proyecto de pruebas (casos de prueba, datos de prueba, etc.) a modo de "Taggearlo" para que de esa manera pueda conservar los casos de prueba en distintas versiones del producto. Entonces se puede ejecutar pruebas actualizadas sobre la última versión del producto, pero interesa que si se hacen cambios sobre la versión del cliente aún se puedan correr las pruebas de regresión sobre esa versión previa congelada.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Resumiendo. La infraestructura final de pruebas contará con N instancias de la aplicación bajo prueba, una para cada versión que interese correr pruebas de regresión. Por otro lado tendremos N proyectos de prueba en GXtest con los distintos casos de prueba, cada uno correspondiéndose con las versiones de la aplicación.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" border-collapse: collapse;  font-family:arial;font-size:13px;"&gt;&lt;div&gt;&lt;/div&gt;&lt;/span&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-3217494318495611489?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/3217494318495611489/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3217494318495611489' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3217494318495611489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3217494318495611489'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/08/mantenimiento-de-pruebas-de-distintas.html' title='Mantenimiento de Pruebas de distintas Versiones de la misma KB'/><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/Snb8Z-sJwhI/AAAAAAAAJUg/Wy_2Lhq3fqU/s72-c/Dibujo.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-4901855595279521004</id><published>2009-07-28T05:48:00.000-07:00</published><updated>2009-08-01T08:27:51.712-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><title type='text'>Se Busca una idea original!!</title><content type='html'>&lt;div style="text-align: left;"&gt;Estamos buscando una idea original para promocionar GXtest en el evento GeneXus. Por ese motivo y con plena confianza en quienes leen este blog, es que lanzamos el concurso de "Ideas Originales para Promocionar GXtest en el Evento GeneXus".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_EwFKY3lwcqs/SYn_cli5dqI/AAAAAAAAA1Q/dmG7LOsGPKA/s400/Se+busca.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" border="0" alt="" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cualquier lector en cualquier parte del mundo puede participar del concurso dejando su comentario en este post  (si Simon, estamos pensando en vos también que sabemos que te sobran ideas originales :P).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El objetivo de la idea original debe ser lograr que la gente conozca GXtest y sepa para qué los puede ayudar. Cualquier tipo de juego, concurso o lo que se les ocurra sirve.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La semana pasada surgió una idea muy buena, pero por lástima solamente a mi me pareció grandiosa. La idea consiste en mandar a hacer unos matamoscas inflables (con el logo de GXtest). La idea entonces era regalar estos matamoscas y que la gente luego pueda matar bichos (Bugs) con el super matamoscas. &lt;/div&gt;&lt;div&gt;Luego se le sumaron otros complementos a la idea como por ejemplo regalar también punteros láser en forma de bicho. Uno de las objeciones a la brillante idea es que la gente va a ir a otras charlas y va a ocasionar disturbios para los cuales se presta tanto el puntero láser como el matamoscas :P&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 agradecen todas las colaboraciones!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PD: las mejores 5 ideas llevarán como premio una mención y agradecimiento especial en el blog de Abstracta :D&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-4901855595279521004?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/4901855595279521004/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=4901855595279521004' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4901855595279521004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4901855595279521004'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/07/se-busca-una-idea-original.html' title='Se Busca una idea original!!'/><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://3.bp.blogspot.com/_EwFKY3lwcqs/SYn_cli5dqI/AAAAAAAAA1Q/dmG7LOsGPKA/s72-c/Se+busca.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6655709766694405746</id><published>2009-07-27T04:30:00.000-07:00</published><updated>2009-07-27T13:41:12.386-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'>DataPools</title><content type='html'>Los DataPools (en donde se guardan los datos de entrada de los casos de prueba) le dan un gran poder a los casos de prueba, pero cuando empezamos a construir casos de pruebas relativamente grandes nos hace falta ese "poder" que sentimos los desarrolladores al escribir sentencias tales como JOIN (en SQL),  foreach (en Genexus) y otros, para manipular datos en estructuras tabulares.&lt;div&gt;En un lenguaje "gráfico", o en un modelo, es más difícil expresar este tipo de realciones en forma simple para el usuario. De todos modos la necesidad existe, y muchas veces queremos "mantener el contexto" del conjunto de datos que estamos utilizando en cada ejecución.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para esto construimos un mecanismo que le llamamos "DataPools estructurados".&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_C6WXtbAB2qc/Sm4Qf0ji4kI/AAAAAAAAJT8/ejitjQCANEk/s1600-h/knot-structured-1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 302px;" src="http://2.bp.blogspot.com/_C6WXtbAB2qc/Sm4Qf0ji4kI/AAAAAAAAJT8/ejitjQCANEk/s320/knot-structured-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5363242345114559042" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Aquí están las diapositivas que intentan explicar el funcionamiento de DataPools:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div style="width: 425px; text-align: left;" id="__ss_1745250"&gt;&lt;a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/guest7f6eaae/gxtest-datapools-estructurados" title="GXtest - DataPools Estructurados"&gt;GXtest - DataPools Estructurados&lt;/a&gt;&lt;object style="margin: 0px;" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=dpoolsanim-090720152626-phpapp02&amp;amp;stripped_title=gxtest-datapools-estructurados"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=dpoolsanim-090720152626-phpapp02&amp;amp;stripped_title=gxtest-datapools-estructurados" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;"&gt;View more &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/guest7f6eaae"&gt;guest7f6eaae&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Necesitábamos brindar un mecanismo lo más intuitivo para el tester. En general, cuando un tester construye un caso de prueba, piensa por un lado las acciones que se tienen que ejecutar en la aplicación, y por otro lado varios conjuntos de datos para utilizar en esas acciones. &lt;/div&gt;&lt;div&gt;Por ejemplo, para un caso de prueba de "alta de países", nos puede interesar primero probar con el conjunto de datos &lt;span style="font-weight: bold;"&gt;1&lt;/span&gt;, que referido a Uruguay, con los departamenteos Salto, Paysandú y Montevideo, etc., y luego el conjunto de datos &lt;span style="font-weight: bold;"&gt;2&lt;/span&gt; para Argentina, con las provincias de Río Negro, Corrientes y Santa Fe.&lt;/div&gt;&lt;div&gt;Eso es lo que intenta expresar cada "Set Id": todos los datos, en los distintos datapools, se agrupan por el identificador de conjunto de dato.&lt;br /&gt;Es similar a cuando uno piensa los datos de prueba para cada caso. Se agrupan, se definen e identifican.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Se entendió la idea? Se aceptan sugerencias!!&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-6655709766694405746?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/6655709766694405746/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6655709766694405746' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6655709766694405746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6655709766694405746'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/07/datapools.html' title='DataPools'/><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://2.bp.blogspot.com/_C6WXtbAB2qc/Sm4Qf0ji4kI/AAAAAAAAJT8/ejitjQCANEk/s72-c/knot-structured-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6476797328313743433</id><published>2009-07-24T06:10:00.000-07:00</published><updated>2009-07-24T10:08:22.840-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>Composición de Comandos</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;El amigo &lt;a href="http://blog.marcoscrispino.com/"&gt;Marcos&lt;/a&gt;  nos sugirió una idea que está muy interesante: dar la posibilidad al usuario de componer comandos.&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_7NSbjETmgUA/Smm12MZ5FmI/AAAAAAAAD1A/cxnOJKxuRhQ/s320/cadena_conductoras_intermediarias_detalle.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5362016774008673890" /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Como sería esto? Por ejemplo si siempre para hacer &lt;i&gt;login&lt;/i&gt; en mi aplicación ingreso dos campos (usuario y password) y luego presiono el boton de &lt;i&gt;ingresar&lt;/i&gt;, sería deseable poder llamarle a esas tres acciones &lt;i&gt;Login&lt;/i&gt; y utilizarlas donde quiera como un comando común.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://2.bp.blogspot.com/_C6WXtbAB2qc/SmnpAXzBvjI/AAAAAAAAJT0/kzBxPeG5ubM/s320/Dibujo.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 116px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5362073023958597170" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hoy en día, si quiero hacer esto, lo más práctico es hacer un caso de prueba similar al de la figura, llamado &lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;login,&lt;/span&gt;&lt;/i&gt; &lt;/b&gt;que haga estas tres acciones y luego incluirlo en el caso de prueba que desee (en la imagen las acciones estarían asociadas a la arista &lt;i&gt;login&lt;/i&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La ventaja que tiene poder componer comandos (aparte de la puerta que abre para crear cosas bastante sofisticadas) es la posibilidad de dejar más compactos los casos de prueba sin necesidad de tener que incluir casos de prueba para representar acciones comunes en la aplicación.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Formalizando un poco el planteo, el requerimiento sería poder definir nuevos comandos (esto implica nombre y tipo de comando -evento, accion o validación-) el cual recibe una lista de &lt;i&gt;N &lt;/i&gt;parámetros, los cuales se mapean a una lista de&lt;i&gt; M&lt;/i&gt; comandos. Los parametros de los &lt;i&gt;M&lt;/i&gt; comandos podrán ser parte de los &lt;i&gt;N &lt;/i&gt;de entrada o simplemente tener valores fijos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Que les parece la idea? A nosotros nos pareció muy interesante y ya la anotmos en la &lt;a href="http://wiki.abstracta.com.uy/"&gt;wiki &lt;/a&gt;de Abstracta para implementarla más adelante.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Se aceptan sugerencias.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6476797328313743433?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/6476797328313743433/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6476797328313743433' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6476797328313743433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6476797328313743433'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/07/composicion-de-comandos.html' title='Composición de Comandos'/><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://1.bp.blogspot.com/_7NSbjETmgUA/Smm12MZ5FmI/AAAAAAAAD1A/cxnOJKxuRhQ/s72-c/cadena_conductoras_intermediarias_detalle.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-4857123473369268977</id><published>2009-07-23T07:10:00.000-07:00</published><updated>2009-07-23T08:15:08.698-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Emprendiendo en Uruguay'/><category scheme='http://www.blogger.com/atom/ns#' term='Historia'/><title type='text'>Nuevo socio de la CUTI: Abstracta</title><content type='html'>&lt;div&gt;Abstracta es ahora &lt;a href="http://www.cuti.org.uy/Default.aspx?tabid=134"&gt;socio de la CUTI&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7NSbjETmgUA/SmhxtbwfxoI/AAAAAAAAD04/Qlf8NQnMnyM/s1600-h/Cuti-nuevos+socios.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 226px;" src="http://3.bp.blogspot.com/_7NSbjETmgUA/SmhxtbwfxoI/AAAAAAAAD04/Qlf8NQnMnyM/s320/Cuti-nuevos+socios.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5361660381743793794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nos hicimos socios aprovechando un nuevo programa que tiene la CUTI para emprendimientos nuevos. La CUTI en conjunto con varios actores de gran peso están apoyando de diversas maneras los emprendimientos en Uruguay. Esto es muy bueno para todos, no solo para los emprendedores sino también para todo Uruguay. Esperemos en unos años ver el fruto de toda esta movida.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La CUTI además de brindar una lista extensa de &lt;a href="http://www.cuti.org.uy/Default.aspx?tabid=232"&gt;servicios&lt;/a&gt; a los socios, nos permite contar con un apoyo importante a la hora de salir a vender nuestro producto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Otros beneficios importantes son: el pertenecer al programa Bizpark de Microsoft, del que hablamos hace un tiempo en &lt;a href="http://abstracta-soft.blogspot.com/2008/11/microsoft-lanza-bizspark-para-startups.html"&gt;este post&lt;/a&gt;, y también &lt;a href="http://www.fengoffice.com/"&gt;FengOffice&lt;/a&gt; gratis por 3 años!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Habrá que sacarle jugo a todas estas cosas!!&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-4857123473369268977?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/4857123473369268977/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=4857123473369268977' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4857123473369268977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/4857123473369268977'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/07/nuevo-socio-de-la-cuti-abstracta.html' title='Nuevo socio de la CUTI: Abstracta'/><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://3.bp.blogspot.com/_7NSbjETmgUA/SmhxtbwfxoI/AAAAAAAAD04/Qlf8NQnMnyM/s72-c/Cuti-nuevos+socios.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-2494455989693259556</id><published>2009-07-13T21:00:00.000-07:00</published><updated>2009-07-20T10:38:06.353-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Historia'/><title type='text'>Nuevas Oficinas (II)</title><content type='html'>&lt;div style="text-align: left;"&gt;El título de este post no significa que ya nos mudamos de nuevo! sino que tenemos noticias con respecto a lo que propusimos en &lt;a href="http://abstracta-soft.blogspot.com/2009/04/nuevas-oficinas.html"&gt;"Nuevas Oficinas"&lt;/a&gt;.  A partir del mes de julio tenemos &lt;i&gt;roomates&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Se trata de algo que no nos imaginamos en un comienzo. Nosotros buscábamos una pequeña empresa que esté en la misma que nosotros. No es exactamente así, los que se vienieron al apto son tres freelancers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bienvenidos Nacho, Gerva y Nando!&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_C6WXtbAB2qc/SlvMRLhwclI/AAAAAAAAJTs/Lazk43YtdwQ/s320/grin432l.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 248px; height: 320px;" alt="" id="BLOGGER_PHOTO_ID_5358100777211556434" border="0" /&gt;&lt;/div&gt;&lt;div&gt;De todos modos estamos con la ambisión de conseguir algún otro interesado, ... el apto es grande y se presta para más! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;De paso aprovechamos y nos pusimos a pintar :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_C6WXtbAB2qc/SlvLaNBdGZI/AAAAAAAAJTk/fbgm9AU2FW0/s320/pintando_Torre_Patria.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" alt="" id="BLOGGER_PHOTO_ID_5358099832720136594" border="0" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-2494455989693259556?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/2494455989693259556/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=2494455989693259556' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2494455989693259556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2494455989693259556'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/06/nuevas-oficinas-ii.html' title='Nuevas Oficinas (II)'/><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/_C6WXtbAB2qc/SlvMRLhwclI/AAAAAAAAJTs/Lazk43YtdwQ/s72-c/grin432l.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-8191721802364765812</id><published>2009-07-07T14:46:00.000-07:00</published><updated>2009-07-07T14:03:01.590-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='Metodología'/><title type='text'>Test cases resistentes a parametrizaciones</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Problema:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Tengo un Test Case para el caso de uso de "Alta de producto". Este caso de prueba debe funcionar y testear correctamente el caso de uso para cada una de las parametrizaciones deseadas. &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Esto significa, hacer un Test Case que sea resistente a las parametrizaciones. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_xDsTqyrVo3E/SlNUr-XX6GI/AAAAAAAAAhE/lFQMt_lq6z8/s400/3522364923_7f37715eac.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5355717496325793890" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En las aplicaciones desarrolladas con GeneXus es muy típico que se permitan muchos tipos de parametrizaciones, y esto trae asociado ciertas complicaciones: las respuestas esperadas válidas varían según cómo esté parametrizada la aplicación, incluso el flujo a recorrer. Esto implica que al modelar un Test Case se tengan que agregar bifurcaciones en el flujo, las cuales se guíen por decisiones basadas en los valores de estas parametrizaciones. El tema es que hay que ver cómo averiguar (dentro del Test Case) cuáles son los valores de esas parametrizaciones al momento de estar ejecutando.&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;¿Cómo hacer Test Cases soportando parametrizaciones? ¿cómo tomar estos valores de parametría al momento de la ejecución, sin tener que indicárselos manualmente? Voy a sugerir algunas soluciones, alguna es aplicable en distintas herramientas, otra (la más eficiente) es más específica para GXtest, aunque se puede hacer algo similar en otros ambientes también.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;El objetivo es tomar los valores de los parámetros que afectan al caso de uso.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Solución #1:&lt;/b&gt; hacer un Test Case por cada una de las combinaciones de parámetros. Esto evidentemente tiene la desventaja de que se duplica trabajo y se aumentan los puntos de falla.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Solución #2:&lt;/b&gt; diseño Test Cases auxiliares que sirvan para consultar esos parámetros y estos se cargan en variables (o lo que maneje la herramienta), y entonces de esa forma en el Test Case de&lt;i&gt; "Alta producto"&lt;/i&gt; ejecuto primero los Test Cases auxiliares que consultan parámetros, y luego se hacen las decisiones en base a las variables cargadas. La principal desventaja es que esto hace que se vaya por muchas pantallas innecesariamente, consumiendo más tiempo de ejecución para cada Test Case que requiera consultar parámetros. Además, es necesario automatizar Test Cases que tal vez no son incluidos en el conjunto de pruebas de regresión, o sea, que no estaban planeados en la automatización.&lt;/div&gt;&lt;div&gt;Otra desventaja es que si llega a fallar uno de los Test Cases que toman parámetros, entonces no se podrá ejecutar el Test Case principal.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;Solución #3:&lt;/b&gt; la que creemos más eficiente es con ProcGX, los cuales se desarrollen específicamente para devolver los valores de los parámetros que se necesitan. Desde GXtest es posible cargar en variables el resultado de la invocación a un ProcGX y luego tomar bifurcaciones en base a estas variables (pero esto es útil &lt;i&gt;as well&lt;/i&gt; en otras herramientas en las que se pueda invocar a Web Services). La ventaja es que en tiempo de ejecución es más eficiente, así como en tiempo de desarrollo. La desventaja es que el tester "depende" del desarrollador para esta tarea.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" border-collapse: collapse;  font-family:arial;font-size:13px;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Un comentario al margen es que las parametrizaciones en los casos de prueba es un tema ligado con a &lt;a href="http://abstracta-soft.blogspot.com/search/label/Software%20Product%20Lines"&gt;Líneas de productos&lt;/a&gt; de lo cual hemos hablado en el blog. Ese enfoque nos podría permitir derivar los casos de prueba a partir de la línea de producto específica que tengamos, permitiendo de ese modo no solo crear sistemas más sencillos y específicos sino también casos de prueba más prolijos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Alguien más se ha chocado con este problema? ¿alguna otra solución que se les ocurra?&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-8191721802364765812?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/8191721802364765812/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=8191721802364765812' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8191721802364765812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/8191721802364765812'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/07/test-cases-resistentes.html' title='Test cases resistentes a parametrizaciones'/><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/_xDsTqyrVo3E/SlNUr-XX6GI/AAAAAAAAAhE/lFQMt_lq6z8/s72-c/3522364923_7f37715eac.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-1630103030509298720</id><published>2009-06-22T15:43:00.000-07:00</published><updated>2009-06-24T10:52:25.798-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'>Testing is not a phase!</title><content type='html'>&lt;div&gt;Cómo aprendemos sobre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;testing&lt;/span&gt;? cómo usamos el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;testing&lt;/span&gt; en nuestros desarrollos?&lt;/div&gt;&lt;div&gt;Estará eso vinculado?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En nuestro caso en la facultad vivimos un proceso un poco estricto, que se refleja bastante en la industria:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;primero matemáticas y materias formativas, nos ayudan a crear el pensamiento abstracto y lógico&lt;/li&gt;&lt;br /&gt;&lt;li&gt;programación básica, estructurada y usando constructores fundamentales&lt;/li&gt;&lt;br /&gt;&lt;li&gt;programación con tipos abstractos de datos&lt;/li&gt;&lt;br /&gt;&lt;li&gt;programación con algoritmos sobre estructuras de datos&lt;/li&gt;&lt;br /&gt;&lt;li&gt;programación orientada a objetos (en c++)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;un lenguaje con más abstracción (java)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;mechado por ahí tenemos sistemas operativos, arquitectura, y otras yerbas&lt;/li&gt;&lt;br /&gt;&lt;li&gt;luego, un proceso pesado como lo es el &lt;a href="http://es.wikipedia.org/wiki/RUP"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;RUP&lt;/span&gt;&lt;/a&gt;, poniéndolo en práctica en un grupo de 12 a 14 personas. Recién en estas materias se ve algo de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;testing&lt;/span&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;para 4&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;to&lt;/span&gt; o 5&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;to&lt;/span&gt; año hay una electiva (en la que participamos como docentes Diego &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Vallespir&lt;/span&gt;, Mónica W. del &lt;a href="http://www.ces.com.uy"&gt;CES&lt;/a&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Matías&lt;/span&gt; y yo) llamada &lt;a href="http://www.fing.edu.uy/inco/cursos/tvs/pmwiki/field.php?n=Curso.Curso"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;TVS&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Qué nos deja esto? que el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Testing&lt;/span&gt; es algo que queda para el final, ... oh vaya casualidad! no es esto lo que pasa generalmente en el desarrollo? Por eso se habla tanto de la "etapa de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;testing&lt;/span&gt;", cuando en realidad debería ir más de la mano con el desarrollo en sí.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hace poco participé de una reunión en facultad (con integrantes del &lt;a href="http://www.ces.com.uy"&gt;CES&lt;/a&gt; también) en la que se demostraba el interés por cambiar esto, y comenzar el cambio desde la enseñanza, mostrando que el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;testing&lt;/span&gt; no es una etapa, no es algo que se hace al final, sino que es una tarea que acompaña y &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;retroalmienta&lt;/span&gt; al desarrollo desde un principio.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A nosotros nos interesó hablarles de esto para contarles de una funcionalidad de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;GXtest&lt;/span&gt; en realidad, que tiene como objetivo en gran medida permitir que las pruebas automatizadas se lleven en conjunto con el desarrollo. Si bien esto no es lo único importante para acompañar el desarrollo con el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;testing&lt;/span&gt;, es nuestro granito de arena.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ya por usar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Genexus&lt;/span&gt; tenemos la posibilidad de ir probando nuestros "prototipos", que en realidad son la aplicación en sus orígenes. La idea con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Genexus&lt;/span&gt; (tal como lo dicen los manuales) es ir desarrollando una serie de prototipos que van creciendo y tomando forma hasta tener la aplicación. La gran ventaja es que podemos &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;testear&lt;/span&gt; desde los primeros días de desarrollo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Con &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;GXtest&lt;/span&gt; pretendemos que sea posible automatizar las pruebas desde lo antes posible.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Qué problemas pueden ocurrir con esto? los obvios, de que automaticemos pruebas, y al continuar el desarrollo de la aplicación nuestras pruebas se rompan por los propios cambios introducidos al evolucionar el desarrollo.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Ya que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;GXtest&lt;/span&gt; está "atado" o "enganchado" a la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;KB&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Genexus&lt;/span&gt;, es posible tener pruebas automatizadas para una versión de la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;KB&lt;/span&gt; y que al momento en que se haga un nuevo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;deploy&lt;/span&gt; en el ambiente de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;testing&lt;/span&gt;, también se actualice la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;KB&lt;/span&gt; que maneja &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;GXtest&lt;/span&gt; en sus &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;TestCases&lt;/span&gt;, para que estos se ajusten a los cambios ingresados. El objetivo es que esta tarea de "impactar la nueva &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;KB&lt;/span&gt; sobre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;GXtest&lt;/span&gt;" sea lo más automática posible, aunque para algunos casos particulares requerirá de la asistencia del usuario.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Ejemplo&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;rename&lt;/span&gt; de objetos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;referenciados&lt;/span&gt; en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;TestCases&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;rename&lt;/span&gt; de controles &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;referenciados&lt;/span&gt; en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;TestCases&lt;/span&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;delete&lt;/span&gt; de objetos o controles &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;referenciados&lt;/span&gt; en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;TestCases&lt;/span&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;nuevos objetos o controles, cambios en objetos no utilizados &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;También entra en juego el buen criterio para la planificación de la automatización de cada prueba. Consideramos que está bueno automatizar e incluir lo antes posible en el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;set&lt;/span&gt; de pruebas de regresión automatizadas una funcionalidad, pero también hay que ver que esté &lt;i&gt;estable &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;enough&lt;/span&gt;&lt;/i&gt; como para que no me implique tanto trabajo hacer el mantenimiento a ese &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;TestCase&lt;/span&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Esta necesidad de planificación la contamos también desde la experiencia por las pruebas automatizadas que armamos para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;GXtest&lt;/span&gt; en su desarrollo.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5350304019433766418" style="margin: 0px auto 10px; display: block; width: 210px; cursor: pointer; height: 210px; text-align: center;" alt="" src="http://4.bp.blogspot.com/_C6WXtbAB2qc/SkAZKJaxvhI/AAAAAAAAIVI/o3udB2uo-M8/s320/computer-monkey-210.jpg" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Es importante por comenzar al menos por un conjunto simple de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;Test&lt;/span&gt; Cases, pero comenzar temprano! Luego que tenemos la "infraestructura de pruebas" aceitada, es más fácil agregar nuevas pruebas al conjunto de pruebas de regresión. En cambio si esperamos para tener un conjunto más amplio de funcionalidades para automatizar, demoraremos más en obtener los beneficios.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;De lo que estamos seguros también es que no consideramos al &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;testing&lt;/span&gt; como una fase, o como algo que hay que dejar para el final, ... tal vez eso por la experiencia que nos ha dado trabajar en el &lt;a href="http://www.ces.com.uy"&gt;CES&lt;/a&gt; y la preocupación por la calidad del producto que nos ha inculcado esa "escuela" que tuvimos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Gracias &lt;a href="http://3dgiordano.blogspot.com/"&gt;David&lt;/a&gt; por el &lt;a href="http://methodsandtools.com/PDF/mt200902.pdf"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;link&lt;/span&gt; a la revista M&amp;amp;T&lt;/a&gt; de donde nos inspiramos para este post!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-1630103030509298720?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/1630103030509298720/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=1630103030509298720' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1630103030509298720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/1630103030509298720'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/06/testing-is-not-phase.html' title='Testing is not a phase!'/><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/_C6WXtbAB2qc/SkAZKJaxvhI/AAAAAAAAIVI/o3udB2uo-M8/s72-c/computer-monkey-210.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-5323484339526075550</id><published>2009-06-16T13:53:00.000-07:00</published><updated>2009-06-16T15:25:53.981-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><title type='text'>GXtest Avant Premiere - en el GUG</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El próximo sábado 20 de junio a las 11 horas e&lt;span&gt;&lt;span&gt;n la Pizzería armenia Nairi  (Agraciada 3560 y Buschental) tendremos el agrado de presentar en el primer &lt;a href="http://gugmontevideo.wordpress.com/"&gt;GUG Montevideo&lt;/a&gt; de este año. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_C6WXtbAB2qc/Sjgbdc7ExII/AAAAAAAAIUo/fZJ6a-P7zo0/s320/mgm-logo.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 202px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5348054750296589442" /&gt;&lt;/div&gt;El título de la charla es "GXtest Avant Premiere", y ya que se acerca la fecha de su liberación, la idea es mostrar los avances en el desarrollo de GXtest y las funcionalidades que tendrá la primer versión que estará disponible para el próximo evento GeneXus.&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;Habrán otras charlas muy interesantes las cuales se listan en el blog del Grupo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Esperamos verlos por ahi.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Qué bueno que vamos de nuevo con &lt;span&gt;&lt;span&gt;los lehmeyunes  de&lt;/span&gt;&lt;/span&gt; Gustavo!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-5323484339526075550?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/5323484339526075550/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=5323484339526075550' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5323484339526075550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/5323484339526075550'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/06/gxtest-avant-premiere-en-el-gug.html' title='GXtest Avant Premiere - en el GUG'/><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/_C6WXtbAB2qc/Sjgbdc7ExII/AAAAAAAAIUo/fZJ6a-P7zo0/s72-c/mgm-logo.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-9195335371397108993</id><published>2009-06-09T13:02:00.000-07:00</published><updated>2009-06-10T10:42:22.953-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>Interoperabilidad de GXtest (II)</title><content type='html'>&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7NSbjETmgUA/Si7ZIZe_SDI/AAAAAAAADjo/L8dL9m50dWo/s1600-h/xml7.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5345448546038401074" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 305px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_7NSbjETmgUA/Si7ZIZe_SDI/AAAAAAAADjo/L8dL9m50dWo/s320/xml7.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Como mencionamos en un &lt;a href="http://abstracta-soft.blogspot.com/2009/05/interoperabilidad-de-gxtest.html"&gt;post anterior&lt;/a&gt;, es de interés del equipo que GXtest pueda interoperar de la mejor manera posible con otras aplicaciones.&lt;br /&gt;&lt;div&gt;Una de las formas de interoperar es dar la posibilidad de crear casos de prueba con una herramienta externa, ya sea porque se quieren crear de manera automática en base a metadata de la aplicación, en base a un modelo de la aplicación, o porque simplemente se desean escribir a mano los casos de prueba. Sobre los motivos ya hablamos mejor en el post anterior, así que en este queríamos mostrarles algo más concreto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En particular en &lt;a href="http://wiki.abstracta.com.uy/index.php?title=Test_Cases_-_XML"&gt;esta&lt;/a&gt; página de la wiki de Abstracta van a poder encontrar información sobre el XML que se debe generar para crear casos de prueba para que luego se puedan importar en GXtest.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Se buscó diseñar un XML bien sencillo para poder disminuir la dificultad de realizar esta tarea.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Si bien es una versión inicial, ya da la posibilidad de ir "abriendo la cancha" para quien quiera probar sus ideas de generación de Casos de Prueba. Seguramente a medida que algunas personas comiencen a usar este mecanismo se irá puliendo el mismo para hacerlo más sencillo para quien desarrolle la aplicación de generación de casos de prueba.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como siempre todas las sugrencias y aportes son bienvenidos!!! &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-9195335371397108993?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/9195335371397108993/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=9195335371397108993' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/9195335371397108993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/9195335371397108993'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/06/interoperabilidad-de-gxtest-ii.html' title='Interoperabilidad de GXtest (II)'/><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://1.bp.blogspot.com/_7NSbjETmgUA/Si7ZIZe_SDI/AAAAAAAADjo/L8dL9m50dWo/s72-c/xml7.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6867276066881704305</id><published>2009-06-05T17:09:00.000-07:00</published><updated>2009-06-08T08:51:53.788-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>Pruebas de Regresión (II)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.arielmebahel.com.ar/img/regresion.gif" style="text-decoration: none;"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 250px; height: 196px;" src="http://www.arielmebahel.com.ar/img/regresion.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En un &lt;a href="http://abstracta-soft.blogspot.com/2008/10/pruebas-de-regresin.html"&gt;post anterior&lt;/a&gt; ya hablamos algo del concepto de pruebas de regresión. Ahora, ¿qué es lo que se busca hacer al automatizar este tipo de pruebas? (más allá de los detalles sobre el origen de su nombre). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Algunas ideas tomadas de distintas charlas con varias personas:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Desarrollador:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Quiero hacer cambios sobre la aplicación, pero me da miedo de romper otras cosas. Ahora, testearlas todas de nuevo me da mucho trabajo. Ejecutar pruebas automatizadas me da un poco de tranquilidad de que con los cambios que hago las cosas que tengo automatizadas siguen funcionando.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Tester&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Mientras automatizo voy viendo que la aplicación funciona como es deseado, y luego se que lo que tengo automatizado ya está probado, dándome lugar a dedicar mi tiempo a otras pruebas, con lo cual puedo garantizar más calidad del producto.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Desarrollador&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Hay veces que no innovo por miedo a romper, principalmente cuando tengo sistemas muy grandes, que cambios en un módulo pueden afectar a muchas funcionalidades.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Usuario&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Cuando me dan una nueva versión de la aplicación no hay nada peor que encontrar que lo que ya andaba dejó de funcionar. Si el error es sobre algo nuevo, se entiende, pero que sea sobre algo que ya se suponía que andaba cuesta más. Las pruebas de regresión me pueden ayudar a que esto no pase.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;A ustedes: ¿para qué otras cosas les parece que pueden servir las pruebas de regresión?&lt;/div&gt;&lt;div&gt;Las pruebas de regresión: ¿hay que automatizarlas si o si? ¿O se pueden hacer total o parcialmente de manera manual?&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-6867276066881704305?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/6867276066881704305/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6867276066881704305' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6867276066881704305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6867276066881704305'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/06/pruebas-de-regresion-ii.html' title='Pruebas de Regresión (II)'/><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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6102168870050900352</id><published>2009-05-19T08:54:00.000-07:00</published><updated>2009-05-20T10:25:02.983-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'>Curso de Introducción al Testing Funcional</title><content type='html'>&lt;div&gt;El &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;testing&lt;/span&gt; es un área que está tomando cada día más fuerza, incluso en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Uruguay&lt;/span&gt;. &lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pueden verse cada vez más empresas que brindan servicios de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;testing&lt;/span&gt;, o en nuestro caso, vamos a ser una empresa que brinde productos de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;testing&lt;/span&gt;. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Matías&lt;/span&gt; y yo en particular comenzamos trabajando en el área de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;testing&lt;/span&gt; en el &lt;a href="http://www.ces.com.uy/"&gt;CES (Centro de Ensayos de Software)&lt;/a&gt; y en estos cuatro años hemos notado la diferencia (evolución) en el mercado de cómo cada vez la gente se preocupa más por estos temas, y por suerte, cómo son &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;cáda&lt;/span&gt; vez más los que intentan hacer mejor las cosas.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En particular, esta vez les queremos compartir la noticia sobre un curso, el cual está en el marco de algo que la &lt;a href="http://www.cuti.org.uy/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;CUTI&lt;/span&gt;&lt;/a&gt; le llama &lt;a href="http://www.haceclick.com.uy/"&gt;"&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Hacé&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Clic&lt;/span&gt;"&lt;/a&gt;. Se trata de distintos cursos virtuales que parecen estar destinados preferentemente a gente joven como para que ingresen en el mercado laboral de TI.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_C6WXtbAB2qc/ShNWOl6zxGI/AAAAAAAAIBw/KguA3Vn38SU/s320/haceclic.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 181px;" alt="" id="BLOGGER_PHOTO_ID_5337704792061101154" border="0" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por lo que vi hay muchos cursos. Para seguir con el tema inicial, les queríamos recomendar uno que se llama &lt;span class="Apple-style-span" style="font-style: italic; font-weight: bold;"&gt;Introducción al &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Testing&lt;/span&gt; Funcional&lt;/span&gt; el cual está armado por el CES, el cual es el referente en el tema en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Uruguay&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La página muestra lo interesante de la iniciativa. También se pueden ver una &lt;a href="http://www.haceclick.com.uy/index.php?option=com_content&amp;amp;view=article&amp;amp;id=184&amp;amp;Itemid=80"&gt;serie de charlas&lt;/a&gt; que se estarán dando en liceos de todo el país.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Realmente está muy buena la iniciativa, esperemos les vaya muy bien, y se logre generar una masa crítica de gente capacitada como para darle más empuje al Software uruguayo, y si es con calidad, mejor!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este tipo de cursos que está brindando la CUTI, me hace recuerdar una conversación que tuve una vez con un antiguo jefe en el CES, en donde me decía que es el colmo que hayan ingenieros que trabajan de programadores. Qué necesidad de hacer una carrera tan larga y compleja para poder trabajar como desarrollador. Además, se necesita también gente con conocimientos técnicos, más concretos. Mucha gente intenta y no triunfa, haciendo que la facultad sea en cierta forma ineficiente en su fin, el cual es formar ingenieros.&lt;br /&gt;Este tipo de cursos puede ayudar a formar más gente en el área y que cada uno pueda estar más a gusto con su trabajo. A ustedes que les parece?&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-6102168870050900352?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/6102168870050900352/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6102168870050900352' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6102168870050900352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6102168870050900352'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/05/curso-de-introduccion-al-testing.html' title='Curso de Introducción al Testing Funcional'/><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/_C6WXtbAB2qc/ShNWOl6zxGI/AAAAAAAAIBw/KguA3Vn38SU/s72-c/haceclic.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-3728573266336741017</id><published>2009-05-17T16:07:00.000-07:00</published><updated>2009-05-18T05:23:45.218-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Emprendiendo en Uruguay'/><category scheme='http://www.blogger.com/atom/ns#' term='Emprendedurismo'/><title type='text'>Conferencia "Innovación, creatividad y emprendedurismo" - Eduardo Kastika</title><content type='html'>&lt;img src="http://3.bp.blogspot.com/_C6WXtbAB2qc/ShCZhlb29CI/AAAAAAAAIBM/bIdGMSm-Glo/s320/E-folleto_conferencia_Eduardo_Kastika.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 256px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5336934360697730082" /&gt;Acá les dejamos una conferencia más sobre temas de interés para emprendedores.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Es la segunda que aparece en la lista de &lt;a href="http://www.emprendedoresucu.com/eventosyactividades.htm"&gt;esta página&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;De paso revisen el resto de la lista que pueden haber más cosas que les resulten de interés.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-3728573266336741017?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/3728573266336741017/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=3728573266336741017' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3728573266336741017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/3728573266336741017'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/05/conferencia-innovacion-creatividad-y.html' title='Conferencia &quot;Innovación, creatividad y emprendedurismo&quot; - Eduardo Kastika'/><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/_C6WXtbAB2qc/ShCZhlb29CI/AAAAAAAAIBM/bIdGMSm-Glo/s72-c/E-folleto_conferencia_Eduardo_Kastika.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6724482877620677578</id><published>2009-05-13T16:01:00.000-07:00</published><updated>2009-05-14T03:45:49.260-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Emprendiendo en Uruguay'/><category scheme='http://www.blogger.com/atom/ns#' term='Emprendedurismo'/><category scheme='http://www.blogger.com/atom/ns#' term='Alianzas'/><title type='text'>1era convocatoria 2009: Emprendedores Dinámicos de la Facultad de Ingeniería</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Nos llegó un mail en donde se difundía la noticia. Es un poco sobre la fecha, pero como tenemos también el propósito de transmitir todo lo que apoye al emprendedurismo, aquí les dejamos el link.&lt;br /&gt;Además, la &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ricaldoni.org.uy/"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Fundación Ricaldoni&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; nos ha apoyado ya desde el comienzo de nuestro emprendimiento a través del &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.farq.edu.uy/ebt/"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;EBT (Emprendimiento de Bases Tecnológicas)&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; hasta el día de hoy tutoreándonos en el proyecto con la &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.anii.org.uy/"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ANII (&lt;/span&gt;&lt;/span&gt;&lt;em&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Agencia Nacional de Investigación e Innovación)&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_C6WXtbAB2qc/SgtSR8ApFDI/AAAAAAAAIAs/j5ZE6gT5XkQ/s1600-h/ricaldoni.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 456px; height: 75px;" src="http://2.bp.blogspot.com/_C6WXtbAB2qc/SgtSR8ApFDI/AAAAAAAAIAs/j5ZE6gT5XkQ/s320/ricaldoni.jpg" alt="" id="BLOGGER_PHOTO_ID_5335448651670557746" border="0" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;El mail decía lo siguiente:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="" lang="ES-TRAD"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Les recordamos que el viernes &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;15 de mayo de 2009 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;a las&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; 13 horas &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;vence la primera convocatoria 2009 del proyecto &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"Emprendedores Dinámicos de la Facultad de Ingeniería"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;, realizado por la Fundación Julio Ricaldoni con el apoyo del Programa Emprender*. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span&gt;&lt;span style="" lang="ES-TRAD"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;El objetivo del proyecto es apoyar la creación de emprendimientos dinámicos de base tecnológica a través del respaldo del desarrollo de prototipos y/o ensayos relacionados principalmente con proyectos de la Facultad de Ingeniería de la Universidad de la República.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;La Fundación Ricaldoni brindará a los proyectos seleccionados hasta US$ 2.500 en adquisición de bienes y/o servicios para el desarrollo del prototipo y/o ensayo, así como también apoyo técnico de un tutor especialista en el área del conocimiento relevante y capacitación en cursos adaptados a las necesidades de cada emprendimiento. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin-bottom: 12pt;"&gt;&lt;span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Las bases se pueden consultar en&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="www.ricaldoni.org.uy/emprender.htm"&gt;www.ricaldoni.org.uy/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="www.ricaldoni.org.uy/emprender.htm"&gt;&lt;wbr&gt;emprender.htm&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-6724482877620677578?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/6724482877620677578/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6724482877620677578' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6724482877620677578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6724482877620677578'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/05/1era-convocatoria-2009-emprendedores.html' title='1era convocatoria 2009: Emprendedores Dinámicos de la Facultad de Ingenierí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://2.bp.blogspot.com/_C6WXtbAB2qc/SgtSR8ApFDI/AAAAAAAAIAs/j5ZE6gT5XkQ/s72-c/ricaldoni.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-609534843311214319</id><published>2009-05-11T12:41:00.000-07:00</published><updated>2009-05-13T05:58:39.920-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><title type='text'>Interoperabilidad de GXtest</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.vico.org/aRecursosPrivats/__ClipsPerEnganxarMail/LegoPeces_p.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 256px;" src="http://www.vico.org/aRecursosPrivats/__ClipsPerEnganxarMail/LegoPeces_p.jpg" alt="" border="0" /&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;En el post anterior, hablabamos de la extensibilidad en GXtest, hoy en este caso nos interesa hablar sobre la interoperabilidad.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GXtest nos permite crear casos de prueba utilizando un editor gráfico de casos de prueba bastante amigable. Sin embargo, hay veces que es interesante hacer un programa que genere los casos de prueba de manera automática, de acuerdo a algún modelo o especificación de alto nivel. &lt;/div&gt;&lt;div&gt;Un ejemplo de esto puede ser el querer generar casos de prueba para un &lt;a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Patterns+References,"&gt;pattern &lt;/a&gt;determinado. Supongamos que queremos testear que el pattern &lt;a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?PatternsWorkWithSP,"&gt;WorkWith&lt;/a&gt; haya hecho las cosas bien para nuestra aplicación. En ese caso, los casos de prueba básicos sobre el WorkWith se podrían llegar a crear de manera automática y luego ser ejecutados por GXtest.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para poder brindar esto, necesitamos tener una especificación clara (utilizando en parte un XSD) de cómo debe ser un documento XML que describa un caso de prueba en GXtest. De esta manera, fácilmente un programa puede generar casos de prueba que luego puedan ser importados y ejecutados en GXtest. &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Esto da un gran potencial para la generación de casos de pruebas basados en modelos específicos para cada realidad&lt;/span&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por otro lado, a mediano plazo pensamos integrar GXtest al IDE de GeneXus, lo que permitirá desarrollar otros plugins de GeneXus que utilicen servicios expuestos por GXtest.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por último (y dentro de las funcionalidades que va a presentar &lt;a href="http://wiki.abstracta.com.uy/index.php?title=Overview#GXtest_Server"&gt;GXtest Server&lt;/a&gt;) se va a permitir ejecutar casos de prueba o suites de casos de prueba definidos en GXtest desde afuera del mismo. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Que otros mecanismos les parecen interesantes?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-609534843311214319?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/609534843311214319/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=609534843311214319' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/609534843311214319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/609534843311214319'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/05/interoperabilidad-de-gxtest.html' title='Interoperabilidad de GXtest'/><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><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-7748651075630727087</id><published>2009-05-03T09:06:00.000-07:00</published><updated>2009-05-04T13:47:41.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GxTest'/><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'>Extensibilidad de GXtest</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xDsTqyrVo3E/Sf8sP8ShOzI/AAAAAAAAAf8/-EjmvmlyRQc/s1600-h/Puzzle.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_xDsTqyrVo3E/Sf8sP8ShOzI/AAAAAAAAAf8/-EjmvmlyRQc/s400/Puzzle.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5332029136223419186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;div&gt;Puntos muy importantes en una herramienta son la posibilidad de extender sus funcionalidades y la posibilidad de interoperar con sus componentes . Esto posibilita a los usuarios agregar nuevas funcionalidades o simplemente contemplar particularidades específicas de cada realidad.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GXtest permite hoy en día dos mecanismos de extensión, uno es agregando &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Custom Commands&lt;/span&gt;&lt;/span&gt; y otro es por medio de invocaciones a &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;procedimientos GeneXus&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;,&lt;/span&gt;&lt;/span&gt; para agregar validaciones y/o acciones sobre la aplicación bajo prueba.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GXtest le llama &lt;a href="http://wiki.abstracta.com.uy/index.php?title=Manual_de_Usuario_de_GXtest_Client#Comandos"&gt;comandos&lt;/a&gt; a la forma de describir las acciones que un usuario puede realizar en el navegador. Existen entonces una serie de comandos que permiten describir (prácticamente) todas las acciones que el usuario puede realizar con una aplicación GeneXus. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sin embargo hay veces que se desarrollan algunas secciones de la aplicación fuera de GeneXus, agregando algún javascript particular o algo similar. En esas situaciones puede ser que los comandos estándar no sirvan, y haya que desarrollar un &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Custom Command&lt;/span&gt;. Estos se dan de alta en GXtest ingresando el nombre que se le quiere dar, el tipo (acción, evento o validación), una descripción para los parámetros y el código javascript que implemente la acción del usuario. Luego este comando aparece listado como si fuera un comando estándar (el usuario no se da cuenta entre un comando estandar y uno desarrollado a través de este mecanismo).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Otro mecanismo es la posiblidad de agregar invocaciones a procedimientos GeneXus. Por ejemplo si se quiere validar algún estado de la aplicación a nivel de los datos luego de una serie de acciones interactivas, lo mejor es agregar un procedimiento GeneXus que se le pasen los parámetros necesarios (por ejemplo, nro de cliente, nro de factura, etc) y que devuelva si el estado es correcto o no. También se pueden utilizar para cargar datos que se van a suministrar como entrada en el caso de prueba. &lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;Otra posibilidad que brindan estos proc es para usarlos como funciones que son interesantes de tener en una herramienta de prueba, como por ejemplo generar un número randómico, generar un string randómico, concatenar string, etc. Si algún procesamiento no se puede realizar por medio de GXtest, se puede implementar un proc GX que solucione esa feature.&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;Para poder realizar una invocación a un procedimiento GeneXus, el mismo debe estar accesible vía WebServices desde la máquina que corre GXtest. Para dar de alta un procedimiento se ingresa el nombre, tipo (acción o validación), descripción y url al WSDL (esto permite leer los parámetros de entrada y salida del procedimiento). Luego que se da de alta queda accesible de manera transparente (al igual que los custom commands) para el usuario. &lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En el próximo post hablaremos de la interoperabilidad, intentaremos abrir la posibilidad de generar casos de prueba desde "afuera", o exponer servicios en el IDE de GeneXus.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;¿Que otros mecanismos les parece interesante de contemplar?&lt;br /&gt;&lt;/div&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;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-7748651075630727087?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/7748651075630727087/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=7748651075630727087' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7748651075630727087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/7748651075630727087'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/05/extensibilidad-de-gxtest.html' title='Extensibilidad de GXtest'/><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/_xDsTqyrVo3E/Sf8sP8ShOzI/AAAAAAAAAf8/-EjmvmlyRQc/s72-c/Puzzle.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-9465174077396016</id><published>2009-04-20T05:54:00.000-07:00</published><updated>2009-04-20T12:42:03.081-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Valores'/><title type='text'>El Personal en TI</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xDsTqyrVo3E/SeyUSbdFrNI/AAAAAAAAAf0/Yc7xAuW4-zw/s1600-h/HC.png"&gt;&lt;img style="text-align: center;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 294px; height: 400px; " src="http://1.bp.blogspot.com/_xDsTqyrVo3E/SeyUSbdFrNI/AAAAAAAAAf0/Yc7xAuW4-zw/s400/HC.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5326795503600774354" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;div&gt;&lt;a href="http://vida-y-obra-de-simon.blogspot.com/"&gt;Simon&lt;/a&gt;, me pasó &lt;a href="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&amp;amp;gid=52955&amp;amp;discussionID=1505609&amp;amp;sik=1236774910685&amp;amp;trk=ug_qa_q&amp;amp;goback=.ana_52955_1236774910685_3_1"&gt;este link&lt;/a&gt; en donde se armó una discusión muy interesante sobre el personal en TI.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hay muchas de las cosas que se mencionan en los comentarios que me hacen pensar en los lugares que he trabajado, en los que aún trabajo y sobre todo en la empresa que estamos forjando (&lt;a href="http://www.abstracta.com.uy/"&gt;Abstracta&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;La discusión en si está planteada por el lado de cuales son los perfiles más dificiles de recultar y los costos que cada uno implica, sin embargo lo que me pareció más interesante fue el punto de vista de que&lt;span class="Apple-style-span" style="font-weight: bold;"&gt; lo más importante no es como recultar sino como generar elementos valiosos dentro de la empresa, que luego hagan que la gente te elija a vos como empresa y sobre todo que la gente quiera seguir trabajando en tu empresa.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;También coincido con lo que se menciona de que ha medida que vas conociendo el ambiente de la informática sabés en que empresa está bueno trabajar y en cual no, eso acá en Uruguay que somos muy chicos es aún más notorio.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Estoy convencido que el personal en la empresa es lo más importante y que, el cuidado que se tengan con todos los múltiples asuntos que involucra, son claves en el exito de la empresa.&lt;/div&gt;&lt;div&gt;Hace unos meses Gustavo Carriquiri posteó sobre el tema de la importancia del &lt;a href="http://blog.genexus.com/guscarr/?p=266"&gt;Capital Humano&lt;/a&gt;, basado en una interesante entrevista a &lt;a href="http://www.ibermatica.com/ibermatica/i3b/2eai/CurriculumLuisDeLezama.htm"&gt;Luis de Lezema&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He tenido la suerte de conocer por dentro varias empresas (ya que me ha tocado trabajar en clientes por períodos de algunos meses) y es increíble como en poco tiempo te das cuenta qué tan a gusto está la gente con la empresa y que nivel de compromiso se tiene con los objetivos empresariales.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nosotros estamos recién arrancando y por ese motivo es un desafío aún mayor, ya que a diferencia de una empresa grande, los impactos que tiene que se vaya alguien de la empresa o que trabaje sin ganas son mucho mayores.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este mes se nos unió a Abstracta, &lt;a href="http://www.linkedin.com/in/sebagra"&gt;Sebastían Grattarola&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;Sebastían es un excelente profesional con el cual hemos tenido la posiblidad todos nosotros de compartir trabajo e incluso estudio. Creemos que nos vamos a integrar muy bien como grupo y que va a contribuir de gran manera en el fortalecimiento de Abstracta.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bienvenido Seba!!!&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&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3360428795422884065-9465174077396016?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/9465174077396016/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=9465174077396016' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/9465174077396016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/9465174077396016'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/04/el-personal-en-ti.html' title='El Personal en TI'/><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://1.bp.blogspot.com/_xDsTqyrVo3E/SeyUSbdFrNI/AAAAAAAAAf0/Yc7xAuW4-zw/s72-c/HC.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6381853734506118226</id><published>2009-04-06T13:56:00.000-07:00</published><updated>2009-04-21T13:31:04.944-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Historia'/><title type='text'>Nuevas oficinas</title><content type='html'>&lt;div style="text-align: left;"&gt;Abstracta se mudó de oficina. O sea, tenemos oficina. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_C6WXtbAB2qc/SdExK9lGh9I/AAAAAAAAH-8/IJH4ROFm_Nc/s1600-h/pag.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_C6WXtbAB2qc/SdExK9lGh9I/AAAAAAAAH-8/IJH4ROFm_Nc/s320/pag.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5319086699299899346" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 218px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Estamos en un apartamento frente a la Facultad de Ingeniería, en el edificio Torre Patria, piso 13 (hermosa vista). Lo positivo de la ubicación está más que nada en el hecho de estar cerca de la facultad, pensando en contratar estudiantes, como para que les sea más facil la conmutación entre estudio y trabajo.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Acá les dejamos la vista en Google Maps&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_C6WXtbAB2qc/SdE6EiwN6VI/AAAAAAAAH_E/Vo2e2ERMzP0/s1600-h/map.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_C6WXtbAB2qc/SdE6EiwN6VI/AAAAAAAAH_E/Vo2e2ERMzP0/s320/map.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5319096484624197970" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 170px; " /&gt;&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;Una idea que venimos carburando hace mucho es la de compartir el lugar con otra empresa de características similares a las nuestras. Por ahora somos pocos, gente con ganas de crecer y seguir adelante, trabajando en un ámbito de amistad, y disfrutando de lo que hacemos. &lt;/div&gt;&lt;div&gt;Esta idea trae muchas ventajas. Cada empresa trabajando en lo suyo, pero compartiendo conocimiento, cada cual con su &lt;span class="Apple-style-span" style="font-style: italic;"&gt;expertise&lt;/span&gt;, y a su vez teniendo la posibilidad de aprovechar la &lt;span class="Apple-style-span" style="font-style: italic;"&gt;expertise &lt;/span&gt;de los demás (o al menos, los mates de la tarde ... jeje).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Es por esto que estamos en búsqueda de un roommate (¿?)... algo así como una empresa pequeña que quiera compartir el lugar físico, generar una sinergia de equipo ... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;compartir desde la experiencia hasta los gastos e infraestructura....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;esa es la propuesta.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Esperamos recibir interés por este "llamado"&lt;span&gt;&lt;span&gt; (contacto@abstracta.com.uy)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"   style="color: rgb(15, 110, 172);   line-height: 15px; font-family:verdana;font-size:11px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.facebook.com/album.php?aid=86809&amp;amp;id=638122026&amp;amp;l=4ea2fd3a2f"&gt;Acá les dejo el link a las fotos&lt;/a&gt; del sábado pasado, en donde hicimos lo que le llamamos &lt;span class="Apple-style-span" style="font-style: italic;"&gt;La Oficianilización de Torre Patria&lt;/span&gt;, jeje, lo intentamos dejar con más facha de office :-)&lt;/div&gt;&lt;div&gt;(agradecimientos a &lt;span class="Apple-style-span" style="font-style: italic;"&gt;La Flaca&lt;/span&gt; -esposa del Melli- quien nos dio una mano en esas tareas)&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&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Update: Nuevas fotos en &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="  ;font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://www.facebook.com/album.php?aid=72127&amp;amp;id=671387808&amp;amp;l=aead9f7349"&gt;http://www.facebook.com/album.php?aid=72127&amp;amp;id=671387808&amp;amp;l=aead9f7349&lt;/a&gt;&lt;/span&gt;&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-6381853734506118226?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/6381853734506118226/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6381853734506118226' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6381853734506118226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6381853734506118226'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/04/nuevas-oficinas.html' title='Nuevas oficinas'/><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/SdExK9lGh9I/AAAAAAAAH-8/IJH4ROFm_Nc/s72-c/pag.JPG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6920484044189515018</id><published>2009-03-31T13:07:00.000-07:00</published><updated>2009-03-31T14:04:53.599-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Venture Capital'/><category scheme='http://www.blogger.com/atom/ns#' term='Emprendiendo en Uruguay'/><category scheme='http://www.blogger.com/atom/ns#' term='Emprendedurismo'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Ventures</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xDsTqyrVo3E/SdJ4sKTMIXI/AAAAAAAAAfk/2H_0y0iSEaU/s1600-h/googleVC.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 176px;" src="http://1.bp.blogspot.com/_xDsTqyrVo3E/SdJ4sKTMIXI/AAAAAAAAAfk/2H_0y0iSEaU/s400/googleVC.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5319446809952395634" /&gt;&lt;/a&gt;&lt;br /&gt;Viendo como se movieron compañías como &lt;a href="http://www.motorola.com/content.jsp?globalObjectId=8406-11398"&gt;Motorola &lt;/a&gt;o &lt;a href="http://www-304.ibm.com/jct03004c/businesscenter/venturedevelopment/us/en/"&gt;IBM&lt;/a&gt;, creo que esto se estaba haciendo esperar mucho, a pesar de la primera aproximación de Google en &lt;a href="http://www.google.com/gadgetventures/"&gt;Google Gadget Ventures&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;¿Quién mejor que Google para promocionar tu startup?&lt;div&gt;¿Qué tal si Google ve con buenos ojos tu idea y te financia? Dependiendo del startup, puede sonar muy alentador.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El nuevo sector de Google llamado &lt;a href="http://www.google.com/ventures/"&gt;Google Ventures&lt;/a&gt;, apostará a financiar startups relacionadas con la tecnología, en sectores como software, hardware, biotecnología y medicina.&lt;/div&gt;&lt;div&gt;Inicialmente invertirá 100 millones de dólares, financiando a cada emprendimiento desde un &lt;a href="http://es.wikipedia.org/wiki/Capital_semilla"&gt;capital semilla&lt;/a&gt;, hasta &lt;span class="Apple-style-span" style="font-style: italic;"&gt;"unas decenas de millones de dólares"&lt;/span&gt;, dependiendo de la etapa y necesidades del mismo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Leyendo las &lt;a href="http://www.google.com/ventures/faq.html"&gt;FAQs, &lt;/a&gt;Google no pretende ser el único inversor del emprendimiento y tampoco asegura adquirir tu firma (tampoco lo descarta), &lt;span class="Apple-style-span" style="font-style: italic;"&gt;"es una inversión a largo plazo"&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para ser considerado hay que mandar un mail a &lt;a href="mailto:ventures@google.com"&gt;ventures@google.com&lt;/a&gt; . &lt;/div&gt;&lt;div&gt;Wait! No más de 20 ppts!&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;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102);"&gt;Fuente: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://googleblog.blogspot.com/2009/03/googles-newest-venture.html"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102);"&gt;http://googleblog.blogspot.com/2009/03/googles-newest-venture.html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&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-6920484044189515018?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/6920484044189515018/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=6920484044189515018' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6920484044189515018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/6920484044189515018'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/03/google-ventures.html' title='Google Ventures'/><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://1.bp.blogspot.com/_xDsTqyrVo3E/SdJ4sKTMIXI/AAAAAAAAAfk/2H_0y0iSEaU/s72-c/googleVC.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-2094183213237525406</id><published>2009-03-23T10:08:00.000-07:00</published><updated>2009-03-25T06:42:26.528-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='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Genexus'/><category scheme='http://www.blogger.com/atom/ns#' term='GXUnit'/><title type='text'>Testing Integrado al Desarrollo</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Algo interesante que tiene el Visual Studio 2008 que lo estamos explotando en la construcción de GXtest Client son los componentes específicos para testing, a nivel de desarrollador.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si se fijan hay un menú llamado &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Test&lt;/span&gt;, en el cual uno puede crear sus &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Test &lt;/span&gt;(en nuestra jerga Test Cases), y sus &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Ordered Test &lt;/span&gt;(volviendo a nuestra jerga, Test Suites que son conjuntos de Test Cases). Además, hay un &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Unit Test Wizard&lt;/span&gt; que crea un Test Case a partir de una clase a probar, el cual nos mejora mucho el rendimiento al programar pruebas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_C6WXtbAB2qc/ScBFCYbs0II/AAAAAAAAH-k/VOv6smrFoaI/s320/new+test.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 266px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5314323467517874306" /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Este Wizard genera automáticamente mucho código que es siempre igual. Lo único que uno debe hacer es poner los datos de entrada y los de salida esperados (al menos para comenzar con pruebas simples).&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;Hace un tiempo probamos con &lt;a href="http://www.nunit.org/index.php"&gt;NUnit&lt;/a&gt;. Al comienzo nos complicamos con algún problema, dado que a los proyectos del tipo &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Librería &lt;/span&gt;le tenías que decir que eran del tipo &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Console Application&lt;/span&gt; y asociarles como ejecutable el NUnit --era medio tranza--&lt;/span&gt;&lt;/span&gt;&lt;div&gt;Lo que no llegué a probar son cosas como &lt;a href="http://sourceforge.net/projects/nunitaddin"&gt;NUnitAddin&lt;/a&gt; para tener el NUnit integrado al Visual Studio. De todos modos, el punto no está en qué tan bueno es NUnit o no, o las diferencias entre NUnit y el componente para testing que trae integrado el VS.&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&gt;Hasta acá comentarios que aportan en el desarrollo de soluciones con VS. Ahora, todos los de la comunidad tienden siempre a pensar en soluciones Genexus, y en nuestro caso, cómo llevar estas soluciones que tiene un desarrollador C# en el testing, a un desarrollador Genexus??&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lo podemos ver por dos caminos. Uno es &lt;a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GXUnit"&gt;GXunit&lt;/a&gt;, el cual es un proyecto que ya tiene vida, y que tarde o temprano será culminado, y al cual esperamos poder dar nuestros aportes también. Esto es lo que más se asemeja con lo que estábamos hablando.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por otro lado, podemos hablar de algo que &lt;a href="http://blogjlr.blogspot.com/"&gt;José&lt;/a&gt; siempre nos insiste, integrar el GXtest Client al IDE de Genexus, para que de esa forma el desarrollador pueda tener sus pruebas automatizadas en el mismo IDE. &lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;Las pruebas que se automatizan con GXtest Client son pruebas a nivel de la interfaz gráfica (esto puede ayudar para hacer pruebas unitarias) pero el modelo propuesto está pensado para pruebas de sistema en las cuales se integran varios objetos GeneXus. Si nuestra unidad en GeneXus es un solo objeto (ya sea WebPanel o Transaction) los modelos en GXtest nos quedarían bastante particulares. Otra opción es permitir especificar los casos de prueba unitarios con un lenguaje de programación que tenga la misma expresividad que el lenguaje gráfico para permitir al desarrollador tener más flexibilidad a la hora de escribir sus casos de prueba. &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;br /&gt;&lt;/div&gt;&lt;div&gt;Qué pasa con esto? GXtest en principio no es para que sea usado por los desarrolladores sino por los testers. Un argumento de esto es que no queríamos obligar a cada tester a tener una licencia de Genexus para usar GXtest. Por este motivo tal vez sería necesario tener dos versiones de GXtest Client, una liviana para integrar con Genexus, y otra que es la que estamos construyendo, independiente del IDE de Genexus y con todas las funcionalidades que necesita un tester.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tener dos versiones de la interfaz gráfica sería muy costoso, por lo que hay una idea/posibilidad que resulta muy interesante:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Genexus tal vez puede presentar una posibilidad con su IDE tal como la que ofrece Visual Studio (&lt;a href="http://msdn.microsoft.com/es-es/vstudio/bb856491(en-us).aspx"&gt;Visual Studio Shell&lt;/a&gt;). Uno puede usar el IDE y el núcleo para desarrollar una herramienta y esto es &lt;a href="http://en.wikipedia.org/wiki/Royalty-free"&gt;Royalty Free&lt;/a&gt;, o sea, no hay que pagar extra por usar el Shell. Se pueden hacer herramientas Integradas (eso sería como ahora están las &lt;a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?category:GeneXus+Extensions"&gt;extensions&lt;/a&gt;) o en modo Isolate (esto es lo que nos vendría bien). &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_C6WXtbAB2qc/ScmEMhn7DqI/AAAAAAAAH-s/mNt-E9W5nNs/s1600-h/gxtest+isolated+vsshell.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_C6WXtbAB2qc/ScmEMhn7DqI/AAAAAAAAH-s/mNt-E9W5nNs/s320/gxtest+isolated+vsshell.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5316926185806696098" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 249px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;cómo se vería GXtest en VS Shell&lt;/div&gt;&lt;div style="text-align: center;"&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&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_C6WXtbAB2qc/ScmGOiWIVuI/AAAAAAAAH-0/9ZqhXWC0fjc/s1600-h/gx.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_C6WXtbAB2qc/ScmGOiWIVuI/AAAAAAAAH-0/9ZqhXWC0fjc/s320/gx.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5316928419383498466" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 169px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;cómo se vería GXtest en GeneXus Shell&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;De esta forma podríamos tener GXtest sobre el IDE de Genexus (esto trae otras ventajas pero no nos detendremos en eso en este post). La implementación sería más simple y consistente, ya que una sola implementación para las dos versiones (desarrollador y tester) que antes nombrabamos.&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-2094183213237525406?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/2094183213237525406/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3360428795422884065&amp;postID=2094183213237525406' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2094183213237525406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3360428795422884065/posts/default/2094183213237525406'/><link rel='alternate' type='text/html' href='http://blog.abstracta.com.uy/2009/03/testing-integrado-al-desarrollo.html' title='Testing Integrado 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://4.bp.blogspot.com/_C6WXtbAB2qc/ScBFCYbs0II/AAAAAAAAH-k/VOv6smrFoaI/s72-c/new+test.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3360428795422884065.post-6361852571901920306</id><published>2009-03-12T04:54:00.000-07:00</published><updated>2009-03-13T09:08:41.635-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Genexus'/><title type='text'>Testing mediante Ejecución Simbólica</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xDsTqyrVo3E/SbqBdc1tTxI/AAAAAAAAAfU/8H1gVJcM_ag/s1600-h/345833316_61da533108.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 206px;" src="http://3.bp.blogspot.com/_xDsTqyrVo3E/SbqBdc1tTxI/AAAAAAAAAfU/8H1gVJcM_ag/s320/345833316_61da533108.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5312701053394571026" /&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;&lt;div&gt;&lt;span style="font-size:100%;"&gt;Estuve leyendo un &lt;/span&gt;&lt;a href="http://www.stanford.edu/~engler/klee-osdi-2008.pdf"&gt;&lt;span style="font-size:100%;"&gt;paper&lt;/span&gt;&lt;/a&gt;&lt;span style="border-collapse: collapse;"&gt;&lt;span style="border-collapse: separate;"&gt; que nos mandó un amigo sobre la herramienta KLEE que utiliza el paradigma de ejecución simbólica. El paper en
