{"id":2313,"date":"2011-06-24T17:39:17","date_gmt":"2011-06-24T20:39:17","guid":{"rendered":"http:\/\/blog.ces.com.uy\/?p=226"},"modified":"2020-09-16T08:51:29","modified_gmt":"2020-09-16T11:51:29","slug":"como-empezar-con-la-automatizacion-de-pruebas-funcionales","status":"publish","type":"post","link":"https:\/\/wordpress-test.ces.com.uy\/?p=2313","title":{"rendered":"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales?"},"content":{"rendered":"<p>En <span style=\"color: #000000;\">una entrada anterior del blog<\/span><span style=\"color: #000000;\"><span style=\"color: #000000;\"> hablamos sobre <strong>cu\u00e1ndo<\/strong> conviene emprender la automatizaci\u00f3n de pruebas funcionales. En este post veremos ideas relativas a <strong>c\u00f3mo<\/strong> <\/span>emprender ese camino.<\/span><\/p>\n<p><span style=\"color: #000000;\">Podemos distinguir 2 etapas<\/span> en el proceso:<\/p>\n<ol>\n<li>Desarrollo de la plataforma de automatizaci\u00f3n<\/li>\n<li>Desarrollo de las pruebas automatizadas<\/li>\n<\/ol>\n<h3><span style=\"color: #000000;\">Desarrollo de la plataforma de automatizaci\u00f3n<\/span><\/h3>\n<p>El desarrollo de la plataforma de automatizaci\u00f3n es el puntapi\u00e9 inicial en la automatizaci\u00f3n de pruebas para un producto puntual. En primera ins<span style=\"color: #000000;\">tancia es vital conocer los requerimientos necesarios para las pruebas. Por ejemplo, verificaciones con lectura de bases de datos\u00a0o si hay rep<\/span>ortes en pdf que las pruebas deben leer y comparar.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-227 alignright\" title=\"horno\" src=\"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/06\/horno2.jpg\" alt=\"\" width=\"402\" height=\"302\" \/><\/p>\n<p>Luego que sabemos lo que necesitamos buscamos herramientas o la combinaci\u00f3n de estas para sa<span style=\"color: #000000;\">tisfacer\u00a0las necesidades. En el ejemplo anterior (lectura en bases de datos y pdf&#8217;s) podemos combinar un framework de pruebas unitarias como JUn<\/span>it o TestNG con librer\u00edas de automatizaci\u00f3n a nivel de interfaz gr\u00e1fica, librer\u00edas para conexi\u00f3n a bases de datos, librer\u00edas para manejo de pdf, entre otras.<\/p>\n<p>Una vez seleccionadas las herr<span style=\"color: #000000;\">amientas es necesario integrarlas\u00a0y hacer una prueba de concepto\u00a0d<\/span>e la plataforma.<\/p>\n<p>El siguiente paso es desarrollar las funciones o m\u00f3dulos b\u00e1sicos para que las pruebas sean composici\u00f3n de estas. Por ejemplo, crear las funciones: Login, CrearInstancia, VerificarCreaci\u00f3n, ModificarInstancia, VerificarModificaci\u00f3n, Logout.<\/p>\n<p>Las pruebas ser\u00e1n combinaciones de estas funciones con diferentes datos. Por ejemplo:<\/p>\n<ul>\n<li>Logi<span style=\"color: #000000;\">n (usuario1)<\/span><\/li>\n<li><span style=\"color: #000000;\">CrearInstancia (instancia1)<\/span><\/li>\n<li><span style=\"color: #000000;\">Verificaci\u00f3nCreaci\u00f3n (instancia1)<\/span><\/li>\n<li><span style=\"color: #000000;\">Logout<\/span><\/li>\n<li><span style=\"color: #000000;\">Login (usuario2)<\/span><\/li>\n<li><span style=\"color: #000000;\">ModificarInstancia (instancia1)<\/span><\/li>\n<li><span style=\"color: #000000;\">VerificarModificaci\u00f3n\u00a0(instancia1)<\/span><\/li>\n<li><span style=\"color: #000000;\">Logout<\/span><\/li>\n<li><span style=\"color: #000000;\">&#8230;<\/span><\/li>\n<\/ul>\n<p>Por supuesto, en el desarrollo de las pruebas se continuar\u00e1 creando nuevos m\u00f3dulos y funciones a medida que surjan las necesidades.<\/p>\n<h3><span style=\"color: #000000;\">Desarrollo de las pruebas automatizadas<\/span><\/h3>\n<p>Como en un proyecto de desarrollo de software (que de hecho lo es), comenzamos con ciclos de dise\u00f1o, implementaci\u00f3n, verificaci\u00f3n y validaci\u00f3n de pruebas. Es importante marcar ciclos cortos de manera que se puedan mostrar resultados r\u00e1pidamente.<\/p>\n<p>Un esfuerzo no despreciable es el dedicado a la configuraci\u00f3n del entorno de datos necesario para los scripts. Pronto publicaremos una entrada relativa a eso.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-228 alignleft\" title=\"ladrillos_pared\" src=\"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/06\/ladrillos_pared.jpg\" alt=\"\" width=\"400\" height=\"323\" \/> El dise\u00f1o de las pruebas es fundamental para encontrar elementos \u00a0comunes y reutilizables que se puedan consolidar en funciones \u00a0para el uso de varios scripts. De esta manera aumentamos la \u00a0productividad porque se crear\u00e1n nuevos scripts m\u00e1s r\u00e1pido, \u00a0reutilizando funciones. De la misma forma se aumenta la \u00a0mantenibilidad ya que ante cambios en las interfaces de la \u00a0aplicaci\u00f3n (tanto GUI como API) los cambios se realizan \u00a0\u00fanicamente en las funciones y no en cada script.<\/p>\n<p>Para la implementaci\u00f3n, en este esquema de trab<span style=\"color: #000000;\">ajo, la<\/span>s herramientas Record and Playback pasan a un segundo plano ya que directamente se codifica las pruebas pudiendo utilizar \u00a0scripts similares como plantillas. La grabaci\u00f3n de un script no tiene sentido ya que este se construye a partir de la composici\u00f3n de funciones y no una nueva serie de acciones.<\/p>\n<p>En cuanto a la etapa de prueba de los scripts, cabe destacar que la \u00a0verificaci\u00f3n se refiere a la prueba de los scripts en el ambiente en\u00a0donde se desarrollan.\u00a0La validaci\u00f3n es deseable que se haga en un nuevo ambiente\u00a0para probar as\u00ed que los datos requeridos para la ejecuci\u00f3n est\u00e1n bien documentados y configurados.<\/p>\n<h3><span style=\"color: #000000;\">Resumen<\/span><\/h3>\n<p><span style=\"color: #000000;\">Esperamos con este post haber <\/span>dado un pantallazo a alto nivel de c\u00f3mo se puede arrancar con un proyecto de automatizaci\u00f3n de pruebas funcionales.<\/p>\n<p>En resumen, se desarrolla una plataforma que establece las bases para un desarrollo sustentable de scripts, facilitando la creaci\u00f3n de nuevos y el mantenimiento de los actuales.<\/p>\n<p>Hasta la pr\u00f3xima.<\/p>\n<p style=\"text-align: right;\"><strong><a href=\"mailto:mfarias@wordpress-test.ces.com.uy\">Mauricio Far\u00edas<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En una entrada anterior del blog hablamos sobre cu\u00e1ndo conviene [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[11],"tags":[67,59],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales? &ndash; CES<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordpress-test.ces.com.uy\/?p=2313\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales? &ndash; CES\" \/>\n<meta property=\"og:description\" content=\"En una entrada anterior del blog hablamos sobre cu\u00e1ndo conviene [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress-test.ces.com.uy\/?p=2313\" \/>\n<meta property=\"og:site_name\" content=\"CES\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CESUruguay\" \/>\n<meta property=\"article:published_time\" content=\"2011-06-24T20:39:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-16T11:51:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/06\/horno2.jpg\" \/>\n<meta name=\"author\" content=\"Mauricio Farias\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ces_com_uy\" \/>\n<meta name=\"twitter:site\" content=\"@ces_com_uy\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mauricio Farias\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2313#article\",\"isPartOf\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2313\"},\"author\":{\"name\":\"Mauricio Farias\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/818e9a1755470d3e20a37846fdb00ce5\"},\"headline\":\"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales?\",\"datePublished\":\"2011-06-24T20:39:17+00:00\",\"dateModified\":\"2020-09-16T11:51:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2313\"},\"wordCount\":629,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#organization\"},\"keywords\":[\"Automatizaci\u00f3n de pruebas\",\"Testing Funcional\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/wordpress-test.ces.com.uy\/?p=2313#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2313\",\"url\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2313\",\"name\":\"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales? &ndash; CES\",\"isPartOf\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#website\"},\"datePublished\":\"2011-06-24T20:39:17+00:00\",\"dateModified\":\"2020-09-16T11:51:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2313#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wordpress-test.ces.com.uy\/?p=2313\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2313#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/wordpress-test.ces.com.uy\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#website\",\"url\":\"https:\/\/wordpress-test.ces.com.uy\/\",\"name\":\"CES\",\"description\":\"Centro de Ensayos de Software\",\"publisher\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wordpress-test.ces.com.uy\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#organization\",\"name\":\"CES Centro de Ensayos de Software\",\"url\":\"https:\/\/wordpress-test.ces.com.uy\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/wordpress-test.ces.com.uy\/wp-content\/uploads\/2021\/04\/Logo-vertical-grande.png\",\"contentUrl\":\"https:\/\/wordpress-test.ces.com.uy\/wp-content\/uploads\/2021\/04\/Logo-vertical-grande.png\",\"width\":1080,\"height\":1080,\"caption\":\"CES Centro de Ensayos de Software\"},\"image\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/CESUruguay\",\"https:\/\/twitter.com\/ces_com_uy\",\"https:\/\/www.instagram.com\/ces_uruguay\/\",\"https:\/\/www.linkedin.com\/company\/ces-uruguay\/\",\"https:\/\/www.youtube.com\/channel\/UCRJrDBjRiXGU0hImjFNCAgw\",\"https:\/\/es.wikipedia.org\/wiki\/Centro_de_Ensayos_de_Software\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/818e9a1755470d3e20a37846fdb00ce5\",\"name\":\"Mauricio Farias\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"caption\":\"Mauricio Farias\"},\"url\":\"https:\/\/wordpress-test.ces.com.uy\/?author=10\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales? &ndash; CES","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wordpress-test.ces.com.uy\/?p=2313","og_locale":"es_ES","og_type":"article","og_title":"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales? &ndash; CES","og_description":"En una entrada anterior del blog hablamos sobre cu\u00e1ndo conviene [&hellip;]","og_url":"https:\/\/wordpress-test.ces.com.uy\/?p=2313","og_site_name":"CES","article_publisher":"https:\/\/www.facebook.com\/CESUruguay","article_published_time":"2011-06-24T20:39:17+00:00","article_modified_time":"2020-09-16T11:51:29+00:00","og_image":[{"url":"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/06\/horno2.jpg"}],"author":"Mauricio Farias","twitter_card":"summary_large_image","twitter_creator":"@ces_com_uy","twitter_site":"@ces_com_uy","twitter_misc":{"Escrito por":"Mauricio Farias","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2313#article","isPartOf":{"@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2313"},"author":{"name":"Mauricio Farias","@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/818e9a1755470d3e20a37846fdb00ce5"},"headline":"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales?","datePublished":"2011-06-24T20:39:17+00:00","dateModified":"2020-09-16T11:51:29+00:00","mainEntityOfPage":{"@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2313"},"wordCount":629,"commentCount":0,"publisher":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#organization"},"keywords":["Automatizaci\u00f3n de pruebas","Testing Funcional"],"articleSection":["Blog"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wordpress-test.ces.com.uy\/?p=2313#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2313","url":"https:\/\/wordpress-test.ces.com.uy\/?p=2313","name":"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales? &ndash; CES","isPartOf":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#website"},"datePublished":"2011-06-24T20:39:17+00:00","dateModified":"2020-09-16T11:51:29+00:00","breadcrumb":{"@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2313#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress-test.ces.com.uy\/?p=2313"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2313#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/wordpress-test.ces.com.uy\/"},{"@type":"ListItem","position":2,"name":"\u00bfC\u00f3mo empezar con la automatizaci\u00f3n de pruebas funcionales?"}]},{"@type":"WebSite","@id":"https:\/\/wordpress-test.ces.com.uy\/#website","url":"https:\/\/wordpress-test.ces.com.uy\/","name":"CES","description":"Centro de Ensayos de Software","publisher":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordpress-test.ces.com.uy\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/wordpress-test.ces.com.uy\/#organization","name":"CES Centro de Ensayos de Software","url":"https:\/\/wordpress-test.ces.com.uy\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/logo\/image\/","url":"https:\/\/wordpress-test.ces.com.uy\/wp-content\/uploads\/2021\/04\/Logo-vertical-grande.png","contentUrl":"https:\/\/wordpress-test.ces.com.uy\/wp-content\/uploads\/2021\/04\/Logo-vertical-grande.png","width":1080,"height":1080,"caption":"CES Centro de Ensayos de Software"},"image":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/CESUruguay","https:\/\/twitter.com\/ces_com_uy","https:\/\/www.instagram.com\/ces_uruguay\/","https:\/\/www.linkedin.com\/company\/ces-uruguay\/","https:\/\/www.youtube.com\/channel\/UCRJrDBjRiXGU0hImjFNCAgw","https:\/\/es.wikipedia.org\/wiki\/Centro_de_Ensayos_de_Software"]},{"@type":"Person","@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/818e9a1755470d3e20a37846fdb00ce5","name":"Mauricio Farias","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","caption":"Mauricio Farias"},"url":"https:\/\/wordpress-test.ces.com.uy\/?author=10"}]}},"_links":{"self":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/posts\/2313"}],"collection":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2313"}],"version-history":[{"count":0,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/posts\/2313\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}