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.
• La solución única. A algunos de nosotros nos gusta pensar que nuestra función es la más importante en la compañía. Sin embargo, tenemos que observar nuestro trabajo como una pieza más en el ecosistema de la empresa. Esto nos facilita analizar cómo nuestra labor complementa y asiste a otras áreas. Somos más valiosos como parte integral de la empresa que como un elemento aislado de la misma.
WebImprints no sólo ayuda a los clientes con las pruebas, sino que también aporta buenas prácticas y metodologias en todo el proceso de desarrollo contribuyendo a la calidad del sistema o aplicación final. Somos un proveedor de servicios de pruebas de seguridad, aceptación, validación, funcional, rendimiento, regresión, sistema,integración y pruebas unitarias de software.

“Micro Focus”®, una empresa fundada en 1976 por Brian Reynolds en el Reino Unido, lanzó en 1998 esta herramienta que aún utiliza tecnología “noventera”: VBScripting. Es software privativo que se ejecuta en “Microsoft Windows”® (GNU/Linux había sido lanzado hace apenas 4 años y aún le faltaba mucho camino por recorrer), pero no subestimemos a esta empresa por ello, al contrario, se ha modernizado de acuerdo al paso del tiempo. En ese mismo año, “Micro Focus”® adquiere Intersolv®, en 2009 adquiere la legendaria Borland® y en 2014 adquiere “Atachmate Group”®, quienes a su vez eran propietarios de Novell®, NetIQ®, y SUSE®. ¡A menos que hayan vivido en una caverna, por lo menos una de esas empresas deben conocer! Para la guinda del pastel, en 2017 se fusionó con “HP Enterprise”®, división que atiende sólo necesidades de software para empresas. ¡Todo un gigante y con muchas libras esterlinas en su haber!


En la última década se ha puesto de moda -incluso es un oficio, y en algunos casos se ha convertido en profesión- el término usuario beta, para referirse al usuario de pruebas que está ubicado entre el programador y el usuario final. Pero, ¿se han preguntado quién o qué está primero o delante, hoy en día, del usuario beta? ¡Acompañadnos hoy en nuestra disertación sobre las herramientas para pruebas!
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.

Dadas las características de la automatización de pruebas funcionales que hemos descrito podemos deducir que no siempre y para todo sirven. Las pruebas están diseñadas para funcionalidades concretas - fueron pensadas para agilizar una parte del proyecto, no para gestionar toda la calidad del código (sí volvemos a la idea inicial). Por eso encontramos y encontraremos detractores de la automatización. Tenemos que ir con cuidado con el testing automation: es un arma de doble filo y como tal hay que saber usarla. Entonces, ¿qué casos de prueba se deberían automatizar?
Hola, lo mejor es que pruebes algunos de los programas del listado (cada uno tiene una breve descripción para que te hagas una idea de sus características) y así podrás determinar cuál es el más conveniente para usar en tu negocio. Recuerda que cada negocio es único y tiene necesidades especiales, por ello tu más que nadie podrás encontrar el software de gestión más adecuado.

objetos, la ejecución de pruebas sobre los métodos de una clase, pueden considerarse como pruebas unitarias. Las ventajas de realizar pruebas unitarias son: encontrar errores de forma temprana, evitando la propagación de estos en el sistema completo, lo cual permite mejorar el comportamiento de la aplicación en las pruebas de integración. Otro beneficio es la posibilidad de documentar el código para facilitar su implementación. Pruebas Integrales Otro aspecto importante en el proceso de evaluación son las pruebas de integración. Estas pruebas se basan en probar un conjunto de unidades las cuales interactúan de acuerdo a la funcionalidad en relación con la especificación de los requerimientos. Las pruebas integrales evalúan que las secuencias de interacción entre componentes se realicen correctamente. Esto se debe hacer ya que pueden haber fallos que se mantiene ocultos y solo pueden ser detectados cuando una unidad de código interactúa con otra dentro del mismo sistema. Las ventajas de realizar estas pruebas son: descubrir interacciones inadecuadas entre los componentes, interfaces y arquitectura de diseños deficientes. Enfoque actual de programación ! Programación Orientada a Objetos De acuerdo al ranking de la revista IEEE Spectrum (IEEE, 2014) el lenguaje Java es el más utilizado para el desarrollo de sistemas empresariales, aplicaciones móviles y web. En este caso las propiedades que la Programación Orientada a Objetos (POO) ofrece, tiene grandes ventajas como son: la portabilidad, la reutilización de componentes y la sencillez de sus cláusulas, que también son fáciles de entender. El mayor representante de este paradigma es el lenguaje Java con más de 9 millones de desarrolladores en todo el mundo (Oracle, 2014). Sin embargo evaluar aplicaciones en Java no es sencillo y los esquemas tradicionales de pruebas no son suficientes, en este caso la planeación de pruebas tradicionales no es aplicable. Esto se debe a que la mayor parte de la funcionalidad de estos sistemas se resuelve a tiempo de ejecución. Las características de la POO que influyen en este aspecto son las siguientes: • Encapsulación: esta propiedad limita el acceso que se tiene a los atributos internos de una clase, y solo se puede acceder a ellos mediante la instancia de la clase. • Herencia: esta propiedad permita a una clase hija comportarse como una clase padre y a sí mismo una clase padre puede comportase como una clase hija, pero con un comportamiento limitado. • Polimorfismo: esta propiedad permite seleccionar los métodos que se utilizan durante tiempo de ejecución haciendo el código más flexible. Programación orientada a aspectos Este enfoque es relativamente nuevo el área de desarrollo de software, pero se ha consolidado como un paradigma el cual facilita la encapsulación de requerimientos no funcionales. Una de las funciones más importante de este nuevo paradigma es mejorar la modularidad del código en sistemas de software y reducir su complejidad. Esto es posible mediante enfoques como el entrelazado de asuntos (crosscutting concern) en el código, estos asuntos generalmente son requisitos no funcionales que debe de cumplir un sistemas, por ejemplo la seguridad y el inicio de sesión de usuarios. Este entrelazado es un concepto que se implementa en diversas secciones del código, mediante la implementación de corte en puntos (pointcuts), de acuerdo a la definición de puntos de unión (joint points) los cuales son puntos donde los asuntos (concerns) son aplicados. Un aviso (advice) es un comportamiento adicional que tendrá el código, el cual es ejecutado en un asunto. Entre los representantes más importantes de este paradigma tenemos a AspectJ (Laddad, 2003), que funciona como una extensión para el lenguaje Java. Actualmente forma parte del proyecto de código abierto Eclipse de IBM. La unidad principal de AspectJ es el aspecto, el cual combina los conceptos corte en puntos, avisos y declaraciones. Este nuevo paradigma ofrece nuevas posibilidades para el área de pruebas de software. En trabajos de investigación como en (Cheon, 2010) se desarrolla un enfoque que utiliza una combinación entre OCL (Object Constariant Language) y aspectos para colocar restricciones en la invocación de métodos para validar los rangos y datos de las variables de entrada.
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.
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.
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.
• 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.
Podríamos preguntárnoslo de otra manera, ¿cómo es que ahora todo el mundo automatiza? o ¿qué está sucediendo para que la automatización sea indispensable? Bien, la respuesta es lógica y sencilla. Dadas las nuevas tecnologías y enfoques clave como la cultura DevOps, la productividad de los equipos de software ha aumentado mucho y el time-to-market se ha reducido considerablemente. Por tanto, todo aquello que: a) ayude a ser más ágil, b) permita a los desarrolladores dedicar tiempo a lo que realmente necesita de su atención, y, sobre todo, c) permita llegar al mercado mucho más rápida y eficientemente, es estratégicamente indispensable si se quiere sobrevivir en el mercado. A todo ello contribuye y mucho la automatización de pruebas funcionales- no sólo porque dejan tiempo al tester, sino porque además estas pruebas son reutilizables. Además, la automatización de las pruebas aporta tranquilidad al ajustar y mejorar las principales funcionalidades, ya que brindan información sobre el impacto de los cambios realizados.
Uno de los principales problemas dentro del área computacional, específicamente las estructuras de datos, es la complejidad que implementan sus algoritmos. Dada esta situación el entendimiento de los mismos se ve limitado teniendo consecuencias evidentes en el aprendizaje de dicha área. Diversas herramientas enfocadas en la Visualización de Programas tratan de resolver esta problemática. Sin ... [Show full abstract]Read more
Microsoft Test Manager (MTM) es la herramienta propiedad de Microsoft para la gestión y automatización de pruebas. Esta herramienta esta incluida en Microsoft Visual Studio Ultimate 2010 o en Visual Studio Test Professional 2010. El interfaz y el código generado en los scripts es bastante intuitivo, se debe de integrar con Team Foundation Server que almacena los casos de prueba y requerimientos entre otras cosas. El código generado se llama coded UI que graba operaciones de interfaz basado en Visual C#.NET. Además se pueden ejecutar las pruebas automáticas tanto en máquinas virtuales como físicas. Se instala en sistemas operativos Windows.
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
“Sin olvidarnos de herramientas para analítica y medición de apps. Las de medición, como Appfigures, te ofrecen información del número de descargas, ventas, ranking de tu app, valoraciones, etc. Las de analítica, como Appanie https://www.appannie.com/en/ , te indican quién hace qué dentro de tu aplicación. Igual que Amplitude. Son algo así como el Google Analytics para aplicaciones. Otra alternativa es Mixpanel, que vale para analíticas de webs y apps. Ésta te da información extra que no te ofrece Google Analytics en web (quién hace exactamente el qué)”, explica Emilio Rodríguez.
Debido a los diversos proyectos en los que hemos participado, desde Globe hemos podido analizar los pros y los contras de gran variedad de herramientas de automatización. Para dicho análisis se ha tenido en cuenta la fácil utilización, las tecnologías soportadas, la integración con herramientas externas de gestión, el posible soporte de las herramientas y las plataformas compatibles. En un breve resumen comentaremos las características que nos hacen decantarnos por uno u otro software.

Somos una empresa de automatización de pruebas de software basados en México, India y Dubái. Proporcionamos servicios de gestión de calidad y pruebas automatizadas. Además Somos un proveedor de soluciones para automatización de pruebas de seguridad, pruebas de aceptación, sistema de gestión de calidad QA, 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.
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).
In the development of software systems, the functionality is the basis for specification, design, maintenance and evolution phase. When the system does not meet the requirements specification or requirements change for various reasons, such as new business goals, new technologies and emerging paradigms of programming, among others, losses are experienced with high costs in the software ... [Show full abstract]View full-text

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.
Hola, lo mejor es que pruebes algunos de los programas del listado (cada uno tiene una breve descripción para que te hagas una idea de sus características) y así podrás determinar cuál es el más conveniente para usar en tu negocio. Recuerda que cada negocio es único y tiene necesidades especiales, por ello tu más que nadie podrás encontrar el software de gestión más adecuado.
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.
×