inspector de código para crear los casos de prueba necesarios. Algunas propuestas utilizan los archivos fuente de Java y otras se basan en diagramas UML para conocer la arquitectura del sistema. Nuestra propuesta se basa en retomar la parte de planeación y ejecución de pruebas que marca la teoría clásica, apoyada con técnicas de programación novedosas como la POA para mejorar la ejecución de cada caso de prueba. En este caso la combinación de la evaluación del sistema en reposo y en tiempo de ejecución robustece el proceso de evaluación para lenguajes como Java y nos permite planear y ejecutar los casos de prueba de una forma efectiva. De acuerdo a los resultados que hemos obtenido con este enfoque en otro tipo de aplicaciones (Davila-Nicanor, 2005), los costos se reduce en al menos el 50%. Este enfoque permite obtener sistemas productivos más confiables y eficientes. Trabajo a futuro El principal objetivo de nuestro trabajo a futuro es implementar el esquema propuesto para la herramienta de evaluación de sistemas orientados a objetos. Para evaluar la certeza de esta propuesta, serán utilizados algunos casos de estudio que tiene disponibles en su base de datos la Nasa (Rathore, 2012). El objetivo de esta base de casos, es que los instrumentos de evaluación que se proponen puedan contrastar sus resultados con los reportados en esta organización. Otro objetivo importante es que el costo computacional deberá ser bajo en la ejecución de la herramienta. En este caso los algoritmos implementados deben ser eficientes y confiables. Finalmente la técnica que elegimos POA en la ejecución de los casos de prueba, representa un gran reto, porque de acuerdo al estudio realizado en este reporte, pocas herramienta la utilizan como parte central de su proceso de evaluación. En este caso se utilizan en su mayoría técnicas de algoritmos evolutivos, lo cual genera costos muy altos de ejecución. Referencias al., K. e. (2011). LCT: an open source concolic testing tool for Java programs. In In: Proceedings of the 6th Workshop on Bytecode Semantics, Verification, Analysis and Transformation (pp. pp. 75-80). Albert, E. a.-M.-Z. (2011). jPET: An Automatic Test-Case Generator for Java. In Proceedings of the 2011 18th Working Conference on Reverse Engineering (pp. 441--442). IEEE Computer Society. doi:10.1109/WCRE.2011.67 Albert, E. a.-Z. (2010). PET: A Partial Evaluation-based Test Case Generation Tool for Java Bytecode. In Proceedings of the 2010 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (pp. 25-28). Madrid, Spain: ACM. doi:10.1145/1706356.1706363 Basili, V. R. (1996). A Validation of Object-Oriented Design Metrics As Quality Indicators. IEEE Trans. Softw. Eng., 22(10), 751--761. doi:10.1109/32.544352 Bhatnagar, N. (2004). A Survey of Aspect-Oriented Programming Languages. Cheon, Y. a. (2010). Automating Java Program Testing Using OCL and AspectJ. In Proceedings of the 2010 Seventh International Conference on Information Technology: New Generations (pp. 1020-1025). IEEE Computer Society. doi:10.1109/ITNG.2010.123 Davila-Nicanor, L. a.-A. (2005). Reliability evaluation of Web-based software applications. In Computer Science, 2005. ENC 2005. Sixth Mexican International Conference on (pp. 106-112). doi:10.1109/ENC.2005.36 Fraser, G. a. (2011). EvoSuite: Automatic Test Suite Generation for Object-oriented Software. In {Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (pp. 416--419). Szeged, Hungary: ACM. IEEE. (2014). IEEE Spectrum. Retrieved Agosto 111, 2014, from http://spectrum.ieee.org/static/interactive-the-top-programming-languages


HOLA, SI FUERAN TAN AMABLES ME PODRÍAN DECIR QUE PROGRAMA UTILIZAR PARA UN LOCAL DE REPUESTOS DE AUTOS? NO TIENE NADA, TENGO QUE HACERLO DE CERO, QUIERO CARGAR TODA LA MERCADERÍA PARA SABER STOCK, SEPARAR EN LAS DISTINTAS MARCAS Y MODELOS, PODER CARGAR CÓDIGOS, Y LISTAS DE PRECIO, LISTA DE CLIENTES Y PROVEEDORES, Y EMITIR LA FACTURACIÓN. QUE SIRVA PARA LA COMPU DEL LOCAL, EN CADENA CON UNA SUCURSAL MAS EL CELULAR. HAY ALGO ASÍ? GRACIAS
Hola Javier, primero muchas gracias por tan valiosa información. Mi padre lleva muchos años con su negocio que ya es algo así como un micro-mercado y controlar la venta y compra de productos le es imposible, ahora que programa me ayudaría a poder hacerlo? puedo tener un control exacto del negocio? te agradecería mucho la ayuda que me vayas a brindar.
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.

Javier: hay un tema que generalmente queda por fuera de los sistemas tradicionales de hotelería y restaurantes y es el de gestión de pedidos a proveedores. Con http://horecabot.com (tiene versión gratis) eliminas "malos entendidos" con los proveedores a la hora de comunicarles lo que necesitas así como hacer seguimiento de tus costos. Aquí lo explica https://www.youtube.com/watch?v=irW-aaZa5mk
Nuestra metodología de pruebas automatizadas y gestión de calidad consiste en el uso de varios programas y frameworks especiales para controlar la ejecución de pruebas y resultados de pruebas de software. La automatización de pruebas permite hacer pruebas iterativas y necesarias dentro de un proceso de pruebas ya existente o bien adicionar pruebas cuya ejecución manual implicaría mucho trabajo como las pruebas de seguridad, pruebas de aceptación, pruebas de validación, pruebas funcional, pruebas de rendimiento, pruebas de regresión, pruebas de sistema, pruebas de integración y pruebas unitarias de software. Nuestra pasión por automatización de pruebas, nos ha ayudado a potencializar el ROI en los negocios de los clientes, reducir costos humanos y ayudar a los clientes en el ahorro de costo, calendarización y tiempo.
• Habilitación de pruebas de regresión. Con un conjunto apropiado de pruebas, y habilitados por una herramienta de automatización, cada que generamos un nuevo build de nuestro sistema de software podemos probarlo por completo. Esto es de vital importancia, ya que de acuerdo con un estudio realizado por Capers Jones, en promedio el 7% de las correcciones de defectos inyectan a su vez un nuevo defecto.
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.
Presentado como trabajo de Maestría por Pekka Klärck y desarrollada en la empresa “Nokia Siemens Networks” ese mismo año, a partir de la versión 2.0 fue cambiada como software libre (año 2008) y su versión 3.0 llegó el año pasado. Escrita en Python y con licencia Apache 2.0, es posible su utilización principalmente con Java y .NET (con complementos se puede utilizar Perl, Javascript y PHP). Como muchas otras librerías de Python, se instala por medio PIP, y las librerías de Selenium Web Driver se deben instalar en un segundo paso; luego podremos instalar librerías adicionales para MongoDB, FTP, Android, Appium (una aplicación especializada en ejecución de guiones bajo Android e iOS) y muchas más. Robot framework utiliza también pruebas dirigidas por palabras clave.

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.

Hola Javier, primero muchas gracias por tan valiosa información. Mi padre lleva muchos años con su negocio que ya es algo así como un micro-mercado y controlar la venta y compra de productos le es imposible, ahora que programa me ayudaría a poder hacerlo? puedo tener un control exacto del negocio? te agradecería mucho la ayuda que me vayas a brindar.
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.

¿Por qué es mejor un marco de automatización de pruebas híbrido? ¿Cómo podemos replicar acciones humanas en las herramientas de automatización? ¿En qué consisten las pruebas basadas en palabras clave? Descubra cómo puede hacer evolucionar los procesos manuales en nuestro informe oficial gratuito: El lado humano de la fase de automatización de pruebas.
La realización de pruebas manuales y automatizadas no debería ser excluyente entre sí. Mientras que unas garantizan la calidad, las otras incrementan la velocidad, de forma que puede seguir el ritmo de desarrollo y los ciclos rápidos de lanzamiento Agile. Mediante nuestro enfoque híbrido, puede escalar las pruebas para satisfacer todas sus necesidades, reducir laboriosos procesos manuales por medio de la automatización, y conservar aun así el toque humano.
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.
Las herramientas para pruebas tienen una curiosa historia; desde los años 80, los programadores de juegos como John Romero han tenido códigos especiales para aprobar rápidamente los niveles o ir directamente a la última etapa de programación. Consideramos que eran, de facto, herramientas para pruebas muy rudimentarias, pero debemos tener en cuenta que el costo y capacidad de los ordenadores en aquella época (somos testigos) impedían, en la práctica, el automatizar las pruebas.

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.
×