Si nos fijamos en cualquier empresa que valore la importancia de la calidad de sus productos y servicios, probablemente habrá contratado profesionales especializados en pruebas, ya sean externos o internos. Según la organización y el tamaño de la empresa, estos recursos pueden formar parte del equipo de Testing y Calidad o estar contratados exclusivamente para proyectos específicos.
Necesito un software para realizar robots y buenas pruebas de QA. pero necesito que pueda insertar cualquier exe en dicho software y ejecutar las pruebas sobre ese exe. Existe alguna herramienta que puedo utilizar. Son exes desktop. Estoy viendo Microsoft Team Manager pero veo que es con Microsoft Foundation Server y solo para Visual Studio y necesito alguno para hacer robots y buenas pruebas de regresion.
Selenium  ofrece la ventaja de ser una herramienta de código abierto. Esta herramienta esta diseñada exclusivamente para navegadores, es decir, que esta diseñada para tecnologías web. Se puede escribir los scripts tanto en C#, Java, Groovy, Perl, PHP, Python y Ruby. En cuanto al soporte, viene dado a través de la comunidad que lo desarrolla y colabora en ello, pero eso no garantiza una respuesta. Esta herramienta se puede usar en Windows, Linux y MacOS.
en muchos de los casos, el código es heredado o forma parte de un diseño orientado al reúso de componentes. La arquitectura propuesta está conformada de 3 subsistemas. De acuerdo a la Figura 1, al primero subsistema se le denomina inspector de código. El objetivo de este subsistema es evaluar al sistema en reposo. La primera acción que realiza el inspector es inspeccionar el bytecode para obtener la arquitectura interna del sistema. Esta información se contrasta con la información de la matriz de pruebas, en donde se encuentran los registros de todos los parámetros necesarios para ejecutar correctamente cada caso prueba creado. El segundo subsistema es el evaluador de casos. El principal objetivo de este subsistema es generar un ambiente de evaluación real, en donde un grupo de evaluadores virtuales ejecutan cada uno de los casos de prueba de acuerdo a la funcionalidad del sistema en cuestión. Cada evaluador será apoyado con un aspecto que insertará las cláusulas en la codificación de los parámetros necesarios para cada caso de prueba. La gran ventaja de este enfoque es que no es necesario compilar el código para cada clausula insertada. El último subsistema recopilará la información resultante de cada prueba, en este caso será generada una pequeña una bitácora en el cual será especifica si la prueba fue exitosa o no. La información de las bitácoras generadas se guardará en una base de datos para estimar las métricas, las variables y sus valores del contexto de ejecución en donde se dieron los fallos, para su posterior análisis. El proceso de evaluación del sistema se realizará utilizando la técnica de simulación orientada a eventos discretos. En cada evaluación el tiempo asignado será ejecutado por el selector de casos y cada evaluador virtual será generado de forma aleatoria y automática. Figura 1. Arquitectura de la herramienta de evaluación propuesta. Las ventajas de nuestro framework de evaluación son: • La inspección de la arquitectura será basada en el bytecode o código fuente y en la funcionalidad del sistema. • La emulación de un grupo de evaluadores virtuales en entornos reales de ejecución. • El control de los casos de prueba durante la ejecución mediante la POA permite reducir el costo computacional. Esto es debido a que este proceso en la actualidad se hace mediante complicados algoritmos genéticos. • La utilización la técnica de simulación orientada a eventos discretos permite modelar el comportamiento de los evaluadores de una forma más acercada a la realidad. Conclusiones El proceso de pruebas siempre ha sido muy costoso, pero en la actualidad, los esquemas tradicionales de evolución no son suficientes. Se tienen lenguajes como Java, en donde la mayor parte de su funcionalidad se resuelve a tiempo de ejecución. Esta situación dificulta la planeación y ejecución de pruebas. De acuerdo al análisis de los instrumentos de evaluación reportados en el presente trabajo, se determinó la mayoría de los trabajos se enfoca en la cobertura del código. Dichos instrumentos, utilizan normalmente un
• 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?
sistemas que se desarrollan en la actualidad siguen presentando fallos en su ejecución, dichos fallos tienen costos significativamente altos. El propósito general de evaluar sistemas es localizar la mayor cantidad de fallos posibles para corregirlos. De acuerdo al estándar IEEE 1633-2008 (Norman F. Schneidewind, 2008), un fallo es una condición accidental que hace que una unidad funcional falle al ejecutar su función requerida. La funcionalidad del sistema queda establecida desde la etapa de análisis y especificación de requerimientos del proceso de desarrollo de software. La importancia de un buen proceso de evaluación se debe a que si no se realizan las pruebas de forma pertinente y adecuada, es imposible asegurar que un producto de software cumple con la funcionalidad de acuerdo a las especificaciones establecidas en relación con los requerimientos del sistema. Sin embargo el número de pruebas que se realizan para localizar y corregir fallos presenta una tendencia exponencial (Jelinski, 1972). Durante la etapa de pruebas, se tienen dos enfoques que son de gran importancia para lograr identificar los fallos existentes en un sistema, estos son la Verificación y Validación. Durante la Verificación se determina si el sistema o una parte de él operan de una manera satisfactoria. Bajo el enfoque de Validación se determina si un sistema o parte de él satisface los requerimientos establecidos por el cliente. Así esta fase del proceso de desarrollo es una forma de medir y mejorar la confiabilidad de software. Este artículo está organizado de la siguiente forma, en la sección 2 se presenta el marco teórico en donde el concepto de confiabilidad de software es abordado. En la sección 3 se describen algunas herramientas de evaluación de sistemas orientados a objetos. En la sección 4 se presenta la propuesta del presente trabajo. Finalmente en la sección 4 se exponen algunas conclusiones y el trabajo a futuro. Marco teórico La confiabilidad de software se define como la probabilidad que tiene un sistema de operar libre de fallos durante un tiempo determinado en un ambiente específico (Musa, 2004). Esta es un área de gran importancia en el proceso de desarrollo de software. En la actualidad la confiabilidad es un atributo de calidad que se exige en el desarrollo de cualquier aplicación de software. Cuando las aplicaciones de software carecen de confiabilidad se tienen consecuencias económicas, políticas y sociales. Para tener niveles adecuados de confiabilidad es necesario evaluar al sistema en cuestión, localizar y corregir la mayor cantidad de fallos antes de que el producto final sea liberado. Pruebas de software La fase de pruebas es una tarea que consume muchos recursos. Para ejecutar esta fase en la práctica las organizaciones que desarrollan software asignan un grupo de evaluadores físicos, los cuales realizan este proceso de forma manual en un lapso de varios meses e incluso años. Este enfoque consume mucho tiempo y conlleva altos costos. Para lograr una cobertura adecuada en la evaluación del sistema en cuestión, es necesario: seleccionar los datos de prueba, las variables del entorno de evaluación, determinar el número de pruebas y el tiempo asignado para este proceso. En la ejecución de la cobertura de evaluación, algunos autores desarrollan modelos de predecibilidad apoyados de métricas de software (Basili, 1996). Para optimizar los recursos que son empleados en la ejecución de miles o millones de pruebas es adecuado utilizar instrumentos de evaluación (Ragab, 2010). Se han realizado algunas propuestas para evaluar sistemas en Internet, entre estas propuestas esta (Davila-Nicanor, 2005), en donde se desarrolló un herramienta la cual automatiza la ejecución de las pruebas, reduciendo el tiempo proyectado para la ejecución de 5000 pruebas funcionales de 4 años a tan solo 6 horas. En la evaluación dinámica de un sistema de software, muchos autores se han enfocado principalmente en 2 tipos de pruebas: las pruebas unitarias y las pruebas de integración. Una cantidad importante de trabajos se han enfocado a pruebas unitarias. Mientras que en pruebas integrales existe una menor incidencia de trabajos. Es importante resaltar que para este último enfoque el contexto de operación es determinante, tal es el caso del lenguaje Java, en el cual las clausulas más importantes se resuelven a tiempo de ejecución, un ejemplo de ello son aspectos como el polimorfismo y la herencia. Pruebas Unitarias Durante la fase de pruebas, el proceso de evaluación tiene dos aspectos importantes, el primero está orientado al desarrollo de pruebas unitarias o modulares. Estas pruebas se basan en comprobar unidades individuales de código y determinar si estas cumplen con los requerimientos establecidos. Cuando hablamos de unidades nos referimos a secciones del código que pueden probarse de forma independiente. En un sistema orientado a
“Son herramientas que nos ayudan a conocer cómo está nuestra web o negocio online, en cuanto a SEO, competidores, keywords, rankings y otra serie de parámetros. En el mercado encontrarás versiones gratuitas y suficientes, como Mozbar y Quicksprout. Para mí esta última es la mejor para informes sobre tu web y para compararte con la competencia”, explica Emilio Rodríguez.

En este siglo XXI, los equipos pronto comenzaron a sobrepasar las capacidades de uso de sus propietarios y la potencia de cálculo nos permitió usarlos más allá del uso común y corriente. Una de esas tareas es la ejecución de herramientas para pruebas, orientadas hacia el campo que nos incumbe aquí: la monitorización. Las herramientas para pruebas se utilizan, por ejemplo, en la monitorización de Caja Abierta y Cerrada, y en el artículo sobre la optimización de rendimiento web os nombramos algunas de ellas (“Selenio, TestingWhiz y TestCompleto”). Por supuesto, Pandora FMS y la flexibilidad que le caracteriza combina todo ello en la Monitorización UX PWR. Os invitamos a leer dichas publicaciones y regresar con nosotros a este artículo para profundizar en las herramientas para pruebas.
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.

Dadas las características de la automatización de pruebas funcionales que hemos descrito podemos deducir que no siempre y para todo sirven. Las pruebas están diseñadas para funcionalidades concretas - fueron pensadas para agilizar una parte del proyecto, no para gestionar toda la calidad del código (sí volvemos a la idea inicial). Por eso encontramos y encontraremos detractores de la automatización. Tenemos que ir con cuidado con el testing automation: es un arma de doble filo y como tal hay que saber usarla. Entonces, ¿qué casos de prueba se deberían automatizar?
Para la empresa que no trabaje con clientes ni tenga que controlar stock, etc. serviría una herramienta exclusivamente de facturación como Factura Directa. Para la gestión del punto de venta y generar recibos digitales, llevar el inventario y diseñar informes de venta, una buena solución gratuita es Caja Square . Y para negocios más complejos, hay que pensar en herramientas más completas: como ERP el más recomendado es Openbravo y como CRM, Zoho CRM .
También existen soluciones gratuitas, como WooCommerce, que permiten montar un comercio a partir de una web de Wordpress. “Su gracia es que funciona sobre Wordpress, que es una solución tan extendida que mucha gente de marketing y negocio la sabe utilizar a nivel usuario. De esta forma, la curva de entrada es mucho más simple. Yo la recomendaría siempre que tu estrategia de marketing se base en contenidos (posts) y quieras que el blog tenga el mismo protagonismo que la tienda (de esta forma está todo en una misma plataforma)”, comenta Cortizo.
IFS ofrece también un amplio soporte para múltiples modos de fabricación y procesos de negocio que permite que las divisiones compartan la misma solución de empresa, junto con el soporte de un esquema de impuestos de economías emergentes vitales como Brasil. Y además, una sólida organización de servicios globales con una amplia experiencia en gestionar implementaciones globales.
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.
La automatización de pruebas debe implicar a todo el equipo de desarrollo, desde los analistas empresariales hasta los evaluadores. Nuestras pruebas basadas en roles permiten que los participantes de la empresa con perfil no técnico, ingenieros de control de calidad y programadores contribuyan a la creación de pruebas, lo que se traduce en calidad y velocidad.
“Micro Focus”®, una empresa fundada en 1976 por Brian Reynolds en el Reino Unido, lanzó en 1998 esta herramienta que aún utiliza tecnología “noventera”: VBScripting. Es software privativo que se ejecuta en “Microsoft Windows”® (GNU/Linux había sido lanzado hace apenas 4 años y aún le faltaba mucho camino por recorrer), pero no subestimemos a esta empresa por ello, al contrario, se ha modernizado de acuerdo al paso del tiempo. En ese mismo año, “Micro Focus”® adquiere Intersolv®, en 2009 adquiere la legendaria Borland® y en 2014 adquiere “Atachmate Group”®, quienes a su vez eran propietarios de Novell®, NetIQ®, y SUSE®. ¡A menos que hayan vivido en una caverna, por lo menos una de esas empresas deben conocer! Para la guinda del pastel, en 2017 se fusionó con “HP Enterprise”®, división que atiende sólo necesidades de software para empresas. ¡Todo un gigante y con muchas libras esterlinas en su haber!
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. 
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.
UIAutomator es un marco para pruebas de interfaz de usuario funcional para aplicaciones de Android. Permite a los probadores probar las aplicaciones de Android creando múltiples casos de prueba que pueden ejecutarse en varios dispositivos con diferentes resoluciones. UIAutomator también puede utilizarse para probar aplicaciones preinstaladas, como Ajustes del teléfono, así como aplicaciones de terceros.

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.


El software de gestión empresarial combina los datos de todas las demás herramientas que utiliza y establece un intercambio rápido de información entre los departamentos de negocios. Debido a que todos los datos importantes se recogen en un sólo sistema central, nadie del personal permanece en la incertidumbre o está obligado a pedir a sus colegas información. Aunque cabe enfatizar que se mantiene cierto grado de privacidad para que accedan a la información sólo personas autorizadas por la empresa. Otro beneficio de la gestión de todas las operaciones de negocio dentro de un único sistema es la capacidad que brinda para construir vínculos entre diversos datos que competen a las empresas. Con ello se les da a los usuarios una comprensión completa de cómo determinadas actividades influyen en su presupuesto o en los resultados de las ventas. Por ejemplo, se pueden vincular aspectos sobre el marketing y la administración de las relaciones con los clientes, para determinar los alcances y crecimientos de la empresa, asimismo, vincular las tareas completadas a proyectos con el fin de posibilitar una facturación eficiente para el trabajo y los costos de éstos.

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.
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.
Para un análisis profundo, de utilidad y que le permita realizar descubrimientos, conjugue sus dos activos más importantes: su gente y sus datos (tanto big data como datos de menor volumen). Tableau admite análisis a medida por parte de prácticamente cualquier usuario. De este modo otorga a todo el personal la capacidad para ver y comprender mejor sus datos. Además, permite a sus analistas de negocios publicar KPI de toda la empresa en una plataforma de análisis centralizada y fácil de usar.
Según mi punto de vista, todos los profesionales de calidad deberían formar parte del mismo equipo dentro de la empresa, a no ser que esta tuviera varias líneas de negocio extremadamente distintas. En cuanto a las personas especializadas en automatización de pruebas, estas deberían considerarse como un equipo autónomo incluido dentro del equipo de Testing. Esto ocurre debido a que las características de los procesos de automatización no son las mismas si las comparamos con las actividades de los Testers, Test Leads y Test Managers encargados de gestionar las pruebas manuales.
×