Sólo que yo me encuentro realizando toda una interfaz para que el testeo se pueda correr en cualquier máquina y por cualquier usuario, por la naturaleza del programa no puedo usar testNG ni log4j, que son paqueterías adicionales a selenium para tener un registro más completo de las actividades, errores o detalles surgidos durante una prueba, pero me ha sido útil, la aplicación sobre la que trabajamos es realmente grande, por lo que aún estamos en proceso de codificación, sin embargo el progreso hasta el momento ha entregado resultados favorables.

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).
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.
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:
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.
Jenkins es una herramienta para iniciar pruebas continuas y construir la integración a través de la automatización. Proporciona una forma poderosa de administrar los cambios de código, las pruebas y el ciclo de vida del despliegue, junto con la administración de releases, acelerando el ciclo de vida general del desarrollo del software. Hoy en día, Jenkins ofrece soporte para más de 1.200 plugins que le permiten integrarse con cualquier tecnología.
Herramientas de evaluación para sistemas orientados a objetos. JUnit XUnit es una de las herramientas más usadas para realizar pruebas unitarias automatizadas sobre software. Es una de las primeras herramientas de evaluación con la que la localización y detección de fallos es mucho más precisa. Ésta cuenta con una extensión llamada JUnit, creada por Kent Beck y Erich Gamma (Wahid & Almalaise, 2011). Esta herramienta se enfoca en realizar pruebas sobre el código en lenguaje Java. Sus principales ventajas son el uso simple y la automatización de las pruebas. Herramientas como Evosuite la utilizan como complemento para la generación de sus pruebas. JUnit es un framework de evaluación y su capacidad está en relación de la experiencia del evaluador que la utiliza. Herramienta LCT (Lime ConolicTester) LCT (al., 2011) utiliza un enfoque de pruebas concolic, es decir una combinación entre ejecución concreta y simbólica. Este enfoque se utiliza para estimar los diferentes caminos que tendrá el programa durante el tiempo de ejecución. La arquitectura del LCT se basa en tres componentes principales: el instrumentador el cual, examina el código para tener un conjunto de valores de entrada, el ejecutor de pruebas en el cual se hace la ejecución del programa con los valores ya preestablecidos, finalmente el selector de pruebas se encarga de construir un árbol de ejecución simbólica basado en la información recolectada por los ejecutores de pruebas y selecciona en el árbol la ejecución simbólica siguiente. Este es uno de los primeros frameworks de evaluación que existen, teniendo buenos resultados en su aplicación. Una de sus principales desventajas es que el costo computacional es muy alto y sólo se enfoca en la revisión del código sin tomar en cuenta la funcionalidad de sistema. PET y jPET. PET (Albert E. a.-Z., 2010) es una herramienta que utiliza archivos bytecode de Java para generar criterios de cobertura de evaluación, este enfoque se complementa que se complementa con técnicas heurísticas para determinar la efectividad de la ejecución del programa, los parámetros de cobertura son: sentencias, caminos y loop-K (ciclo de ejecución). jPET (Albert E. a.-M.-Z., 2011), es una extensión de PET y su función es proporcionarle al evaluador un ambiente grafico para la creación de casos de prueba. jPET tiene un visor de su comportamiento en cada caso y agrega un método de analizador de precondiciones escritos en JML, esta funcionalidad no existe en PET. Una de sus principales desventajas es que la cobertura de los casos de pruebas se limita al diseño del sistema, y nuevamente la funcionalidad queda ignorada. Herramienta EvoSuite. Una de las mejores herramientas es EvoSuite (Fraser, 2011), debido a que tiene un buen proceso de localización de fallos. Su funcionamiento se basa en producir series de pruebas que permiten alcanzar una alta cobertura de código utilizando solo el bytecode. Para este proceso se implementan varias técnicas como son la búsqueda hibrida, la ejecución simbólica dinámica y la trasformación del alcance de prueba. EvoSuite tiene dos objetivos principales: la cobertura total del conjunto de pruebas, utiliza un enfoque de búsqueda evolutiva que muta conjuntos de pruebas completas respecto a un criterio de completitud de cobertura. Otro objetivo importante es que la generación de aserciones basadas en mutación, utiliza pruebas basadas en mutación para producir un conjunto reducido de aserciones que maximiza el número de defectos introducidos en una clase que está en relación con los casos de prueba. Es sin duda una de las mejores herramientas de evaluación, sin embargo su costo computacional es muy alto para cualquier entorno de ejecución real. Esta herramienta genera millones de casos de prueba, lo cual implica un desgaste muy alto en tiempo y esfuerzo. De esta forma retornamos el problema de origen: costos altos y pocos recursos. Arquitectura propuesta En el presente trabajo se propone una arquitectura para una herramienta de evaluación de sistemas orientados a objetos. La evaluación de sistemas de software es un proceso costoso, pero en la actualidad a ese costo también hay que incluir que las técnicas tradicionales de evaluación no son suficientes, los nuevos paradigmas de programación hacen difícil la planeación y ejecución de pruebas. Nuestra propuesta se basa en la planeación de pruebas y en la ejecución de casos de prueba mediante el paradigma orientado a aspectos. El diseño de la arquitectura propuesta es independiente del código fuente, ya que se puede tomar como base el bytecode. Esto es debido a que en muchos sistemas, las aplicaciones no contienen archivos fuente, debido que

PhantomJS es un navegador que se utiliza para automatizar las interacciones de la página con fines de prueba. Ayuda a los usuarios a habilitar la navegación y el comportamiento del usuario en una página sin cargar la interfaz gráfica. PhantomJS imita y manipula una página web para llevar a cabo la automatización de pruebas que en última instancia, ahorra una tremenda cantidad de tiempo para los probadores.
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.
El software E.S. Plan de empresa es producto de más de 10 años trabajando con miles de emprendedores y clientes, viendo qué funciona y qué no en el mundo real. Este software arregla los planes de negocio por donde están rotos, que es en ser largos, centrados en lo que no importa, inútiles para el día a día y que no se aplican porque acaban en un cajón, incompletos o con el hartazgo de haberlo hecho para nada.
“Para muchos pueden ser más interesante herramientas que a priori no son gratis, como Shopify , pero que están en la nube, con costes muy bajitos y que están pensadas para que una persona de negocio se monte su propia tienda de forma muy fácil. Están más limitadas en funcionalidades y posibilidades a futuro, pero hay muchos casos de éxito (como el de Mimub.com) que han empezado con Shopify hasta que estaban facturando cientos de miles de euros al mes y migraron a otra plataforma”, continúa el CMO de BrainSins.
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.
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:

Microsoft Test Manager es la herramienta de Microsoft para la gestión y automatización de pruebas. La interfaz y el código generado en los scripts son bastante intuitivos. Se integra con Team Foundation Server, donde se almacenan, entre otros, los casos de prueba y requisitos. El código generado se llama Coded UI, que graba operaciones de interfaz basado en Visual C#.NET. Las pruebas automáticas se pueden ejecutar tanto en máquinas virtuales como en máquinas físicas. Solo se puede utilizar en sistemas operativos Windows. 
mexERP un sistema integral que te permite registrar tu negocio/empresa de forma fácil y sin complicaciones. Una vez registrado podrás dar de alta, administrar y controlar todas tus transacciones, movimientos y actividades cotidianas de tu negocio. El sistema registrará toda la información y te proporcionará la información necesaria tales como: reportes, facturas, saldos, cuentas por pagar, entre otros que serán de vital importancia para la toma de decisiones en tu negocio.
Buenos Días, yo deseo crear una empresa y comenzar por un negocio de venta de Ropa, como voy a solicitar un crédito para eso, no me deseo retirar de trabajar hasta que mi negocio este bien posicionado, y si Dios lo permita pueda abrir una segunda sucursal, por eso necesito un programa en el cual pueda controlar el Inventario de lo que comprare para iniciar por medio de un codigo de barras o algo asi, que me permita ver las ventas del dia, y lo que tengo en stock, y a fin de mes poder verificar cual es el articulo que mas tuvo movimiento.... Agradezco si me puedes colaborar
Selenium  ofrece la ventaja de ser una herramienta de código abierto. Esta herramienta esta diseñada exclusivamente para navegadores, es decir, que esta diseñada para tecnologías web. Se puede escribir los scripts tanto en C#, Java, Groovy, Perl, PHP, Python y Ruby. En cuanto al soporte, viene dado a través de la comunidad que lo desarrolla y colabora en ello, pero eso no garantiza una respuesta. Esta herramienta se puede usar en Windows, Linux y MacOS.
Interesante artículo y un buen punto de partida para cuando se plantea automatizar parte del proceso de pruebas. Muchas veces vemos que se habla de automatización porque “es algo que está de moda”, lo cual lleva a las compañías a tomar decisiones apresuradas, decisiones que tarde o temprano tendrán consecuencias que a veces resultan nefastas. Definitivamente es clave saber donde realizar verdaderos esfuerzos para automatizar y hacer que esta actividad sea generadora de valor para el proceso mismo de desarrollo y que los resultados obtenidos contribuyan a la toma de decisiones informadas.
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.

Sin olvidar las más específicas, como SocialBro, para gestionar mejor tu cuenta en Twitter. “O Storify, que te ayudará a crear tus propias historias a través de la curación (selección) de contenidos. Luego puedes organizarla y compartirla. Dandy ID , para almacenar varias identidades sociales en un solo sitio y crear un perfil de contacto ordenado, comenta Isra García .


Los clientes de Tableau provienen de una gran variedad de sectores y países. No obstante, todos comparten una característica: desean saber más acerca de su negocio. En este video, David Baudrez, jefe de conocimientos sobre negocios en Cisco, explica cómo Tableau ha ayudado a distribuir datos en unidades de negocios globales, a aumentar la productividad y a ahorrar cientos de horas.
Las pruebas no funcionales tienen como objetivo realizar comprobaciones que garanticen la calidad del producto desde el punto de vista técnico (comportamiento ante altas cargas, volumen y disponibilidad, entre otros) y al mismo tiempo permiten conocer con anterioridad las capacidades, los límites, los problemas y los riesgos relacionados con el desempeño de la arquitectura de las aplicaciones que se liberan en producción.
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.
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
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.
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.!
Con ayuda del software de administración de negocios la información empresarial puede mostrarse en imágenes, gráficos, entre otras visualizaciones capaces de personalizarse, de modo que los datos y progresos sean de lectura fácil y sin recurrir a tanto papeleo. Por ejemplo, es posible obtener informes de ventas sobre el número de clientes potenciales y clientes pagadores, el valor promedio de la vida de cada cliente, las tasas de conversión, los ingresos y gastos esperados que se relacionan con adquisiciones recientes, entre otros datos de interés. También con su empleo se pueden sincronizar los datos con el software de contabilidad y vincularlo a los costes del proyecto. Además de los informes financieros tradicionales, pueden compararse los datos con los resultados de ventas o de marketing para observar qué factores causan la disminución o el crecimiento de los ingresos.
En Webimprints, estamos ayudando a las empresas a mejorar la eficiencia, reducir la posibilidad de error humano, acelerar el proceso de entrega de los nuevos servicios y permitir un rápido retorno de la inversión con soluciones de IT Procesos Automatización(ITPA). Como hoy la información es más compleja y variada. Las empresas están manejando estos retos en una forma inteligente a través de los soluciones de ITPA, también conocida como, Run Book Automatización (RBA) u Orquestación.
A algunas empresas se les olvida invertir en el futuro y el dinero que se ahorran lo acaban perdiendo en unos meses, además de bajar su nivel competitivo y la calidad de sus productos y servicios. Por este motivo, actualmente debería ser obligatorio tener recursos dedicados a actividades, e incluso proyectos, que permitan explorar nuevas posibilidades en el ámbito de la automatización de pruebas.
Ahora existen diversos tipos de pruebas que son necesarias y fundamentales en el desarrollo de software. Como indicas, los programadores deberían ser responsables del código que generan. He ahí la importancia de las pruebas unitarias que todo developer debe realizar. La detección temprana de errores ha demostrado que es mucho menos costosa que una en una etapa tardía.
×