Herramientas de Evaluación para Automatizar Pruebas de Sistemas Orientados a Objetos Leticia Dávila-Nicanor1, Ulises Juárez-Martínez2, Alejandro Romero Herrera1 1Maestría en Ciencias de la Computación Centro Universitario UAEM Valle de México Blvd. Universitario s/n Predio San Javier, Atizapán de Zaragoza, México 2Instituto Tecnológico de Orizaba – División de Estudios de Posgrado e Investigación Oriente 9 No. 852, Col. Emiliano Zapata, Orizaba, Veracruz, México, C. P. 94320 alex.romher@gmail.com, ldavilan@uaemex.mx, ujuarez@ito-depi.edu.mx Área de Participación: Ingeniería de Software 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
Cada vez las aplicaciones se vuelven más complejas, se le van añadiendo o modificando procesos y si a esto se le suma que el tiempo de entrega de dichas modificaciones disminuye, la inseguridad que produce la calidad final del software se incrementa. Esto ocurre porque muchas veces disminuye la calidad de la parte estable del producto y aumentan las incidencias detectadas.
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).
Entornos a certificar: para valorar este punto, tambien se debe tener en cuenta el anterior. Es posible que las pruebas a realizar en una aplicación sea necesario ejecutarlas sobre diferentes entornos de despliegue (distintos navegadores, servidores de aplicaciones, versiones de software). En este caso aunque el numero de pruebas sea reducido (y pueda pensarse que no es optimo automatizarlas), se debe repetir varias veces su ejecución por lo que puede compensar su automatización.
Hoy en día, incluso las empresas de tamaño medio tienen operaciones por todo el planeta. Y la mayoría de los productos de software de empresa, incluyendo IFS Applications, soportan múltiples idiomas, divisas y unidades de medida. IFS Applications ofrece también la funcionalidad de configurar fácilmente en el sistema nuevas divisiones o unidades de negocio, para gestionar a continuación los procesos a través de estas divisiones. IFS Applications proporciona soporte de procesos básicos como recursos humanos, finanzas, inventario y proyectos, en todas las áreas geográficas y divisiones de negocio o filiales. Hoy en día, el personal puede ser empleado de una compañía, reportar a un jefe que está empleado en otra, y registrar sus horas de proyecto en una tercera.
Para mostrar los procesos que se están llevando a cabo en la ejecución de la prueba en tiempo real (para el caso de ADB Input) se hace uso de WebSockets a través de la librería Socket.io cada vez que sucede un cambio en el servidor, es informado al cliente, al mismo tiempo se está almacenando dicha salida en la base de datos, para la generación del log de eventos (figura 16)
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.
¿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.
Son herramientas con utilidades diferentes. Para presentaciones almacenadas en la nube y totalmente gratuitas, las mejores son Google Slide y Prezi , sobre todo esta última. “Es muy visual, con efectos de zoom, etc. Ha evolucionado considerablemente hasta ofrecer muchas más opciones que antes. El handicap es que ya no eres original cuando usas Prezi, ya que la utiliza todo el mundo”, comenta Isra García. Otra cosa son las que nos ayudan a organizar la información de forma visual, como Infogram. “Crea increíbles infografías y gráficos en cuestión de minutos. Una herramienta muy útil a la hora de presentar datos”, añade.

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.


Un software muy usado es el de restaurante y hoteles, Ya muchos de estos negocios no funcionan como en el pasado. Ya los camareros no usan libretas donde escriben las órdenes o pedidos de los clientes, estas son reemplazados por  máquinas portátiles que notifican notifican a una computadora principal la que a su vez notifica al chef el cual inmediata mente empieza a preparar el pedido. Los Hoteles usan programas especiales que controlan el personal y lo que están obligados a hacer durante todo el día. Cuando un huésped de controles fuera de una sala de limpieza notifica a través de un ordenador que la habitación esté lista para la limpieza, el restaurante da una orden, y la recepción y conserjería de las solicitudes. Las facturas son impresas mucho más fácil y el registro le hace un seguimiento de todos los invitados, sus datos personales, direcciones, teléfonos, tiempos y otros preferencias.
Firebug es una extensión de navegador web que ayuda a los probadores en la depuración, edición y supervisión en línea de CSS, HTML y JavaScript de la aplicación web. Firebug junto con Firepath se utiliza para identificar XPath de cualquier elemento. Tanto Firebug como Firepath pueden instalarse como una extensión para Mozilla Firefox, mientras que Firebug Lite se puede agregar como una extensión de Chrome que proporciona una rica presentación de elementos HTML y DOM para la edición en directo.
Hoy en día, la automatización de pruebas es una tarea esencial  para proporcionar un servicio de  testing adecuado. Los sistemas que probamos han crecido tanto en tamaño como en complejidad. Necesitamos tener el tiempo de probar las nuevas funcionalidades de nuestros sistemas sin ignorar la funcionalidad previa. Una estrategia de automatización implementada apropiadamente nos ayudará a lograrlo junto con los demás beneficios mencionados en este artículo.
JMeter es una herramienta basada en Java diseñada para cargar el comportamiento de la aplicación y medir el rendimiento del sitio web. Puede probar recursos estáticos y dinámicos que incluyen servicios web SOAP / REST, sitios web HTTP y HTTPS, bases de datos, FTP y servidores de correo, así como PHP, ASP.NET y Java. Funciona simulando la carga en el servidor para analizar el rendimiento general de la aplicación / sitio web bajo prueba.
Un gestor de tareas es algo así como un bloc de notas muy sofisticado para crear listas de tareas y anotaciones de todo tipo y compartirlas con otros. Destaca sobre todas Evernote , con muchísima diferencia, seguida por RemembertheMilk . Y sólo algunos recomiendan la solución de Google Keep . “Evernote es la más completa para la parte de recopilar, procesar y compartir. Remember the Milk es un complemento perfecto a Evernote para administrar las listas de tareas y asignar tiempos (alarmas, listas automáticas, vencimientos, etc.), aunque se puede prescindir de ella. Las dos son multidispositivo y tienen una gran conexión con herramientas y apps de terceros”, comenta Emilio Rodríguez. Las dos son muy completas en sus versiones gratuitas, aunque en el caso de Evernote, “si la utilizas mucho, merece la pena recurrir a la versión de pago. Cuesta unos 40 euros al año”, explica Emilio Rodríguez.

La pregunta del millón - ¿qué herramientas utilizo para automatizar pruebas funcionales de software? – no tiene una respuesta sencilla. Son tantas las variables y aspectos a tener en cuenta para elegir las herramientas adecuadas que sería difícil realizar un listado. Dependerá de la funcionalidad, del tipo de aplicación, del lenguaje, del sistema de trabajo… Sin embargo, aquí te dejamos un listado que consideramos bastante completo, pero, nuestra recomendación en este aspecto es clara: antes de invertir en una herramienta de testeo de software, sea para automatizar o no, consulta a un experto en calidad de software. Ninguna herramienta, por muy buena que sea, puede hacer magia. Recuerda que el testing es una pequeña, pero indispensable parte de un conjunto, por lo que no puedes tratarlo por separado, ni desintegrarlo del resto de factores que influyen en la calidad de tu software.


El problema de armar algo a medida desde cero (o sea desde la programación) es la actualización del mismo. Un alternativa mucho más razonable por su sencillez, costo y posibilidades de actualización es hacerlo tu misma mediante una base de datos con capacidades gráficas, ahí mi programa preferido es sin duda FileMaker, que, además ofrece muchísimos plantillas de gestión de negocios específicos que puedes adaptar muy rápidamente a tus necesidades.


De forma breve, el software de administración de negocios ayuda a gestionar todos los procesos de negocio básicos por medio de un sistema. También ayuda a las empresas de todos los tamaños a recopilar datos e informar sobre los últimos resultados en los diversos procesos en que éstas se desenvuelven. Al ser gestionados todos los aspectos relativos a los negocios por medio de un sistema informático, desde las ventas hasta la contabilidad, se recopilarán todos los datos en un medio interactivo y accesible en cualquier momento y lugar. ¿Siguen gestionando sus tareas e información mediante métodos viejos de administración propensos a errores o hacen uso de herramientas en línea que funcionan mal? Entonces echen un vistazo más de cerca a las principales características y beneficios del software de gestión empresarial, el cual, puede convertirse en una herramienta excepcionalmente poderosa en manos de líderes empresariales inteligentes, y emprendedores con propuestas prometedoras.
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

El reto planteado para la entrega final de la asignatura, una vez visto, aprendido y puesta en práctica las técnicas anteriormente mencionadas, era el desarrollo de una herramienta que realizará pruebas automáticas, bien sea de aplicaciones web o de aplicaciones móviles, en este caso era posible extender las existentes, lo que el usuario debía entregar era el denominado SUT (Software under test) como podía ser la URL de una aplicación web o el empaquetado de una aplicación nativa, en este caso Android (APK).


Muchas herramientas de automatización de pruebas proveen características para grabar y reproducir acciones del usuario para posteriormente ejecutarlas un número indefinido de veces, comparando resultados obtenidos con resultados esperados. La ventaja de ésta aproximación a la automatización es que requiere de menos desarrollo de software, sin embargo el confiar en éstas características del software lo hace menos confiable en la medida que muchas veces dependen de la etiqueta o posición del elemento de interfaz, y, al cambiar, el caso de prueba debe ser adaptado al cambio o probablemente fallar. Una variante de estas pruebas es la prueba de sistemas basados en la web en las que la herramienta de prueba ejecuta acciones sobre el navegador e interpreta el HTML resultante. Una variación más es la automatización sin scripts, que no usa grabación y reproducción de acciones sino que construye un modelo de la Aplicación Bajo Prueba ABP (AUT en sus siglas en inglés) que permite a la persona que prueba ("tester") que cree pruebas simplemente editando parámetros y condiciones.
Eggplant es la solución que presenta la compañía Testplant. Esta herramienta es independiente de las tecnologías ya que utiliza la pantalla como imagen y mediante reconocimiento OCR es capaz de identificar imágenes y texto para su utilización. Tiene un interfaz sencillo aunque utiliza un código de generación de scripts muy poco extendido en la actualidad, Sense Talk, originalmente desarrollado por Next Step. Esta herramienta se puede integrar con otras muchas como Eggplant Manager, también de este fabricante. Se puede usar tanto Windows, MacOS y Linux.
Algunas de las que aquí se recogen las facilita Leticia del Corral, experta en marketing online para empresas que venden a empresas. Así, dentro de las herramientas de atracción señala algunas como Dux Soup , una extensión de Chrome freemium que sirve para hacer una búsqueda en Linkedin, bien personalizada, bien de grupo, y te muestra todos los perfiles de esa búsqueda que has hecho. Luego avisa de las personas que han visitado tu perfil y, si te interesa, entras en contacto con ellas. Está también Seo by yoast, un plugin para Wordpress también freemium que ayuda a posicionar mejor tu sitio en los buscadores mejorando tu web y tus publicaciones. Te va haciendo sugerencias como, por ejemplo, utilizar frases más cortas o incluir alguna ilustración gráfica a un texto.
Nótese que en este artículo no recomendaremos ningún software en particular, porque incluso nuestra herramienta hecha en casa necesita de Pandora FMS para que se encargue de entregarle los datos, para que se convierta en información y genere las alertas necesarias, de ser el caso, desde el punto de vista de la monitorización. Así que cada caso y necesidad son muy particulares. En honor a la justicia, los enumeraremos de acuerdo al año en que fue liberada su primera versión al público, y seguro que os agradará la lista que hemos preparado.
La automatización de pruebas de carga se ha vuelto una necesidad para poder evitar así arriesgar la integridad del negocio con anomalías inesperadas además existen un sin fin de herramientas de prueba de carga como agileload (http://es.agileload.com) que te ayudan a crear guiones de prueba , a diagnosticar problemas además simula de manera realista la carga .
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.
La pregunta del millón - ¿qué herramientas utilizo para automatizar pruebas funcionales de software? – no tiene una respuesta sencilla. Son tantas las variables y aspectos a tener en cuenta para elegir las herramientas adecuadas que sería difícil realizar un listado. Dependerá de la funcionalidad, del tipo de aplicación, del lenguaje, del sistema de trabajo… Sin embargo, aquí te dejamos un listado que consideramos bastante completo, pero, nuestra recomendación en este aspecto es clara: antes de invertir en una herramienta de testeo de software, sea para automatizar o no, consulta a un experto en calidad de software. Ninguna herramienta, por muy buena que sea, puede hacer magia. Recuerda que el testing es una pequeña, pero indispensable parte de un conjunto, por lo que no puedes tratarlo por separado, ni desintegrarlo del resto de factores que influyen en la calidad de tu software.
Hola a todos, muy buena pagina, yo llevo 2 años en el mundo QA y siempre llevo mis trabajo de forma manual, creo que ya es tiempo de hacer el trabajo con automatización. De los programas mencionados a sido difícil de encontrar tutoriales en español (Video) como para comenzar a utilizar, en mi trabajo reviso mas paginas web E-commers, cual me recomiendan? saludos.
El reto planteado para la entrega final de la asignatura, una vez visto, aprendido y puesta en práctica las técnicas anteriormente mencionadas, era el desarrollo de una herramienta que realizará pruebas automáticas, bien sea de aplicaciones web o de aplicaciones móviles, en este caso era posible extender las existentes, lo que el usuario debía entregar era el denominado SUT (Software under test) como podía ser la URL de una aplicación web o el empaquetado de una aplicación nativa, en este caso Android (APK).
En este artículo tienen toda la razón, ya que la mayoría considera que las pruebas funcionales son las únicas que se pueden automatizar con herramientas como Selenium, Selenide, QTP, etc; pero hay que tener en cuenta que las pruebas unitarias a nivel de clases críticas, que tienen bastante dependencia en las funcionalidades de los aplicativos, es necesario validar su comportamiento con los tantos cambios que sufren. Hoy en día vivimos en una era donde los conceptos de SOA, MicroServicios, ESB, toman mayor fuerza, por ende, el automatizar la validación de estos se hace necesario.
×