¿Cómo sabes que el sistema funciona? Una respuesta común a esta pregunta es “porque el equipo de testing le echó un vistazo”.  El problema viene al tener que determinar la extensión y profundidad de las pruebas realizadas. Si eres afortunado y trabajas en una empresa con buenos procesos, podrás acreditar lo probado a través de una lista de casos de prueba. Si trabajas en una empresa de clase mundial, entonces hay una gran posibilidad de que tengas la fortuna de tener a tu disposición herramientas para la gestión y automatización de pruebas.De acuerdo con Elfriede Dustin, las herramientas de automatización de pruebas consolidan y mejoran la efectividad de las pruebas siempre y cuando se manejen las expectativas, se entiendan las herramientas, y se seleccione una herramienta compatible con el ambiente de programación. Si necesitas probar un sistema no trivial que conste de algo más que unas cuantas pantallas y reportes, entonces es muy posible que por medio de pruebas manuales no logres realizar todas las pruebas que necesitas para verificar la calidad del sistema. Con la ayuda de herramientas de automatización puedes ejecutar más pruebas, lo cual se traduce en una mayor cobertura del sistema que se está probando.


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.
Uno de los hechos más conocidos sobre los defectos del software es que cuanto más tarden en ser detectados, más caro saldrá corregirlos. Aunque la investigación puede variar en cuanto a la proporción exacta de su impacto en los costos, la regla general es 1:10:100. Es decir, si arreglar un defecto cuesta una unidad (hora, dólar, etc.) en fase de requerimientos y diseño, costará 10 unidades en la fase de prueba (sistema/aceptación) y más de 100 veces en producción. Estos costos pueden ser atribuidos a la pérdida de ingresos y clientes, fraude, malas relaciones públicas y demandas, entre otras cosas.
Por otro lado, otra herramienta que cada vez cobra mayor importancia dentro de un ecommerce es el buscador interno. “La importancia de un buscador reside en que es una de las herramientas más directamente vinculadas a la conversión, es decir, a la venta”, afirma Pepe Romero, responsable de comunicación de Doofinder . “Cualquier persona que entra en un, blog, intranet o comercio online, lo primero que hace es ir a la caja de búsqueda. En el caso de los blog, intranet o webs corporativas, Doofinder ayuda a encontrar fácilmente el contenido, mejorando así la experiencia del lector o empleado a la hora de encontrar lo que busca”.
¿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.
¿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.
HOLA, SI FUERAN TAN AMABLES ME PODRÍAN DECIR QUE PROGRAMA UTILIZAR PARA UN LOCAL DE REPUESTOS DE AUTOS? NO TIENE NADA, TENGO QUE HACERLO DE CERO, QUIERO CARGAR TODA LA MERCADERÍA PARA SABER STOCK, SEPARAR EN LAS DISTINTAS MARCAS Y MODELOS, PODER CARGAR CÓDIGOS, Y LISTAS DE PRECIO, LISTA DE CLIENTES Y PROVEEDORES, Y EMITIR LA FACTURACIÓN. QUE SIRVA PARA LA COMPU DEL LOCAL, EN CADENA CON UNA SUCURSAL MAS EL CELULAR. HAY ALGO ASÍ? GRACIAS
Por otro lado, otra herramienta que cada vez cobra mayor importancia dentro de un ecommerce es el buscador interno. “La importancia de un buscador reside en que es una de las herramientas más directamente vinculadas a la conversión, es decir, a la venta”, afirma Pepe Romero, responsable de comunicación de Doofinder . “Cualquier persona que entra en un, blog, intranet o comercio online, lo primero que hace es ir a la caja de búsqueda. En el caso de los blog, intranet o webs corporativas, Doofinder ayuda a encontrar fácilmente el contenido, mejorando así la experiencia del lector o empleado a la hora de encontrar lo que busca”.
HOLA, SI FUERAN TAN AMABLES ME PODRÍAN DECIR QUE PROGRAMA UTILIZAR PARA UN LOCAL DE REPUESTOS DE AUTOS? NO TIENE NADA, TENGO QUE HACERLO DE CERO, QUIERO CARGAR TODA LA MERCADERÍA PARA SABER STOCK, SEPARAR EN LAS DISTINTAS MARCAS Y MODELOS, PODER CARGAR CÓDIGOS, Y LISTAS DE PRECIO, LISTA DE CLIENTES Y PROVEEDORES, Y EMITIR LA FACTURACIÓN. QUE SIRVA PARA LA COMPU DEL LOCAL, EN CADENA CON UNA SUCURSAL MAS EL CELULAR. HAY ALGO ASÍ? GRACIAS

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!
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.
JMeter es, en palabras de la wikipedia, un proyecto de Apache que puede ser utilizado como una herramienta de prueba de carga para analizar y medir el desempeño de una variedad de servicios, con énfasis en aplicaciones web. En nuestras propias palabras diremos que JMeter es probablemente la herramienta más utilizada para realizar pruebas de rendimiento y stress sobre aplicaciones web, aunque también soporta otros protocolos como:
Sogeti es una compañía tecnológica perteneciente al Grupo Capgemini y especialista en: Testing y Calidad de Software; Soluciones Microsoft y High Tech Consulting. En Sogeti entendemos la importancia de obtener el máximo valor empresarial de sus sistemas de IT, por ello somos líderes mundiales en Testing & QA. Somos creadores de las metodologías estándar del mercado: TMap® (Test Management Approach) y TPI® (Test Process Improvement). ¡Nuestro compromiso es el Testing! Ver todas las entradas de QAnewsblog
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!
Firebug es una extensión de navegador web que ayuda a los probadores en la depuración, edición y supervisión en línea de CSS, HTML y JavaScript de la aplicación web. Firebug junto con Firepath se utiliza para identificar XPath de cualquier elemento. Tanto Firebug como Firepath pueden instalarse como una extensión para Mozilla Firefox, mientras que Firebug Lite se puede agregar como una extensión de Chrome que proporciona una rica presentación de elementos HTML y DOM para la edición en directo.
Mire y aprenda cómo la configuración de varias capas de CA Agile Requirements Designer puede ayudarlo a crear y mantener scripts de automatización de pruebas en varios lenguajes a la vez. Vea cómo los fragmentos de código automáticos se superponen directamente en un modelo de los requisitos, junto con potentes funciones de datos y terminales virtuales. Y cómo los scripts de prueba, los datos y los activos virtuales se pueden generar al mismo tiempo, y se actualizan automáticamente cuando cambian los requisitos.
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!
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.
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.
“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.
• Mayor confiabilidad en los resultados. El sistema de automatización no se cansa, nunca tiene prisa, y mientras las pruebas o su información no cambie, deben de obtener siempre el mismo resultado; son consistentes, confiables, y repetibles. Como seres humanos te cansas, preocupas, o simplemente apresuras en sacar tu trabajo a tiempo. Todo esto lleva a simples errores humanos que afectan tu capacidad de ser eficiente en pruebas rutinarias. La automatización de pruebas repetitivas que requieren una ejecución frecuente,  te permite tiempo para integrar pruebas más complejas, probar nuevas funciones dentro de la aplicación y su integración con el resto del sistema.
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. 
Zapier es una de las herramientas líderes en automatización de tareas. Desde su fundación en 2012, graduándose desde Y Combinator, Zapier ha tenido un papel central como conector de diferentes apps web. Cuenta con más de 750 apps diferentes que puedes integrar con Zapier. Sin duda, uno de los más recomendados, y una de las primeras opciones que deberías tener en cuenta a la hora de comenzar a automatizar tareas y procesos. 
Para un análisis profundo, de utilidad y que le permita realizar descubrimientos, conjugue sus dos activos más importantes: su gente y sus datos (tanto big data como datos de menor volumen). Tableau admite análisis a medida por parte de prácticamente cualquier usuario. De este modo otorga a todo el personal la capacidad para ver y comprender mejor sus datos. Además, permite a sus analistas de negocios publicar KPI de toda la empresa en una plataforma de análisis centralizada y fácil de usar.
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.

La automatización de pruebas debe implicar a todo el equipo de desarrollo, desde los analistas empresariales hasta los evaluadores. Nuestras pruebas basadas en roles permiten que los participantes de la empresa con perfil no técnico, ingenieros de control de calidad y programadores contribuyan a la creación de pruebas, lo que se traduce en calidad y velocidad.
Según mi punto de vista, todos los profesionales de calidad deberían formar parte del mismo equipo dentro de la empresa, a no ser que esta tuviera varias líneas de negocio extremadamente distintas. En cuanto a las personas especializadas en automatización de pruebas, estas deberían considerarse como un equipo autónomo incluido dentro del equipo de Testing. Esto ocurre debido a que las características de los procesos de automatización no son las mismas si las comparamos con las actividades de los Testers, Test Leads y Test Managers encargados de gestionar las pruebas manuales.
×