Como dijimos, Watir se vale de Selenium y hereda su licencia y muchas de sus características; sin embargo, solamente soporta lenguaje Ruby. Inicialmente desarrollado por Bret Pettichord y Paul Rogers y una comunidad entusiasta de desarrolladores, se centra en automatizar navegadores web tal como lo haría un usuario normal y en la manipulación de todos los elementos HTML. Al igual que en Selenium, se necesita conocimientos profundos en programación y su instalación toma la forma de “RubyGems”, como gestor de paquetes.
UiPath es una RPA (Robotic Process Automation, Automatización robótica de procesos en castellano) totalmente gratis, con multitud de características, para automatizar cualquier web o aplicación de escritorio. Permite a empresas y compañías globales diseñar, desarrollar y controlar una fuerza de trabajo robótica completa que imita a los empleados. UiPath administra tareas basadas en reglas y libera a los trabajadores de la rutina diaria del trabajo repetitivo. Permite la gestión de cambios y desarrollo, control de acceso, modelación de procesos, ejecución y programación remota, monitorización de las tareas ejecutadas, auditoría y analíticas en pleno cumplimiento con la seguridad empresarial y las buenas prácticas gubernamentales. Cuenta con un workflow consistente en arrastrar y solar, muy ameno para el usuario, que requiere de poco conocimiento de la .net para nuevos escenarios. 
Postman es una gran herramienta para probar APIs. Los probadores y desarrolladores pueden utilizar esta herramienta gratuita como una extensión de Chrome o un producto de colaboración en la nube para desarrollar, probar y documentar las API más rápidamente. Permite a los usuarios comprobar el historial de las solicitudes HTTP enviadas, personalizar secuencias de comandos, autocompletar URL, previsualizar imágenes, realizar pruebas de producción, organizar o configuraciones locales con una amplia gama de características y funciones.
objetos, la ejecución de pruebas sobre los métodos de una clase, pueden considerarse como pruebas unitarias. Las ventajas de realizar pruebas unitarias son: encontrar errores de forma temprana, evitando la propagación de estos en el sistema completo, lo cual permite mejorar el comportamiento de la aplicación en las pruebas de integración. Otro beneficio es la posibilidad de documentar el código para facilitar su implementación. Pruebas Integrales Otro aspecto importante en el proceso de evaluación son las pruebas de integración. Estas pruebas se basan en probar un conjunto de unidades las cuales interactúan de acuerdo a la funcionalidad en relación con la especificación de los requerimientos. Las pruebas integrales evalúan que las secuencias de interacción entre componentes se realicen correctamente. Esto se debe hacer ya que pueden haber fallos que se mantiene ocultos y solo pueden ser detectados cuando una unidad de código interactúa con otra dentro del mismo sistema. Las ventajas de realizar estas pruebas son: descubrir interacciones inadecuadas entre los componentes, interfaces y arquitectura de diseños deficientes. Enfoque actual de programación ! Programación Orientada a Objetos De acuerdo al ranking de la revista IEEE Spectrum (IEEE, 2014) el lenguaje Java es el más utilizado para el desarrollo de sistemas empresariales, aplicaciones móviles y web. En este caso las propiedades que la Programación Orientada a Objetos (POO) ofrece, tiene grandes ventajas como son: la portabilidad, la reutilización de componentes y la sencillez de sus cláusulas, que también son fáciles de entender. El mayor representante de este paradigma es el lenguaje Java con más de 9 millones de desarrolladores en todo el mundo (Oracle, 2014). Sin embargo evaluar aplicaciones en Java no es sencillo y los esquemas tradicionales de pruebas no son suficientes, en este caso la planeación de pruebas tradicionales no es aplicable. Esto se debe a que la mayor parte de la funcionalidad de estos sistemas se resuelve a tiempo de ejecución. Las características de la POO que influyen en este aspecto son las siguientes: • Encapsulación: esta propiedad limita el acceso que se tiene a los atributos internos de una clase, y solo se puede acceder a ellos mediante la instancia de la clase. • Herencia: esta propiedad permita a una clase hija comportarse como una clase padre y a sí mismo una clase padre puede comportase como una clase hija, pero con un comportamiento limitado. • Polimorfismo: esta propiedad permite seleccionar los métodos que se utilizan durante tiempo de ejecución haciendo el código más flexible. Programación orientada a aspectos Este enfoque es relativamente nuevo el área de desarrollo de software, pero se ha consolidado como un paradigma el cual facilita la encapsulación de requerimientos no funcionales. Una de las funciones más importante de este nuevo paradigma es mejorar la modularidad del código en sistemas de software y reducir su complejidad. Esto es posible mediante enfoques como el entrelazado de asuntos (crosscutting concern) en el código, estos asuntos generalmente son requisitos no funcionales que debe de cumplir un sistemas, por ejemplo la seguridad y el inicio de sesión de usuarios. Este entrelazado es un concepto que se implementa en diversas secciones del código, mediante la implementación de corte en puntos (pointcuts), de acuerdo a la definición de puntos de unión (joint points) los cuales son puntos donde los asuntos (concerns) son aplicados. Un aviso (advice) es un comportamiento adicional que tendrá el código, el cual es ejecutado en un asunto. Entre los representantes más importantes de este paradigma tenemos a AspectJ (Laddad, 2003), que funciona como una extensión para el lenguaje Java. Actualmente forma parte del proyecto de código abierto Eclipse de IBM. La unidad principal de AspectJ es el aspecto, el cual combina los conceptos corte en puntos, avisos y declaraciones. Este nuevo paradigma ofrece nuevas posibilidades para el área de pruebas de software. En trabajos de investigación como en (Cheon, 2010) se desarrolla un enfoque que utiliza una combinación entre OCL (Object Constariant Language) y aspectos para colocar restricciones en la invocación de métodos para validar los rangos y datos de las variables de entrada.
Los clientes de Tableau provienen de una gran variedad de sectores y países. No obstante, todos comparten una característica: desean saber más acerca de su negocio. En este video, David Baudrez, jefe de conocimientos sobre negocios en Cisco, explica cómo Tableau ha ayudado a distribuir datos en unidades de negocios globales, a aumentar la productividad y a ahorrar cientos de horas.
Después de haber hecho esta pequeña vista de águila sobre cómo podríamos organizar a nuestro equipo de automatización de pruebas sin cometer demasiados errores, considero que cualquier empresa es capaz de gestionar un equipo de automatización realmente eficiente. Lo más difícil es conseguir que el equipo interactúe de forma correcta con los proyectos existentes y nunca se olvide de nutrir periódicamente a sus recursos.
El software de negocios, como el que en Evolve-It ponemos a su alcance, crea vínculos entre varios procesos empresariales, lo que lleva a la creación de informes más detallados, facturaciones automatizadas y mayores resultados de ventas. Mediante su empleo, cada vez que se realice una nueva entrada de datos, se mostrarán campos opcionales para vincular la información ya sea a proyectos, usuarios, clientes, recursos, etcétera. Además, no siempre tienen que introducirse los datos manualmente, ya que cierta información puede ser recolectada automáticamente con la ayuda de mecanismos prediseñados de integración. Cabe señalar que la información sobre los perfiles de clientes se actualiza con frecuencia reflejando así los progresos de los procesos de ventas.
Appium es un framework de automatización de pruebas para probar aplicaciones web nativas, híbridas y móviles para plataformas iOS, Android y Windows en dispositivos reales y simuladores. Dado que soporta aplicaciones multiplataforma, permite probar aplicaciones en diferentes plataformas utilizando la misma API. Appium permite a los usuarios elegir el idioma que tiene las bibliotecas de clientes de Selenium como Java, Objective-C, JavaScript con Node.js, PHP, Ruby, Python, C # etc. para crear pruebas.
Otra herramienta privativa, de la mano de “SmartBear Software”®, que también utiliza VBScript y además maneja C#Script, C++Script, DelphiScript, JScript, JavaScript y Python, ¡sin ningún problema! A pesar de todos los lenguajes interpretados que soporta, igualmente no se necesitan habilidades extraordinarias de programación y su instalación es relativamente sencilla. Tiene tres módulos principales: como aplicación de escritorio, web y móvil. En muchos aspectos se parece a su contrincante UFT, ya que también se integra con Jenkins y mantiene actualizados los guiones u objetos grabados al cambiar alguno de ellos, lo que significa ahorro de tiempo y esfuerzo.

Una de las herramientas para pruebas de bases de datos que funcionen con páginas web, escrito completamente en lenguaje Java y orientado directamente a los programadores. Si necesitamos probar la carga masiva de datos y realizar pruebas de esfuerzo a los servidores, debemos utilizar JMeter con un software de monitorización como Pandora FMS (no duden ustedes en contactarnos). Apache JMeter no es un navegador web (no ejecuta el JavaScript del código HTML, por ejemplo) sino que actúa a nivel de protocolo HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, entre otros), FTP, SMTP(S), POP3(S) e IMAP(S). También ofrece opciones de registro de resultados en un simple archivo de texto, ya que las funciones de monitorización le fueron eliminadas desde la versión 3.2.
• Mejor organización de las pruebas. Cuando inicias la automatización de tus pruebas, analizas de manera más estructurada. Examinas tu sistema como ingeniero, ya no de manera empírica. Al crear casos de pruebas formulas preguntas tales como: ¿es repetible esta prueba?,  ¿con qué frecuencia necesito ejecutar esta prueba?,  ¿tiene alguna semejanza esta prueba a pruebas existentes?, ¿cómo automatizaría esta prueba?
Principalmente, porque la interfaz de usuario es la parte más propensa a cambios de toda la aplicación, y para automatizar pruebas y tener fiabilidad sobre lo que estamos ejecutando necesitamos cierta estabilidad: un cambio en la interfaz podría hacer fallar la prueba automática, y en ese caso, tendríamos que readaptarla para que volviera a funcionar.

Javier Diaz, un gusto saludarte. Muchas gracias por estas herramientas que compartes con nosotros. Te comento asi de rapido mis necesidades primarias. Administro una empresa de recuperacion y reciclado de plasticos. Manejamos mas que nada la maquila de algunos de ellos para algunos clientes externos e internos. Me interesa un programa que se adecue a esas necesidades, no tanto a llevar un stock, sino al control de venta de servicios. De antemano muchas gracias por tu aportación.
Otra forma de realizar estudios de mercado es detectando tendencias en Internet, con herramientas gratuitas como Google Trends, que refleja qué palabras clave busca la gente diariamente, “las modas de búsqueda del momento: por ejemplo, qué juguetes se han buscado más en Reyes”, añade Romero. O realizando tus propias encuestas por correo electrónico con soluciones como SurveyMonkey, también gratuita.
En tratamientos de texto, no hay mucha discusión: OpenOffice y Google Docs para, como consta en la página, crear documentos impactantes son las más utilizadas. Las dos disponen de procesador de textos, hoja de cálculo y permiten crear presentaciones compatibles con PowerPoint. Pero, entre las dos, los emprendedores se decantan más por Google Docs, combinada con Google Sheets (Excel) y Google Slides (PowerPoint). “OpenOffice es sólo para editar y no permite trabajar a varias personas a la vez. Con Google Docs, en cambio, y desde una misma cuenta de Gmail, puedes crear, editar y compartir cualquier documento. Incluso trabajar varias personas a la vez en línea y desde cualquier dispositivo (PC, tablet o móvil) porque están en la nube”, comenta Emilio Rodríguez, socio cofundador de Gremyo.
De las técnicas anteriormente descritas me llamaron atención Monkey testing, ADB Input y BDD, estas tres técnicas se ejecutan a través de la terminal con comandos de tipo adb shell en el caso de la primera y la segunda, la tercera a hace uso de la gema (ruby) android-calabash, lo que buscaba con la herramienta es ofrecer una experiencia similar (guardando las proporciones) de lo que ofrece servicios como firabase test Lab y AWS Device Farm, la cual consiste en pedir la APK y seleccionar los dispositivos a probar.

Debido a los diversos proyectos en los que hemos participado, desde Globe hemos podido analizar los pros y los contras de gran variedad de herramientas de automatización. Para dicho análisis se ha tenido en cuenta la fácil utilización, las tecnologías soportadas, la integración con herramientas externas de gestión, el posible soporte de las herramientas y las plataformas compatibles. En un breve resumen comentaremos las características que nos hacen decantarnos por uno u otro software.

Con estas herramientas de Selenium podemos reducir considerablemente el tiempo en la creación de las pruebas automatizadas, y estas mismas pruebas pueden ser ejecutadas como un complemento en la ejecución de una prueba funcional. Así, podemos optar por la alternativa que más nos convenga. Lo único que nos queda es usarlas, conocerlas y familiarizarnos con ellas.

×