También existen soluciones gratuitas, como WooCommerce, que permiten montar un comercio a partir de una web de Wordpress. “Su gracia es que funciona sobre Wordpress, que es una solución tan extendida que mucha gente de marketing y negocio la sabe utilizar a nivel usuario. De esta forma, la curva de entrada es mucho más simple. Yo la recomendaría siempre que tu estrategia de marketing se base en contenidos (posts) y quieras que el blog tenga el mismo protagonismo que la tienda (de esta forma está todo en una misma plataforma)”, comenta Cortizo.
¿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.
· Sin desmerecer ningún lenguaje ya que todos son herramientas y/o formas de comunicación con una computadora creo que (es mi opinión personal) para una persona que no sabe o sus conocimientos sobre programación son muy pocos, un lenguaje del estilo C#, .NET, Java que son lenguajes compilados, se hace un poco mas costoso el aprendizaje, es decir que la curva se hace un poco mas pesada en la relación Aprendido/tiempo.

La automatización es uno de los temas del momento. Ya os lo contamos cuando hablamos acerca de las tendencias tecnológicas más relevantes de nuestros tiempos, pero hoy nos centramos en el testing automation. Y lo primero que hay que decir al respecto, es que la automatización de pruebas de software no garantiza la calidad del software. ¿Sorprendido? Entonces recuerda que la calidad de software va mucho más allá del testing. Cuando hablamos de calidad de software hemos de tener en cuenta tres núcleos: la calidad del proceso de creación de código, la calidad del producto en sí, y la calidad del equipo que lo desarrolla. Sin metodologías ágiles en el proceso, y un equipo de trabajo motivado, la calidad del producto en sí, aquello que parcialmente mides con el testing, se ve mermado. El testing es imprescindible para conseguir una buena calidad del software, sí, pero el testing solo mide software en ejecución. Además todos sabemos que el hecho de que el software funcione no significa necesariamente que esté bien construido La calidad del software engloba un conjunto de factores y como tal, cada uno de estos factores es imprescindible para el conjunto, pero no determina el umbral de calidad por sí solo. Así que hoy, nos centramos en una de esas pequeñas partes imprescindibles para el resto – la automatización de pruebas – pero sin olvidarnos que necesitará de sus compañeros de viaje para funcionar como se espera.
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.
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

Todos tenemos preguntas que necesitan respuesta. Tableau es fácil de usar para cualquier persona familiarizada con Excel. Además, es una herramienta lo suficientemente poderosa como para resolver los problemas más complejos. Su intuitiva interfaz permite a los usuarios centrarse en descubrir información detallada y generar un impacto cuantificable en el negocio.

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.
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.
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.
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
• Vender funcionalidades en lugar de beneficios. Cuando hablamos de testing se nos olvida mencionar cómo beneficia al cliente, producto, o empresa. Tendemos a hablar de todo lo que vamos a poder hacer sin mencionar los beneficios. No importa lo avanzada que sea la herramienta de automatización o ese nuevo proceso manual que deseas implementar, si no puedes ligarlo a beneficios tangibles. Necesitas identificar que el testing, ya sea automatizado o no, sí beneficia al cliente, producto o empresa.
Su casa matriz, KMS Technology, fue fundada en 2009 de forma conjunta en Estados Unidos y Vietnam, y tras tres años de desarrollo basados en Selenium y Appium con soporte para Groovy (Java) fue liberado con el nombre de “Katalon Studio”. Lo que resalta de Katalon es que en vez de descargar e instalar Selenium y Appium por separado, Katalon lo ofrece en un solo paquete y además mejora la experiencia del usuario, lo que permite un aprendizaje rápido. Una vez lo hayamos dominado, podemos ir a fondo con Selenium, el cual corre por debajo, latente. Además apoya el desarrollo continuo de software con Teamcity, qTest, JIRA, Jenkins, y Git. Las bondades, muchas en realidad, las podréis leer en este enlace con detalle.

La automatización del testeo de software permite reducir los costes de cualquier organización que necesite probar sucesivas versiones de un mismo producto, facilitando así las pruebas de regresión (1). Para llevar a cabo la automatización del testeo en una organización hay que evaluar la disponibilidad de recursos humanos para destinar a la automatización. Debido a que la automatización es también un proyecto de desarrollo, se necesita un perfil desarrollador/tester.


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

Hoy las empresas en el mundo utilizan varios tipos de software que se adapten a sus negocios. Antes se utilizaban los libros de contabilidad y calculadora para recopilar información en varias hojas, sobre ventas y emisión de facturas para los clientes. Aparte de los registros regulares de las tiendas,  todo lo que hoy se usa esta completamente automatizado. Esta gran  revolución en el mundo de la informática trajo consigo un gran cambio para las empresas y el modo en que estas dirigen sus operaciones de negocios. A través del uso del software se puede asegurar que su negocio no sólo tenga un giro más exitoso, sino que además exista un ahorro considerable en tiempos y mayores ingresos.
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?
Nótese que en este artículo no recomendaremos ningún software en particular, porque incluso nuestra herramienta hecha en casa necesita de Pandora FMS para que se encargue de entregarle los datos, para que se convierta en información y genere las alertas necesarias, de ser el caso, desde el punto de vista de la monitorización. Así que cada caso y necesidad son muy particulares. En honor a la justicia, los enumeraremos de acuerdo al año en que fue liberada su primera versión al público, y seguro que os agradará la lista que hemos preparado.
Selenium es uno de los software de código abierto más populares para automatizar procesos, utilizado para diversas aplicaciones y plataformas web como Windows, Mac y Linux. Al tratarse de un entorno de trabajo de probadores de automatización web, especialmente aquellos con habilidades avanzadas de programación y scripting, sus scripts se pueden escribir en diferentes lenguajes de programación como Java, PHP, Python, C #, Groovy, Ruby y Perl. Tiene una gran flexibilidad y varios niveles de complejidad. Selenium es la base para la mayoría de las otras herramientas de prueba en general.
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”.
×