La automatización de pruebas es la práctica que permite controlar la ejecución de un producto software de manera automática, comparando los resultados obtenidos con los resultados esperados. Esta práctica permite no solo realizar pruebas repetitivas dentro de un proceso sino probar ejecuciones que manualmente serían difíciles de controlar. Sin embargo, la automatización de pruebas funcionales, no tiene como objetivo eliminar el testing manual, sino ayudarlo y complementarlo. Si automatizamos aquello que puede ser automatizado, entonces los testers tendrán más tiempo y podrán centrar sus esfuerzos en resolver los aspectos más complejos que se le escapan a la automatización de pruebas unitarias o repetitivas. En palabras de Alexandra Blasco: “la automatización consiste en la construcción de un conjunto de scripts reutilizables, con los que podemos aumentar drásticamente la capacidad de testear software en lo que respecta a pruebas de regresión antes y después de la publicación de una nueva versión. Dichos scripts se ajustan a cada funcionalidad y nos aportan una información del impacto de los cambios realizados”.
Esto depende del tipo de prueba, para las pruebas de tipo ADB y monkey testing depende del número de eventos a realizar, para el caso de las pruebas de de tipo BDD — Calabash la configuración del proyecto toma algunos segundos, luego depende del número de pasos que contenga el archivo .features, además Calabash tiene una serie de timers, los cuales esperan hasta que se cumpla una condición.
Un ejemplo de estas diferencias entre los equipos de pruebas manuales y automatizadas es el ritmo de cambio que existe actualmente. Las metodologías y herramientas utilizadas para el testing manual no evolucionan a la misma velocidad que las de automatización. Es por ello que debemos tratarlos a ambos como equipos independientes, aunque incluidos dentro del mismo grupo genérico.

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.


Created using PowToon -- Free sign up at http://www.powtoon.com/ . Make your own animated videos and animated presentations for free. PowToon is a free tool that allows you to develop cool animated clips and animated presentations for your website, office meeting, sales pitch, nonprofit fundraiser, product launch, video resume, or anything else you could use an animated explainer video. PowToon's animation templates help you create animated presentations and animated explainer videos from scratch. Anyone can produce awesome animations quickly with PowToon, without the cost or hassle other professional animation services require.

GitHub es un servicio de repositorio basado en la web para alojar y administrar proyectos de software, versiones y código fuente. Proporciona características como edición en línea, ticketing, seguimiento de errores, administración de tareas, así como funciones de redes sociales como feed, wikis, que ayudan a millones de desarrolladores y probadores a trabajar de manera colaborativa. Promueve el desarrollo rápido y flexible de proyectos con más de 14 millones de usuarios y más de 35 millones de repositorios.
En este último aspecto debemos decir que TestComplete ofrece las pruebas dirigidas por palabras clave (en inglés “keyword-driven testing”). En las pruebas basadas en palabras clave, cada palabra clave corresponde a una acción de prueba individual, como un clic del ratón, la selección de un elemento del menú, pulsaciones de teclas, abrir o cerrar una ventana u otras acciones. Esto es lo que inicialmente, y poco a poco, deberemos configurar, para luego crear una prueba de palabras clave, la cual es una secuencia de operaciones, en formato de palabras clave, que simula las acciones del usuario en la aplicación probada. Básicamente, para realizar cualquier acción de prueba, los evaluadores simplemente arrastran y sueltan la palabra clave que corresponde a la operación deseada o simplemente pueden registrar sus acciones y la prueba dirigida por palabra clave se construye para ellos. Estas palabras clave las podremos reutilizar infinitas veces para prevenir el modelo “no te repitas tú mismo“. Asimismo, ofrece flexibilidad cuando cambia la aplicación a probar y para los nuevos usuarios beta que lleguen a trabajar les será más intuitivo el mantener las pruebas creadas, adquirir experiencia y crear nuevas pruebas dirigidas por palabras clave.
Antes de poder ejecutar pruebas automatizadas, es necesario disponer de un entorno con un controlador de pruebas y agentes de prueba. Un entorno es el conjunto de roles necesarios para ejecutar una aplicación concreta y las máquinas que se utilizarán para cada rol. Un controlador administra pruebas en varios equipos comunicándose con los agentes de prueba instalados en cada uno de ellos. Cada agente puede llevar a cabo distintas tareas: instalar software, ejecutar pruebas y recopilar los datos de las mismas.
Es recomendable (aunque no obligatorio) que Zahorí cuente con un ecosistema de herramientas de desarrollo y ejecución abierto, que permita la integración con sistemas de gestión de pruebas, herramientas de integración continua, y repositorios de software especializado para la gestión del código del SW de automatización. Su diseño modular es además compatible con un repositorio de artefactos, no requiriendo tiempo de interpretación/compilación del código de automatización.
AutoIT es una herramienta para automatizar la GUI de Windows y las secuencias de comandos generales usando una combinación de pulsaciones de teclas, movimiento del ratón y manipulación de ventana / control. Se utiliza para automatizar tareas que son difíciles de realizar con ciertos idiomas. Es muy utilizado por los probadores para crear scripts de automatización para el entorno de Windows.
AutoIT es una herramienta para automatizar la GUI de Windows y las secuencias de comandos generales usando una combinación de pulsaciones de teclas, movimiento del ratón y manipulación de ventana / control. Se utiliza para automatizar tareas que son difíciles de realizar con ciertos idiomas. Es muy utilizado por los probadores para crear scripts de automatización para el entorno de Windows.
“Sin olvidarnos de herramientas para analítica y medición de apps. Las de medición, como Appfigures, te ofrecen información del número de descargas, ventas, ranking de tu app, valoraciones, etc. Las de analítica, como Appanie https://www.appannie.com/en/ , te indican quién hace qué dentro de tu aplicación. Igual que Amplitude. Son algo así como el Google Analytics para aplicaciones. Otra alternativa es Mixpanel, que vale para analíticas de webs y apps. Ésta te da información extra que no te ofrece Google Analytics en web (quién hace exactamente el qué)”, explica Emilio Rodríguez.
Como podéis imaginar, habrá decenas de herramientas para pruebas software, de las que he querido destacar en esta lista tres: Selenium, Jmeter y Testlink. ¿Por qué estas tres? Porque son herramientas para pruebas software, son de software libre y son de las más usadas en proyectos. Las dos primeras, Selenium y Jmeter, trabajan en la automatización de las pruebas funcionales, la tercera, Testlink, en la gestión de los casos de prueba. Aquí os dejo un breve resumen de estas herramientas para pruebas software.
¿Cómo sabes que el sistema funciona? Una respuesta común a esta pregunta es “porque el equipo de testing le echó un vistazo”.  El problema viene al tener que determinar la extensión y profundidad de las pruebas realizadas. Si eres afortunado y trabajas en una empresa con buenos procesos, podrás acreditar lo probado a través de una lista de casos de prueba. Si trabajas en una empresa de clase mundial, entonces hay una gran posibilidad de que tengas la fortuna de tener a tu disposición herramientas para la gestión y automatización de pruebas.De acuerdo con Elfriede Dustin, las herramientas de automatización de pruebas consolidan y mejoran la efectividad de las pruebas siempre y cuando se manejen las expectativas, se entiendan las herramientas, y se seleccione una herramienta compatible con el ambiente de programación. Si necesitas probar un sistema no trivial que conste de algo más que unas cuantas pantallas y reportes, entonces es muy posible que por medio de pruebas manuales no logres realizar todas las pruebas que necesitas para verificar la calidad del sistema. Con la ayuda de herramientas de automatización puedes ejecutar más pruebas, lo cual se traduce en una mayor cobertura del sistema que se está probando.
Selenium es uno de los software de código abierto más populares para automatizar procesos, utilizado para diversas aplicaciones y plataformas web como Windows, Mac y Linux. Al tratarse de un entorno de trabajo de probadores de automatización web, especialmente aquellos con habilidades avanzadas de programación y scripting, sus scripts se pueden escribir en diferentes lenguajes de programación como Java, PHP, Python, C #, Groovy, Ruby y Perl. Tiene una gran flexibilidad y varios niveles de complejidad. Selenium es la base para la mayoría de las otras herramientas de prueba en general.
SonarQube excede el concepto de ‘herramienta’ tal y como lo hemos utilizado en este artículo. Sonarqube es una plataforma que nos va a permitir valorar la calidad del código de una manera objetiva. SonarQube comenzó analizando únicamente Java, pero con el pasar del tiempo ha ido creciendo y actualmente soporta más de 20 lenguajes de programación (C#, C/C++, PL/SQL, Cobol y ABAP entre otros).

Please. Alguien me puede mencionar alguna herramienta para testear gratis un exe generado con código de Visual Fox Pro, realizado en Genexus. en Microsoft Test Maneger me da el error Cannot perform ‘SetProperty of Text with value “SA”‘ on the control. Additional Details: TechnologyName: ‘MSAA’ Name: ‘CCW333V11’ ControlType: ‘Edit’ SA, es un valor que yo ingreso.. Muchas gracias por su ayuda

Yo he usado tres: Trac. intenta muchas cosas, wikis, bugtracker, etc. Y en mi opinión no hace nada bien. Ejemplo de muchas funcionalidades pero ninguna bien. Jira. El que menos he usado pero me pareció un poco tedioso y complejo de usar. Bugzilla. La de horas que habré pasado con este… Es el que mas me gusta. Pero tiene muchas pegas. La primera el UI es un poco feo. Pero bueno se puede vivir con ello. Si no tienes cuidado se puede convertir en una fuente de spam. Yo quitando casi todas las notificaciones recibo mas de 200 mails diarios. Y por ultimo y lo peor de todo es que la búsqueda es muy mala. Los bugtrackers suelen ser unas grandes fuentes de información que se pierde al no ser fácil de encontrar. En mi proyecto, grande, siempre hemos dicho que a bugzilla le falta la capa social. Tener un muro con tus acciones, poder compartir bugs con tus colegas, y hacer favoritos. Añadiría diversión y utilidad. Eso si, solo para proyectos grandes. Para pocos desarrolladores inútil.
“Para muchos pueden ser más interesante herramientas que a priori no son gratis, como Shopify , pero que están en la nube, con costes muy bajitos y que están pensadas para que una persona de negocio se monte su propia tienda de forma muy fácil. Están más limitadas en funcionalidades y posibilidades a futuro, pero hay muchos casos de éxito (como el de Mimub.com) que han empezado con Shopify hasta que estaban facturando cientos de miles de euros al mes y migraron a otra plataforma”, continúa el CMO de BrainSins.
“Según la empresa crece, van a surgir nuevas necesidades para las que la versión gratuita no da soporte. Y no queda otra que pagar. Pero a día de hoy hay alternativas muy buenas con costes muy reducidos gracias al formato SaaS, que ha democratizado el acceso a estas herramientas. Estamos hablando de que por 10€-50€ al mes ya tienes acceso a soluciones como Pipedrive (un CRM que utilizamos nosotros ahora), que simplifican mucho los flujos de trabajo y ayudan mucho en el día a día por la optimización de tiempos”, comenta Cortizo.

La verdad es que para todo lo que sean pruebas de sitios web, la primera opción diría que es Selenium. Puedes empezar con Selenium IDE, que permite grabar y reproducir, y es muy sencillo de usar, y una vez tengas claro lo que quieres automatizar, pasarte a algún framework. Te dejo un video en español de introducción a Selenium IDE: https://www.youtube.com/watch?v=AptRJxAVsI4
Si creéis que, por ejemplo, intellitrace puede ser algo interesante para vosotros, entonces podéis optar por utilizar Microsoft Test Manager. Yo utilizaría una herramienta de pago siempre que otra gratuita no me permita lo mismo, o si la de pago me da un plus como puede ser intellitrace, o mucha mayor productividad, como ocurre con la versión Pro de SoapUI.
Otra duda razonable. Si existen herramientas todo en uno, ¿merece la pena escoger una más completa o las buscamos por especialidades? “Depende de las necesidades de la empresa. Para muchas, un software integrado que incluya funcionalidades de CRM y de ERP puede ser más que suficiente. Ahora bien, hay empresas donde alguna de estas partes cobra mucha importancia y necesitan un software específico. Por ejemplo, en retailers, el ERP es fundamental para gestionar bien el stock, las necesidades de compra, etc.”, explica José Carlos Cortizo.
WebImprints no sólo ayuda a los clientes con las pruebas, sino que también aporta buenas prácticas y metodologias en todo el proceso de desarrollo contribuyendo a la calidad del sistema o aplicación final. Somos un proveedor de servicios de pruebas de seguridad, aceptación, validación, funcional, rendimiento, regresión, sistema,integración y pruebas unitarias de software.
Buenos dias Javier. Gracias por tus interesantes aportaciones al manejo de Pymes. Tengo un negocio de venta de comidas, boquitas, otros, pero solamente en venta a empresas, bancos, cooperativas, otros, no hay venta directa al público. Deseo saber si existe un programa de uso gratuito para el control de compras de materiales, de fabricación de los diferentes menus, facturación a clientes (contado, credito), control de isv (impuesto sobre venta), pagos de luz, alquiler, agua, impuestos varios, control de pago de planillas, gastos varios, control de bancos, mantenimiento de equipo, compra de insumos, declaracion y controles contables. Tienes alguna recomendación ???? puede ser un solo programa ?? o deben ser varios????? Aguardo tu pronta recomendación. Muchos saludos y éxitos mil !!!!
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.
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.

Microsoft Test Manager (MTM) es la herramienta propiedad de Microsoft para la gestión y automatización de pruebas. Esta herramienta esta incluida en Microsoft Visual Studio Ultimate 2010 o en Visual Studio Test Professional 2010. El interfaz y el código generado en los scripts es bastante intuitivo, se debe de integrar con Team Foundation Server que almacena los casos de prueba y requerimientos entre otras cosas. El código generado se llama coded UI que graba operaciones de interfaz basado en Visual C#.NET. Además se pueden ejecutar las pruebas automáticas tanto en máquinas virtuales como físicas. Se instala en sistemas operativos Windows.
Mire y aprenda cómo la configuración de varias capas de CA Agile Requirements Designer puede ayudarlo a crear y mantener scripts de automatización de pruebas en varios lenguajes a la vez. Vea cómo los fragmentos de código automáticos se superponen directamente en un modelo de los requisitos, junto con potentes funciones de datos y terminales virtuales. Y cómo los scripts de prueba, los datos y los activos virtuales se pueden generar al mismo tiempo, y se actualizan automáticamente cuando cambian los requisitos.
Una herramienta que se puede recomendar y por cierto muy buena!!!! Es: Rational Team Concert no es una herramienta para hacer pruebas. Es una solución de gestión del ciclo de vida del software que permite colaboración(Creación de Tareas, Defectos, Historia etc.), facilita la planificación y ejecución de proyectos ágiles o formales con plantillas y herramientas de planificación, incluye plantilla para las metodologías SCRUM, RUP, etc., control de compilaciones, Dashboard, creación de informes etc., y es gratis hasta 10 desarrolladores.
×