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.
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
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.
Por su parte en CICE , escuela especializada en formación en nuevas tecnologías de la información hablan de otras herramientas útiles, aunque no gratuitas, como BuzzMonitor , con soluciones que abarcan desde la monitorización de una marca o cualquier tema en las redes sociales usando términos, geolocalización o mediante el perfil de usuario, social analytics o identificación de influencers entre muchos otros, brandwatch, para conocer lo que piensan los consumidores de tu marca, o Meltwater , una plataforma de marketing que ofrece soluciones de monitoreo, interacción y análisis de medios sociales.

Resumen La calidad de software se ha convertido en un tema de gran importancia y la base de un gran número de investigaciones. Para obtener mejores niveles de calidad, se han utilizado modelos matemáticos e instrumentos de evaluación. Sin embargo el costo de la evaluación de un sistema es muy alto, esto es debido, a que las pruebas que se realizan a un sistema de software, normalmente son del orden de miles. El objetivo de evaluar un sistema es encontrar la mayor cantidad de fallos posibles optimizando los recursos que se tienen asignados al proyecto. A pesar de muchos esfuerzos, en la actualidad los paradigmas de programación como el orientado a objetos (POO) y el orientado a aspectos (POA), tienen características en donde las técnicas clásicas de pruebas no son suficientes. En este trabajo se propone un novedoso esquema de evaluación para sistemas orientados a objetos, en donde se combina la planeación de las pruebas, apoyada con técnicas de programación orientada a aspectos. Este enfoque mejora la eficiencia de la técnica de pruebas de caja negra para lenguajes como Java. Nuestra herramienta de evaluación se enfoca en medir los niveles de confiabilidad mediante la emulación de un ambiente controlado con evaluadores virtuales, lo que permite reducir los costos y mejorar la eficiencia en el proceso de evaluación. Abstract Quality software has become an issue with great relevance and it has been the basis of many researches. To obtain best quality levels it has been used different math models and assessment tools. However, the cost to evaluate any system is high, due to the test that have been implemented, it must be run thousands of times. Aim of evaluate a software system is to debug most errors so optimize resources allocate to the project of software. In spite of many efforts, currently the programming paradigms like object-oriented programming (OOP) and aspect-oriented programming (AOP), have characteristics where the testing classic techniques are not enough. In this paper we propose a novel evaluation scheme for object-oriented systems, where planning of tests and techniques supported with aspect-oriented programming are combined. This approach improves the efficiency of the technique of black box testing for programming languages like Java. Our assessment tool focuses to measure the levels of reliability by emulating of a controlled environment with virtual evaluators, thereby reducing costs and improvement the efficiency of process of evaluating. Palabras clave: Confiabilidad, pruebas, calidad, programación orientada a objetos. Introducción Durante el proceso de desarrollo de software, la etapa de localización y corrección de fallos, es decir, la fase de pruebas, puede llegar a ocupar desde un 40% hasta 60% de los recursos totales asignados al proyecto de software (Sommerville, 2007). En un contexto ideal, se espera que un sistema desarrollado de una forma adecuada, presente la menor cantidad de fallos posibles. Sin embargo y a pesar de muchos esfuerzos, los
Merece la pena añadir a estas herramientas otras que nos ayuden a organizar mejor el correo, como Unroll.Me, para olvidarte del correo basura. “Ahora Google ha lanzado la competencia a Mailbox, que se llama Inbox. Son fantásticas para una gestión eficiente del email personal. Unrol.Me es, sencillamente, buenísima. No es un gestor de correo como las otras, sirve para ver a qué estás suscrito, darte de baja fácilmente de las que no te interesen y agrupar las otras en un mismo email”, dice Emilio Rodríguez.
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.
FileZilla es una aplicación FTP multiplataforma para clientes y servidores. Permite a los usuarios cargar y descargar archivos desde y hacia su sitio FTP, así como realizar múltiples transferencias de archivos y navegación simultáneamente. FileZilla ayuda a transferir en FTP, SFTP, FTP cifrado como FTPS y SFTP. También incluye un administrador de sitio que puede almacenar todos los detalles de la conexión en una interfaz tipo Explorer.
• 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?
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.

Jelinski, Z. A. (1972). Software Reliability Research. In Statistical Computer Performance Evaluation. New York:academic Press. Laddad, R. (2003). AspectJ in Action. Manning. Musa, J. D. (2004). Software Reliability Engineering. New York: Mc Graw Hill. Norman F. Schneidewind, L. J. (2008, Junio 27). IEEE Recommended Practice on Software Reliability. New York, NY 10016-5997, USA. Oracle. (2014). http://www.oracle.com. Ragab, S. a. (2010). Object oriented design metrics and tools a survey. In Informatics and Systems (INFOS), 2010 The 7th International Conference on (pp. 1-7). Rathore, S. a. (2012). Investigating object-oriented design metrics to predict fault-proneness of software modules. In Software Engineering (CONSEG), 2012 CSI Sixth International Conference on (pp. 1-10). doi:10.1109/CONSEG.2012.6349484 Sommerville, I. (2007). Software Engineering. Pearson Education. Wahid, M., & Almalaise, A. (2011). JUnit framework: An interactive approach for basic unit testing learning in Software Engineering. Engineering Education (ICEED). doi:10.1109/ICEED.2011.6235381 Autorización y renuncia Los autores del presente artículo autorizan al Instituto Tecnológico de Orizaba (ITO) para publicar el escrito en la revista electrónica “Coloquio de investigación multidisciplinaria” con registro(ISSN2007$8102 en su edición 2014. El ITO o los editores no son responsables ni por el contenido ni por las implicaciones de lo que está expresado en el escrito.
HP Unified Functional Testing era antes conocida como Quick Test Professional, QTP. Soporta una variedad muy extensa de tecnologías: Java, Sap, Siebel, Visual Basic .Net y Oracle entre muchas otras. Esta Herramienta se basa en el reconocimiento de objetos, aunque se puede utilizar el posicionamiento dentro de una pantalla para la realización de pruebas, así como reconocimiento de texto por OCR.  Al poseer un interfaz amigable y un código de generación de scripts en visual basic se consigue que se aprenda más fácilmente, obteniendo una curva de aprendizaje muy alta desde el primer momento. Esta herramienta se suele integrar con todas las herramientas de la suite de HP como Quality Center (gestor de requisitos, casos de prueba y defectos). También hay que decir que al estar una empresa detrás como HP, el soporte es muy amplio y hay gran cantidad de ingenieros de calidad para su soporte dando fiabilidad y eficiencia. Esta herramienta se instala en cualquiera de las versión de Windows recientes.

A problem which confronts the developers of concurrent logic programming (CLP) systems concerns the design of the programming environment, particularly the provision of debugging tools. Debugging tools are useful for many activities besides identifying bugs: they can help in program testing and demonstration, in software experiments, and in teaching the language semantics. For CLP languages the ... [Show full abstract]Read more

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.
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.
HP Unified Functional Testing era antes conocida como Quick Test Professional, QTP. Soporta una variedad muy extensa de tecnologías: Java, Sap, Siebel, Visual Basic .Net y Oracle entre muchas otras. Esta Herramienta se basa en el reconocimiento de objetos, aunque se puede utilizar el posicionamiento dentro de una pantalla para la realización de pruebas, así como reconocimiento de texto por OCR.  Al poseer un interfaz amigable y un código de generación de scripts en visual basic se consigue que se aprenda más fácilmente, obteniendo una curva de aprendizaje muy alta desde el primer momento. Esta herramienta se suele integrar con todas las herramientas de la suite de HP como Quality Center (gestor de requisitos, casos de prueba y defectos). También hay que decir que al estar una empresa detrás como HP, el soporte es muy amplio y hay gran cantidad de ingenieros de calidad para su soporte dando fiabilidad y eficiencia. Esta herramienta se instala en cualquiera de las versión de Windows recientes.
En las pruebas de software, la automatización de pruebas consiste en el uso de software especial (casi siempre separado del software que se prueba) para controlar la ejecución de pruebas y la comparación entre los resultados obtenidos y los resultados esperados. La automatización de pruebas permite incluir pruebas repetitivas y necesarias dentro de un proceso formal de pruebas ya existente o bien adicionar pruebas cuya ejecución manual resultaría difícil.
El servicio de automatización de pruebas tiene como objetivo reducir el tiempo de ejecución de pruebas repetitivas y/o de regresión por parte del personal de pruebas. Esto es posible mediante la utilización de herramientas, estrategias y robots con la capacidad de ejecutar pruebas a muy altas velocidades. Nuestro servicio ofrece los siguiente beneficios:
Paint de Microsoft. Si, hay un montón de alternativas mucho más completas e interesantes, como Greenshot, del que hemos hablado aquí, o Jing, del que hablaremos en breve. Pero en muchos casos, con Paint es suficiente. Es un programa básico, incluído en todas las versiones actuales de Windows, por lo que si usas alguna versión de este sistema operativo, lo usarás a menudo. En 3 simples pasos puedes tener un pantallazo, y con poco más puedes destacar un punto en concreto y añadir un texto descriptivo en la imagen:
Si no quieres invertir dinero en tener tu propia web, Wordpress y Wix son las alternativas más sencillas. Las dos tienen buena fama y, en especial, la primera. “Wordpress es la mejor para crear blogs y webs. Eso sí, hay que tener en cuenta que, aunque es gratis, a medida que vas añadiendo plugins y funcionalidades extras, sobre todo los potentes, cuestan dinero. Por lo que se suele pagar muchas veces es por la plantilla que vas a usar en tu web o blog. Pero la plataforma en sí es gratis. Para páginas webs sencillas de una sola página o landing page para captar clientes, también es muy recomendable Instapage ”, apunta Emilio Rodríguez.

Hablábamos hace unas semanas, en el post de una lista de herramientas de calidad software imprescindibles, sobre como en estos años se ha disparado el número de herramientas para el control de la calidad software. En aquel post hablamos de herramientas de calidad software “estáticas” (es decir, analizan sin ejecutar el software) y de “caja blanca” (analizan en base al código fuente). Y nos quedó pendiente mencionar otro grupo de herramientas de calidad software: las herramientas para pruebas software, de caja negra.
¿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.

Hola Javier, ante todo muchas gracias por tu información, es de gran utilidad. Me gustaría que me recomendases algún programa gratuito que me permita gestionar mi negocio, resulta que tenemos 2 restaurantes y una nave que nos sirve de almacén, en este caso necesitaría un programa para controlar lo que compro a los proveedores y a que precio y también registrar cuantos productos van a cada restaurante, a parte de saber cuantos quedan en almacén en ese momento. Espero que me puedas aconsejar alguno ya que ando bastante perdido. Muchas gracias y un saludo.
Podríamos preguntárnoslo de otra manera, ¿cómo es que ahora todo el mundo automatiza? o ¿qué está sucediendo para que la automatización sea indispensable? Bien, la respuesta es lógica y sencilla. Dadas las nuevas tecnologías y enfoques clave como la cultura DevOps, la productividad de los equipos de software ha aumentado mucho y el time-to-market se ha reducido considerablemente. Por tanto, todo aquello que: a) ayude a ser más ágil, b) permita a los desarrolladores dedicar tiempo a lo que realmente necesita de su atención, y, sobre todo, c) permita llegar al mercado mucho más rápida y eficientemente, es estratégicamente indispensable si se quiere sobrevivir en el mercado. A todo ello contribuye y mucho la automatización de pruebas funcionales- no sólo porque dejan tiempo al tester, sino porque además estas pruebas son reutilizables. Además, la automatización de las pruebas aporta tranquilidad al ajustar y mejorar las principales funcionalidades, ya que brindan información sobre el impacto de los cambios realizados.
Se trata de un sistema tan fácil de emplear y tan versátil, que puede hacer accesibles todos los métricos de negocios importantes con tan solo hacer un clic. Mediante la adición de métricas, gráficos, eventos de calendario, listas de tareas, presupuestos, entre otros detalles, al tablero de mandos, se puede personalizar al sistema para que muestre exactamente la información que el usuario necesita. Las soluciones de gestión mediante software de pequeñas empresas no tienen restricciones con respecto a las herramientas que pueden utilizarse, ya que esto depende completamente de las necesidades y preferencias de la empresa.
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.
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.
Llevo trabajando de QA en una empresa de educación algo más de 1 año pero en ningún momento hemos automatizado. De programación ando algo corto pues la mayoría de conocimientos son a nivel de sistemas y bbdd por lo que necesitaría una aplicación en la que haya que picar el menor código posible, utilizando principalmente la grabación para pruebas funcionales; la mayoría de nuestras aplicaciones son en .net, formularios web y plataformas lms. Probamos superficialmente Selenium pero no nos terminó de convencer
WorkProject te permite registrar de forma automática el tiempo invertido en cada uno de tus proyectos. Esta herramienta registra toda la actividad realizada a través de un dispositivo (ordenador, tablet o teléfono móvil), y permite filtrar esta actividad por departamentos, empleados y fechas. A través de WorkProject, puedes ver al instante los costes dedicados a cada uno de tus proyectos, además de los márgenes y beneficios de los mismos. Permite automatizar multitud de tareas relacionadas con la gestión de proyectos, que pueden liberar de una gran carga de trabajo a directores de proyecto y managers. Cuenta con muchas otras funcionalidades, como un sistema de reglas para automatizar un registro detallado de la actividad, previsiones, editor de actividad, diagrama de Gantt... Puedes probarla totalmente gratis entrando en nuestro entorno de demo. 
· Sin desmerecer ningún lenguaje ya que todos son herramientas y/o formas de comunicación con una computadora creo que (es mi opinión personal) para una persona que no sabe o sus conocimientos sobre programación son muy pocos, un lenguaje del estilo C#, .NET, Java que son lenguajes compilados, se hace un poco mas costoso el aprendizaje, es decir que la curva se hace un poco mas pesada en la relación Aprendido/tiempo.
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.
×