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.
¿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.
Fue necesario el uso del archivo .sh, debido a que algunos comandos como es el caso de calabash-android gen, exigen una segunda acción como es el para aceptar la creación del proyecto, una vez ejecutado el comando se utiliza el archivo .features solicitado al usuario para ejecutar la prueba, esto es almacenado en un directorio con el nombre del id que identifica la prueba en la base de datos.
Este tipo de software empresarial permite con gran facilidad automatizar las operaciones, reduciendo el tiempo y los gastos involucrados en el negocio. A la distancia de un clic se pueden ejecutar informes y acceder a otras informaciones importantes vinculadas a inventarios, abastecimientos, distribución, compras, facturación, cobros, pagos a proveedores, entre otros datos claves del negocio.
Estimado Javier. Felicitaciones por el post y por el nivel de respuestas y comentarios que obtienes. Necesito una aplicativo de preferencia online (en web), gratis o de bajo costo que permita a mis vendedores reportar sus visitas y ventas a clientes (farmacias y medicos) Sabes si existe algo que se acerque a ello y que me pueda ayudar? Infinitas gracias.!

Hoy en día hay muchos tipos de software  adecuados para casi cualquier tipo de negocio. Hay un software sencillo para las tiendas, donde no sólo se marcan las ventas diarias, semanales, mensuales y anuales, .Mediante el uso de un programa que se aloja en un servidor web, Ud. tiene la capacidad de conectarse con cualquier persona que esté en el mismo sistema de su organización. Las pequeñas empresas están usando esto para ayudar a reducir sus costos de almacenamiento.
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.

Nuestros clientes cuentan con un servicio soportado en la metodología TESTMET, basada en lineamientos internacionales para obtener reducción de costos en los proyectos, detección temprana de errores  en los productos de software,  rapidez en la generación de información de calidad para la toma de decisiones y evaluación garantizada de la calidad de los sistemas de información.
Posiblemente te dirán que la idea es que vos diseñes y codifiques los tests y luego los desarrolladores puedan mantenerlos/extenderlos pero creeme que eso nunca llegué a verlo. Si los desarrolladores tienen que hacer tests QUE HAGAN SUS TESTS UNITARIOS, bastante tienen con sus tareas como para que le agreguen una tarea mas que es la de las pruebas funcionales. A pocos desarrolladores les gustará la idea. Es lo que siempre vi.

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.


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.


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.

En el desarrollo contemporáneo de software existe una tendencia creciente a usar Frameworks como los denominados XUnit (por ejemplo JUnit y NUnit) que permiten la ejecución de pruebas unitarias para determinar cuándo varias secciones del código se comportan como es esperado en circunstancias específicas. Los casos de prueba describen las pruebas que han de ejecutarse sobre el programa para verificar que éste se ejecuta tal y como se espera. La automatización de pruebas es una característica clave del desarrollo ágil de software en donde se le conoce como "desarrollo guiado por pruebas". En ellas, las pruebas unitarias se escriben antes que el código que genera la funcionalidad. Sólo cuando el código pasa exitosamente las pruebas se considera completo. Cuando hay cambios, el programador descubre inmediatamente cualquier defecto que rompa los casos de prueba lo cual baja el costo de la reparación. Dos inconvenientes de este estilo de trabajo son:
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.

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

Cabe resaltar que es importante ser proactivos en cuanto a la utilización del software de negocios, y muchas veces por indecisión, pequeñas cuestiones que podrían solucionarse fácilmente (inventario, nómina, recursos humanos, etc.) se convierten en dolores de cabeza y nos complica concentrarnos en nuestros objetivos, ofrecer el mejor servicio o producto posible para generar los mayores rendimientos y productividad.
Incluso podrá generar los datos de prueba correctos para ejecutar sus pruebas automatizadas. Encontrar y corregir los scripts de prueba que fallan cada vez que cambian sus requisitos no es algo que lleva mucho tiempo, ya que esto se automatiza de la misma manera. Y lograr una cobertura de prueba máxima, para todo, no solo para las pruebas de regresión, se convierte en realidad.
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
Algunos de los programas del listado cuentan con una versión pro con características y funcionalidades especiales para aquellas empresas con requerimientos mayores. Para más información te recomiendo visitar el sitio web www.sistemaspaez.com y ante cualquier duda puedes contactar directamente con ellos. Bien, ahora si te invito a aprovechar estas interesantes herramientas.
• 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.
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.
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.
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
Esperamos que esta publicación les haya resultado amena y de interés, por el momento debemos concluir, no sin antes invitarles a que nos contacten ya sea a través de nuestro sitio web o en nuestras oficinas si necesitan el mejor software de administración de negocios en manos de una firma experta en todo lo relativo a la gestión empresarial mediante sistemas informáticos. ¡Gracias por su visita!
La mayoría nos recomienda Magento y Prestashop . Y las dos son gratuitas. Prestashop, para retailers pequeños y medianos, y Magento, para las más grandes. El pero es que las dos son soluciones de código abierto: son gratis, te las puedes instalar y configurar tú, pero como hemos dicho antes, si no tienes conocimientos técnicos, te resultará casi imposible. “Al final, lo normal con Prestashop y Magento es que pagues a un desarrollador para la instalación, configuración, adaptación y diseño del estilo visual de la tienda. Necesitarás una inversión mínima de 3.000 euros, pero merece la pena pagar por ello”, afirma 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.
Una ventaja de esta herramienta para automatizar pruebas es que tiene una fácil integración con Selenium Remote Control. Esto quiere decir que, cuando capturamos un elemento, podemos pedirle una acción que haría un usuario común y así la visualizamos en un tiempo determinado. Con esto podemos integrar las pruebas funcionales sobre aplicaciones web. Las pruebas automatizadas nos ahorrarían una gran cantidad de tiempo y harían que la ejecución de pruebas funcionales sea mucho más simple. 

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

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

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.

×