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.
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.
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).
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.
“Son herramientas que nos ayudan a conocer cómo está nuestra web o negocio online, en cuanto a SEO, competidores, keywords, rankings y otra serie de parámetros. En el mercado encontrarás versiones gratuitas y suficientes, como Mozbar y Quicksprout. Para mí esta última es la mejor para informes sobre tu web y para compararte con la competencia”, explica Emilio Rodríguez.

It is advisable (although not mandatory) that Zahorí have an open ecosystem of development and execution tools, which allows the integration with test management systems, continuous integration tools, and specialized software repositories for the management of automation software code. Its modular design is also compatible with an artifact repository, requiring no interpretation / compilation time of the automation code.
La empresa Rational® Software lo lanzó inicialmente como “Robotj 1.0” y cuando IBM® adquiere dicha compañía en 2004 lo renombra simplemente como “Rational”® (aunque en su logotipo lo acompaña la palabra “software” en alusión a la compañía madre). De las herramientas para pruebas es la más profunda y compleja y nos atrevemos a decir que es inefable. Los guiones son guardados en lenguaje Java y Visual Basic .NET, aunque a partir de la versión 8.1 se puede interactuar con las capturas de pantalla que se graban en un guión gráfico (algo así como WYSIWYG). Está disponible tanto para Windows como GNU/Linux de forma vertical con “IBM Jazz integration”, como todos los productos de esta gigantesca empresa.
Hablábamos hace unas semanas, en el post de una lista de herramientas de calidad software imprescindibles, sobre como en estos años se ha disparado el número de herramientas para el control de la calidad software. En aquel post hablamos de herramientas de calidad software “estáticas” (es decir, analizan sin ejecutar el software) y de “caja blanca” (analizan en base al código fuente). Y nos quedó pendiente mencionar otro grupo de herramientas de calidad software: las herramientas para pruebas software, de caja negra.
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.
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. 
En Globe testing el objetivo de la automatización de pruebas no es suprimir todo el testing manual, ni a los testers manuales, lo que automatizamos son chequeos, comprobaciones que los testers manuales ya han detectado como son; ciertas pruebas de regresión, smoke test etc. Según este enfoque, durante la evolución de un sistema, un caso de prueba comienza siendo manual, para luego ser automatizado, así los testers manuales pueden dedicarse a buscar otros bugs más complejos o testear nuevas funcionalidades.
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.
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.

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
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.
Después de haber hecho esta pequeña vista de águila sobre cómo podríamos organizar a nuestro equipo de automatización de pruebas sin cometer demasiados errores, considero que cualquier empresa es capaz de gestionar un equipo de automatización realmente eficiente. Lo más difícil es conseguir que el equipo interactúe de forma correcta con los proyectos existentes y nunca se olvide de nutrir periódicamente a sus recursos.

“Son herramientas muy útiles en su versión gratuita, de hecho la principal limitación de Zoho CRM sin pago es que sólo permite el acceso a tres usuarios distintos dentro de la empresa, lo que para una pyme suele ser suficiente. En el caso de Openbravo, al ser software libre, el problema puede venir, como con cualquier solución open source (código abierto), en que hay que tener ciertos conocimientos técnicos para ponerlas a funcionar. Por eso, aunque Openbravo sea gratuito, si no tienes conocimientos técnicos debes valorar si te compensa contratar a alguien que instale y configure Openbravo para ajustarlo a las necesidades específicas de la empresa”, explica José Carlos Cortizo, CMO de BrainSins .


Cada vez las aplicaciones se vuelven más complejas, se le van añadiendo o modificando procesos y si a esto se le suma que el tiempo de entrega de dichas modificaciones disminuye, la inseguridad que produce la calidad final del software se incrementa. Esto ocurre porque muchas veces disminuye la calidad de la parte estable del producto y aumentan las incidencias detectadas.

Es recomendable (aunque no obligatorio) que Zahorí cuente con un ecosistema de herramientas de desarrollo y ejecución abierto, que permita la integración con sistemas de gestión de pruebas, herramientas de integración continua, y repositorios de software especializado para la gestión del código del SW de automatización. Su diseño modular es además compatible con un repositorio de artefactos, no requiriendo tiempo de interpretación/compilación del código de automatización.
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
La automatización de pruebas de carga se ha vuelto una necesidad para poder evitar así arriesgar la integridad del negocio con anomalías inesperadas además existen un sin fin de herramientas de prueba de carga como agileload (http://es.agileload.com) que te ayudan a crear guiones de prueba , a diagnosticar problemas además simula de manera realista la carga .
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.

Cada vez las aplicaciones se vuelven más complejas, se le van añadiendo o modificando procesos y si a esto se le suma que el tiempo de entrega de dichas modificaciones disminuye, la inseguridad que produce la calidad final del software se incrementa. Esto ocurre porque muchas veces disminuye la calidad de la parte estable del producto y aumentan las incidencias detectadas.
En este siglo XXI, los equipos pronto comenzaron a sobrepasar las capacidades de uso de sus propietarios y la potencia de cálculo nos permitió usarlos más allá del uso común y corriente. Una de esas tareas es la ejecución de herramientas para pruebas, orientadas hacia el campo que nos incumbe aquí: la monitorización. Las herramientas para pruebas se utilizan, por ejemplo, en la monitorización de Caja Abierta y Cerrada, y en el artículo sobre la optimización de rendimiento web os nombramos algunas de ellas (“Selenio, TestingWhiz y TestCompleto”). Por supuesto, Pandora FMS y la flexibilidad que le caracteriza combina todo ello en la Monitorización UX PWR. Os invitamos a leer dichas publicaciones y regresar con nosotros a este artículo para profundizar en las herramientas para pruebas.
In diverse industrial and academic environments, the quality of the software has been evaluated (validated) using different analytic studies. It is a common practice on these environments to use statistical models for the assurance, control and evaluation of the quality of a software product or process. A number of industries in the safety-critical sector are forced nowadays to use such processes ... [Show full abstract]View full-text

TestLink es una herramienta de gestión de pruebas basada en la web ampliamente utilizada. Proporciona soporte para administrar y mantener casos de prueba, conjuntos de pruebas, documentos de prueba y proyectos en un solo lugar. Puede alojarse en un servidor e integrado con herramientas de seguimiento de errores como Mantis, JIRA, Bugzilla, FogBugz, etc. para facilitar el proceso de ejecución de pruebas. TestLink se puede utilizar tanto para pruebas manuales como automatizadas.
Robot Framework es un framework open-source genérico de automatización de pruebas para pruebas de aceptación y desarrollo basado en pruebas de aceptación (ATDD). Tiene una sintaxis de datos de prueba tabular fácil de usar y utiliza el enfoque de prueba basado en palabras clave (keyword-driven testing). Sus capacidades de prueba pueden ampliarse mediante bibliotecas de prueba implementadas con Python o Java, y los usuarios pueden crear nuevas palabras clave de alto nivel a partir de las existentes usando la misma sintaxis que se usa para crear casos de prueba.
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
Ya sea que esté iniciando su propio negocio o si ya tiene un negocio establecido, Nextar Software es una excelente solución de administración de negocios para usted. Pruebe Nextar durante 14 días y si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de soporte. Nuestro software asequible puede ajustarse a cualquier presupuesto y le dará acceso a asistencia premium.
Llevo trabajando de QA en una empresa de educación algo más de 1 año pero en ningún momento hemos automatizado. De programación ando algo corto pues la mayoría de conocimientos son a nivel de sistemas y bbdd por lo que necesitaría una aplicación en la que haya que picar el menor código posible, utilizando principalmente la grabación para pruebas funcionales; la mayoría de nuestras aplicaciones son en .net, formularios web y plataformas lms. Probamos superficialmente Selenium pero no nos terminó de convencer

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