Con la plataforma RuedasdeNegocios.com hemos organizado dos eventos internacionales recientemente. Una Rueda de Negocios donde empresarios de Brasil, con el apoyo de APEX, hicieron Negocios con empresas de Paraguay. Y luego una Misión Comercial proveniente de Uruguay, apoyados por su agencia de promoción de exportaciones Uruguay XXI. La plataforma nos facilitó aspectos organizativos y ahorramos mucho tiempo, generándose productivas reuniones de negocios! Excelentes Resultados!


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.

Buenas tardes, disculpa q te vuelva a molestar, creo q te había dicho q mi empresa puso la política de q si o si tenemos q hacer por año un curso, mi intención era hacer el curso de automatización en ruby, por motivos de organización de la empresa no llegue hacer el curso en la ultima fecha, cuando veo q va a arrancar uno nuevo dentro de poco mando el mail a mi jefe para decirle q quería hacerlo y me dijo q en ruby nó pq ellos utilizan .net o C#, q tendría q ser en alguno de esos lenguajes para q todos manejemos los mismos lenguajes. Siguió firme con esa postura. Mi consulta ahora es la siguiente, ustedes dan algún curso de automatización en alguno de estos lenguajes (o el mismo en de ruby pero en .net o C#)???

Herramientas de Evaluación para Automatizar Pruebas de Sistemas Orientados a Objetos Leticia Dávila-Nicanor1, Ulises Juárez-Martínez2, Alejandro Romero Herrera1 1Maestría en Ciencias de la Computación Centro Universitario UAEM Valle de México Blvd. Universitario s/n Predio San Javier, Atizapán de Zaragoza, México 2Instituto Tecnológico de Orizaba – División de Estudios de Posgrado e Investigación Oriente 9 No. 852, Col. Emiliano Zapata, Orizaba, Veracruz, México, C. P. 94320 alex.romher@gmail.com, ldavilan@uaemex.mx, ujuarez@ito-depi.edu.mx Área de Participación: Ingeniería de Software     Resumen  La  calidad  de  software  se  ha  convertido  en un  tema  de  gran  importancia  y  la  base  de  un  gran  número de investigaciones.  Para obtener mejores niveles de calidad, se han utilizado modelos matemáticos e instrumentos de evaluación.  Sin embargo  el costo  de  la  evaluación de  un  sistema  es  muy alto,  esto es  debido,  a  que  las pruebas que se realizan a un sistema de software, normalmente son del orden de miles. El objetivo de evaluar un sistema es encontrar  la mayor cantidad de fallos posibles optimizando los recursos que se tienen asignados al proyecto. A pesar de muchos esfuerzos, en la actualidad los paradigmas de programación como el orientado a  objetos  (POO)  y  el orientado a  aspectos  (POA),  tienen  características  en  donde las  técnicas  clásicas  de pruebas no son suficientes.  En este trabajo se propone un novedoso esquema de evaluación para sistemas orientados a objetos, en donde se combina la planeación de las pruebas, apoyada con técnicas de programación orientada a  aspectos.    Este enfoque  mejora  la  eficiencia  de  la  técnica  de  pruebas  de  caja  negra  para  lenguajes  como  Java.  Nuestra herramienta  de  evaluación  se  enfoca  en  medir  los  niveles  de  confiabilidad  mediante  la  emulación de un ambiente controlado con evaluadores virtuales,   lo que permite reducir los costos y mejorar la  eficiencia en  el proceso de evaluación.  Abstract  Quality software has become an issue with great relevance and it has been  the basis of many researches. To obtain best quality levels  it has been  used  different math models and assessment tools. However, the cost to evaluate any  system  is high,  due  to the  test  that have  been implemented, it must  be  run thousands of  times.  Aim  of  evaluate  a software  system  is  to  debug most  errors  so  optimize  resources  allocate to  the  project of software. In spite of many efforts, currently the programming paradigms like object-oriented programming (OOP) and  aspect-oriented  programming (AOP),  have  characteristics  where  the  testing  classic  techniques  are  not enough. In this  paper we  propose  a novel  evaluation  scheme for  object-oriented systems,  where planning  of  tests and techniques supported with aspect-oriented programming are combined. This approach improves the efficiency of the  technique  of  black  box  testing  for programming languages  like  Java.  Our  assessment  tool  focuses  to measure the levels of reliability by emulating of a controlled environment with virtual evaluators, thereby reducing costs and improvement the efficiency of process of evaluating. Palabras clave: Confiabilidad, pruebas, calidad, programación orientada a objetos.  Introducción   Durante el proceso de desarrollo de software, la etapa de localización y corrección de fallos, es decir, la fase de pruebas,  puede  llegar  a  ocupar  desde  un  40%  hasta  60%  de  los  recursos  totales  asignados  al proyecto  de software (Sommerville,  2007).    En  un  contexto  ideal,  se  espera que  un sistema desarrollado  de  una forma adecuada,  presente  la  menor cantidad  de  fallos  posibles.  Sin embargo  y  a pesar  de  muchos  esfuerzos, los 

Buenas tardes, disculpa q te vuelva a molestar, creo q te había dicho q mi empresa puso la política de q si o si tenemos q hacer por año un curso, mi intención era hacer el curso de automatización en ruby, por motivos de organización de la empresa no llegue hacer el curso en la ultima fecha, cuando veo q va a arrancar uno nuevo dentro de poco mando el mail a mi jefe para decirle q quería hacerlo y me dijo q en ruby nó pq ellos utilizan .net o C#, q tendría q ser en alguno de esos lenguajes para q todos manejemos los mismos lenguajes. Siguió firme con esa postura. Mi consulta ahora es la siguiente, ustedes dan algún curso de automatización en alguno de estos lenguajes (o el mismo en de ruby pero en .net o C#)???
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.
La pregunta del millón - ¿qué herramientas utilizo para automatizar pruebas funcionales de software? – no tiene una respuesta sencilla. Son tantas las variables y aspectos a tener en cuenta para elegir las herramientas adecuadas que sería difícil realizar un listado. Dependerá de la funcionalidad, del tipo de aplicación, del lenguaje, del sistema de trabajo… Sin embargo, aquí te dejamos un listado que consideramos bastante completo, pero, nuestra recomendación en este aspecto es clara: antes de invertir en una herramienta de testeo de software, sea para automatizar o no, consulta a un experto en calidad de software. Ninguna herramienta, por muy buena que sea, puede hacer magia. Recuerda que el testing es una pequeña, pero indispensable parte de un conjunto, por lo que no puedes tratarlo por separado, ni desintegrarlo del resto de factores que influyen en la calidad de tu software.

La verdad es que para todo lo que sean pruebas de sitios web, la primera opción diría que es Selenium. Puedes empezar con Selenium IDE, que permite grabar y reproducir, y es muy sencillo de usar, y una vez tengas claro lo que quieres automatizar, pasarte a algún framework. Te dejo un video en español de introducción a Selenium IDE: https://www.youtube.com/watch?v=AptRJxAVsI4
Para mantener las operaciones organizadas e impedir que los animales domésticos sean difíciles de ubicar y hasta se pierdan, los emprendedores en este rubro dependen de programas de computadora que almacena fotos de las mascotas, escanean los códigos de barras en las etiquetas de identificación de las mascotas, hacen el seguimiento de la información de registro y proporcionan informes relativos a todas las mascotas que se encuentren actualmente en las instalaciones.
Además ten en cuenta, que una buena estrategia de automatización de pruebas conlleva más cosas que solo automatizar las pruebas en sí: crear un buen framework de automatización, parametrizar los tests, las ejecuciones para los distintos entornos, lanzar los test con distintos datos de prueba y gestionar dichos datos, sistemas de logs, buenos reportes con información que sirvan para obtener conclusiones, montar una buena infraestructura contra la que lanzar esos tests, paralelizarlos etc.
Este tipo de software empresarial permite con gran facilidad automatizar las operaciones, reduciendo el tiempo y los gastos involucrados en el negocio. A la distancia de un clic se pueden ejecutar informes y acceder a otras informaciones importantes vinculadas a inventarios, abastecimientos, distribución, compras, facturación, cobros, pagos a proveedores, entre otros datos claves del negocio.
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
Paint de Microsoft. Si, hay un montón de alternativas mucho más completas e interesantes, como Greenshot, del que hemos hablado aquí, o Jing, del que hablaremos en breve. Pero en muchos casos, con Paint es suficiente. Es un programa básico, incluído en todas las versiones actuales de Windows, por lo que si usas alguna versión de este sistema operativo, lo usarás a menudo. En 3 simples pasos puedes tener un pantallazo, y con poco más puedes destacar un punto en concreto y añadir un texto descriptivo en la imagen:

Algunas pruebas de software tales como las pruebas de regresión intensivas de bajo nivel pueden ser laboriosas y consumir mucho tiempo para su ejecución si se realizan manualmente. Adicionalmente, una aproximación manual puede no ser efectiva para encontrar ciertos tipos de defectos, mientras que las pruebas automatizadas ofrecen una alternativa que lo permite. Una vez que una prueba ha sido automatizada, ésta puede ejecutarse repetitiva y rápidamente en particular con productos de software que tienen ciclos de mantenimiento largo, ya que incluso cambios relativamente menores en la vida de una aplicación pueden inducir fallos en funcionalidades que anteriormente operaban de manera correcta. Existen dos aproximaciones a las pruebas automatizadas:
• 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.

Como dijimos, Watir se vale de Selenium y hereda su licencia y muchas de sus características; sin embargo, solamente soporta lenguaje Ruby. Inicialmente desarrollado por Bret Pettichord y Paul Rogers y una comunidad entusiasta de desarrolladores, se centra en automatizar navegadores web tal como lo haría un usuario normal y en la manipulación de todos los elementos HTML. Al igual que en Selenium, se necesita conocimientos profundos en programación y su instalación toma la forma de “RubyGems”, como gestor de paquetes.


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.
Razor SQL es una herramienta de SQL Query y Database Editor para Windows, Mac OS y Linux. Permite a los probadores importar, exportar y convertir bases de datos en varios formatos como MySQL, Oracle, DB2, PostgreSQL, SQLite, MS SQL Server y MS Access. Con Razor SQL, los usuarios también pueden explorar objetos de base de datos y realizar comparaciones de bases de datos.
Herramientas de redes hay muchísimas, pero algunas están asociadas exclusivamente a una sola red. Entre las genéricas, las más recomendadas son HootSuite y Buffer . “Buffer es muy útil para automatizar y compartir tus contenidos en redes de forma muy sencilla. HootSuite es similar a Buffer, con funcionalidades algo más avanzadas, aunque con una interfaz ligeramente más complicada”, apunta Romero. Otra buena alternativa para conocer lo que pasa en todas tus redes es Sproutsocial , aunque sólo ofrecen 30 días gratis.
Beyond Compare. La última, pero no por ello menos importante, de las herramientas para pruebas de software que vamos a incluir en nuestra top ten de herramientas para testing es Beyond Compare, de la que ya os hablamos en nuestra entrada Beyond Compare. Compara archivos de texto, binarios y carpetas fácilmente. Como ya os indicamos entonces, esta herramienta nos permite comparar archivos y carpetas. Los archivos de texto pueden ser vistos y editados, con sintaxis resaltada y reglas de comparación específicas para documentos, código fuente y HTML.  Los contenidos de texto de archivos Microsoft Word y archivos PDF también se pueden comparar, pero no editar. Archivos de datos, ejecutables, binarios e imágenes, todos tienen visores dedicados, disponiendo siempre de una clara visión de los cambios.
Otra duda razonable. Si existen herramientas todo en uno, ¿merece la pena escoger una más completa o las buscamos por especialidades? “Depende de las necesidades de la empresa. Para muchas, un software integrado que incluya funcionalidades de CRM y de ERP puede ser más que suficiente. Ahora bien, hay empresas donde alguna de estas partes cobra mucha importancia y necesitan un software específico. Por ejemplo, en retailers, el ERP es fundamental para gestionar bien el stock, las necesidades de compra, etc.”, explica José Carlos Cortizo.
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
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.
Posiblemente te dirán que la idea es que vos diseñes y codifiques los tests y luego los desarrolladores puedan mantenerlos/extenderlos pero creeme que eso nunca llegué a verlo. Si los desarrolladores tienen que hacer tests QUE HAGAN SUS TESTS UNITARIOS, bastante tienen con sus tareas como para que le agreguen una tarea mas que es la de las pruebas funcionales. A pocos desarrolladores les gustará la idea. Es lo que siempre vi.

aftertest after test afterwork Android automatización blogs Calidad conferencia consejos deuda técnica expo:QA'17 expoqa formación herramientas ios istqb jmeter kiuwan mejorar microsoft node.js nodejs notepad++ pantallazo performance Pruebas rendimiento resumen semanal seguridad Selenium soapui soasta Software sonarqube test tester testers Testing tools video Videos Ward Cunningham webinar windows youtube
Esta es una lista que evidentemente no incluye todo el software existente -ni pretende ser exhaustiva-, pero refleja la situación actual del mercado de software, el cual goza de excelente salud con variedad de precios y características. ¿Cuál será el más adecuado? Recomendamos el uso de máquinas virtuales, por sus singulares prestaciones, para que evaluéis con detenimiento cada uno de los programas y tengáis un panorama completo y basado en pruebas específicas. Una vez hayáis elegido los mejores candidatos será hora de presentarlo a los equipos de desarrollo sobre ordenadores reales y de allí seleccionar uno -o más-, a fin de que vuestra empresa adquiera una licencia de servicio y/o uso. ¡Dejad vuestro comentario aquí debajo y aclararemos cualquier inquietud, duda o comentario!
La automatización de pruebas es la práctica que permite controlar la ejecución de un producto software de manera automática, comparando los resultados obtenidos con los resultados esperados. Esta práctica permite no solo realizar pruebas repetitivas dentro de un proceso sino probar ejecuciones que manualmente serían difíciles de controlar. Sin embargo, la automatización de pruebas funcionales, no tiene como objetivo eliminar el testing manual, sino ayudarlo y complementarlo. Si automatizamos aquello que puede ser automatizado, entonces los testers tendrán más tiempo y podrán centrar sus esfuerzos en resolver los aspectos más complejos que se le escapan a la automatización de pruebas unitarias o repetitivas. En palabras de Alexandra Blasco: “la automatización consiste en la construcción de un conjunto de scripts reutilizables, con los que podemos aumentar drásticamente la capacidad de testear software en lo que respecta a pruebas de regresión antes y después de la publicación de una nueva versión. Dichos scripts se ajustan a cada funcionalidad y nos aportan una información del impacto de los cambios realizados”.
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.
×