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

Durante más de 10 años, Recursos para Pymes ha ayudado a infinidad de emprendedores a conseguir más resultados. Han sido miles de clientes, decenas de miles de usuarios y amigos, millones de visitantes. Este es, simplemente, un regalo para ayudar a todos aquellos que empiezan la aventura de emprender. Si sirve, entonces el objetivo está cumplido. Y ya está. Creemos que, de vez en cuando, uno ha de dar, hacer algo bueno sin más.
Karol Pomaski, CEO & Founder y Carlos Alberto David Piña, Chief Business Development Officer & Founder; desarrollaron el primer Sistema ERP Gratis, que brinda a los usuarios una nueva forma de administrar sus negocios de acuerdo a sus necesidades, 100% en la nube y utilizando los más altos estándares de seguridad, totalmente gratis, sin cargos ocultos.
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.

Un proyecto de automatización de pruebas incluye el desarrollo de la suite de automatización, así como su utilización y mantenimiento. La utilización de la metodología TAKT de SOGETI no implica el uso de una herramienta de testing concreta, sino que, su implementación puede realizarse partiendo de herramientas ya presentes en su organización, lo que evitará una nueva inversión.


La dinámica laboral. El trabajo colaborativo y el teletrabajo se están volviendo la norma gracias a las aplicaciones que permiten que diferentes empleados compartan información y documentos y trabajen simultáneamente en ellos sin siquiera estar presentes en la misma oficina. Este tipo de herramientas mejoran la satisfacción del personal y la productividad al mismo tiempo.

Zapier es una de las herramientas líderes en automatización de tareas. Desde su fundación en 2012, graduándose desde Y Combinator, Zapier ha tenido un papel central como conector de diferentes apps web. Cuenta con más de 750 apps diferentes que puedes integrar con Zapier. Sin duda, uno de los más recomendados, y una de las primeras opciones que deberías tener en cuenta a la hora de comenzar a automatizar tareas y procesos. 
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 interacción con el software. Aquí es donde entra la computación en la nube, que nos permite el almacenamiento remoto de la información y el acceso a la misma desde dondequiera que estemos, y el modelo de Software as a Service (SaaS), que no requiere la costosa compra e instalación de software en las computadoras de la empresa, sino solo una suscripción y el pago por utilización.
Con tantos dispositivos, plataformas y versiones de sistema operativo que se deben comprobar, necesitará tener de su lado el proceso de automatización para volver a tomar el control de los ciclos de lanzamiento. La automatización de las pruebas aprovecha la nube para mejorar la cobertura de las pruebas, evitando así el uso de costosas compilaciones de entornos de prueba.
Capers Jones, en su libro de estimación de costos de software, menciona que las pruebas  de funcionalidad, regresión y rendimiento son comúnmente apresuradas (o incluso omitidas) por presiones de tiempo. Esto resulta en sistemas con baja calidad. ¿Alguna vez te has visto en la necesidad de apurar u omitir alguna de estas pruebas? ¡Por supuesto que sí! Es una práctica común en los proyectos de desarrollo.
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
Me podrías asesorar sobre cual debería escoger,debido la bajada de ventas tenemos que prescindir del programa que tenemos actualmente por no poder asumir dichos costes y por eso busco otro.... necesitaría un programa para poder tener control de todas las ventas que han sido enviadas a distintos usuarios, subir de manera masiva un archivi en csv, también subir sus correspondientes trackings para que se enlacen en cada venta asociada (archivo masivo en csv tb y una vez entregadostodos ellos que se pudiera hacer una liquidacion para que cada proveedor la reciba y facture en base a esas ventas entregadas, también necesitaría el control de dichas devoluciones para que emitieran los proveedores tras esa liquidacion negativa su correspondiente abono.Espero tus noticias.deberia tener las opciones de importar y exportar dichos archivos. Muchas gracias por tu ayuda Javier. atentamente Isabel
Selenium. Compuesto por dos herramientas: Selenium IDE y SeleniumWebDriver.  La primera, un plugin de Firefox que te genera un entorno de desarrollo y que permite crear casos de prueba para aplicaciones web. La segunda, Selenium WebDriver, ejecuta las pruebas. Este entorno de automatización de pruebas automáticas opera en los principales navegadores (IE, Mozilla, Chrome y Opera). Además, permite pruebas para dispositivos móviles, para iPhone y Android. Utiliza los siguientes lenguajes: Python, Ruby, Java y C#. La licencia es “Apache 2.0 License”.
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).
Con estas herramientas de Selenium podemos reducir considerablemente el tiempo en la creación de las pruebas automatizadas, y estas mismas pruebas pueden ser ejecutadas como un complemento en la ejecución de una prueba funcional. Así, podemos optar por la alternativa que más nos convenga. Lo único que nos queda es usarlas, conocerlas y familiarizarnos con ellas. 
×