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.
PhantomJS es un navegador que se utiliza para automatizar las interacciones de la página con fines de prueba. Ayuda a los usuarios a habilitar la navegación y el comportamiento del usuario en una página sin cargar la interfaz gráfica. PhantomJS imita y manipula una página web para llevar a cabo la automatización de pruebas que en última instancia, ahorra una tremenda cantidad de tiempo para los probadores.
A algunas empresas se les olvida invertir en el futuro y el dinero que se ahorran lo acaban perdiendo en unos meses, además de bajar su nivel competitivo y la calidad de sus productos y servicios. Por este motivo, actualmente debería ser obligatorio tener recursos dedicados a actividades, e incluso proyectos, que permitan explorar nuevas posibilidades en el ámbito de la automatización de pruebas.
inspector de código para crear los casos de prueba necesarios. Algunas propuestas utilizan los archivos fuente de Java y otras se basan en diagramas UML para conocer la arquitectura del sistema. Nuestra propuesta se basa en retomar la parte de planeación y ejecución de pruebas que marca la teoría clásica, apoyada con técnicas de programación novedosas como la POA para mejorar la ejecución de cada caso de prueba. En este caso la combinación de la evaluación del sistema en reposo y en tiempo de ejecución robustece el proceso de evaluación para lenguajes como Java y nos permite planear y ejecutar los casos de prueba de una forma efectiva. De acuerdo a los resultados que hemos obtenido con este enfoque en otro tipo de aplicaciones (Davila-Nicanor, 2005), los costos se reduce en al menos el 50%. Este enfoque permite obtener sistemas productivos más confiables y eficientes. Trabajo a futuro El principal objetivo de nuestro trabajo a futuro es implementar el esquema propuesto para la herramienta de evaluación de sistemas orientados a objetos. Para evaluar la certeza de esta propuesta, serán utilizados algunos casos de estudio que tiene disponibles en su base de datos la Nasa (Rathore, 2012). El objetivo de esta base de casos, es que los instrumentos de evaluación que se proponen puedan contrastar sus resultados con los reportados en esta organización. Otro objetivo importante es que el costo computacional deberá ser bajo en la ejecución de la herramienta. En este caso los algoritmos implementados deben ser eficientes y confiables. Finalmente la técnica que elegimos POA en la ejecución de los casos de prueba, representa un gran reto, porque de acuerdo al estudio realizado en este reporte, pocas herramienta la utilizan como parte central de su proceso de evaluación. En este caso se utilizan en su mayoría técnicas de algoritmos evolutivos, lo cual genera costos muy altos de ejecución. Referencias al., K. e. (2011). LCT: an open source concolic testing tool for Java programs. In In: Proceedings of the 6th Workshop on Bytecode Semantics, Verification, Analysis and Transformation (pp. pp. 75-80). Albert, E. a.-M.-Z. (2011). jPET: An Automatic Test-Case Generator for Java. In Proceedings of the 2011 18th Working Conference on Reverse Engineering (pp. 441--442). IEEE Computer Society. doi:10.1109/WCRE.2011.67 Albert, E. a.-Z. (2010). PET: A Partial Evaluation-based Test Case Generation Tool for Java Bytecode. In Proceedings of the 2010 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (pp. 25-28). Madrid, Spain: ACM. doi:10.1145/1706356.1706363 Basili, V. R. (1996). A Validation of Object-Oriented Design Metrics As Quality Indicators. IEEE Trans. Softw. Eng., 22(10), 751--761. doi:10.1109/32.544352 Bhatnagar, N. (2004). A Survey of Aspect-Oriented Programming Languages. Cheon, Y. a. (2010). Automating Java Program Testing Using OCL and AspectJ. In Proceedings of the 2010 Seventh International Conference on Information Technology: New Generations (pp. 1020-1025). IEEE Computer Society. doi:10.1109/ITNG.2010.123 Davila-Nicanor, L. a.-A. (2005). Reliability evaluation of Web-based software applications. In Computer Science, 2005. ENC 2005. Sixth Mexican International Conference on (pp. 106-112). doi:10.1109/ENC.2005.36 Fraser, G. a. (2011). EvoSuite: Automatic Test Suite Generation for Object-oriented Software. In {Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (pp. 416--419). Szeged, Hungary: ACM. IEEE. (2014). IEEE Spectrum. Retrieved Agosto 111, 2014, from http://spectrum.ieee.org/static/interactive-the-top-programming-languages
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
en muchos de los casos,  el código es heredado o forma parte de un diseño orientado al reúso de componentes.  La arquitectura propuesta está conformada de 3  subsistemas. De acuerdo a la Figura 1, al primero subsistema  se le denomina inspector de código.  El objetivo de este subsistema es evaluar al sistema en reposo. La primera acción que realiza el inspector es inspeccionar el bytecode para obtener la arquitectura interna del sistema. Esta información se  contrasta con  la  información de  la  matriz de pruebas,  en donde se  encuentran los  registros de todos los parámetros necesarios para ejecutar correctamente cada caso prueba creado. El segundo subsistema es el evaluador de casos.  El principal objetivo de este subsistema es generar un ambiente de evaluación real, en  donde  un  grupo  de  evaluadores  virtuales  ejecutan  cada  uno  de  los  casos  de  prueba  de  acuerdo  a  la funcionalidad  del  sistema  en  cuestión.    Cada  evaluador  será  apoyado  con  un  aspecto  que  insertará  las cláusulas en la codificación de los parámetros necesarios para cada caso de prueba.  La gran ventaja de este enfoque  es  que  no  es  necesario  compilar  el  código  para  cada  clausula  insertada.  El  último  subsistema recopilará la información resultante de cada prueba, en este caso será generada una pequeña una bitácora en el cual será especifica si la prueba fue exitosa o no. La información de las bitácoras generadas se guardará en una base de datos para estimar las métricas, las variables y sus valores del contexto de ejecución en donde se dieron los fallos, para su posterior análisis.    El  proceso  de  evaluación  del  sistema  se  realizará  utilizando  la  técnica  de  simulación  orientada  a  eventos discretos.   En  cada evaluación  el tiempo  asignado  será ejecutado  por  el selector  de casos  y  cada evaluador virtual será generado de forma aleatoria y automática.       Figura 1.  Arquitectura de la herramienta de evaluación propuesta.    Las ventajas de nuestro framework de evaluación son:   •  La inspección de la arquitectura será  basada  en  el bytecode o código fuente y en  la  funcionalidad  del sistema.  •  La emulación de un grupo de evaluadores virtuales en entornos reales de ejecución.   •  El  control  de  los  casos  de  prueba  durante  la  ejecución  mediante  la  POA  permite  reducir  el  costo computacional.    Esto es  debido  a  que este  proceso  en  la  actualidad se  hace  mediante  complicados algoritmos genéticos.  •  La utilización la técnica de simulación orientada a eventos discretos permite modelar el comportamiento de los evaluadores de una forma más acercada a la realidad.  Conclusiones    El proceso  de  pruebas  siempre  ha  sido  muy  costoso,  pero  en  la  actualidad, los  esquemas  tradicionales de evolución no son suficientes.  Se tienen lenguajes como Java, en donde la mayor parte de su funcionalidad se resuelve a tiempo de ejecución. Esta situación dificulta la planeación y ejecución de pruebas.    De acuerdo  al análisis  de  los  instrumentos  de evaluación  reportados en  el  presente  trabajo, se determinó la mayoría de  los  trabajos  se  enfoca  en  la cobertura  del  código. Dichos  instrumentos,  utilizan  normalmente  un 

Algunos de los programas del listado cuentan con una versión pro con características y funcionalidades especiales para aquellas empresas con requerimientos mayores. Para más información te recomiendo visitar el sitio web www.sistemaspaez.com y ante cualquier duda puedes contactar directamente con ellos. Bien, ahora si te invito a aprovechar estas interesantes herramientas.
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.
La dinámica laboral. El trabajo colaborativo y el teletrabajo se están volviendo la norma gracias a las aplicaciones que permiten que diferentes empleados compartan información y documentos y trabajen simultáneamente en ellos sin siquiera estar presentes en la misma oficina. Este tipo de herramientas mejoran la satisfacción del personal y la productividad al mismo tiempo.
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.
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.
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.
Con estas herramientas de Selenium podemos reducir considerablemente el tiempo en la creación de las pruebas automatizadas, y estas mismas pruebas pueden ser ejecutadas como un complemento en la ejecución de una prueba funcional. Así, podemos optar por la alternativa que más nos convenga. Lo único que nos queda es usarlas, conocerlas y familiarizarnos con ellas.
Muchas herramientas de automatización de pruebas proveen características para grabar y reproducir acciones del usuario para posteriormente ejecutarlas un número indefinido de veces, comparando resultados obtenidos con resultados esperados. La ventaja de ésta aproximación a la automatización es que requiere de menos desarrollo de software, sin embargo el confiar en éstas características del software lo hace menos confiable en la medida que muchas veces dependen de la etiqueta o posición del elemento de interfaz, y, al cambiar, el caso de prueba debe ser adaptado al cambio o probablemente fallar. Una variante de estas pruebas es la prueba de sistemas basados en la web en las que la herramienta de prueba ejecuta acciones sobre el navegador e interpreta el HTML resultante. Una variación más es la automatización sin scripts, que no usa grabación y reproducción de acciones sino que construye un modelo de la Aplicación Bajo Prueba ABP (AUT en sus siglas en inglés) que permite a la persona que prueba ("tester") que cree pruebas simplemente editando parámetros y condiciones.
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.
Sin olvidar las más específicas, como SocialBro, para gestionar mejor tu cuenta en Twitter. “O Storify, que te ayudará a crear tus propias historias a través de la curación (selección) de contenidos. Luego puedes organizarla y compartirla. Dandy ID , para almacenar varias identidades sociales en un solo sitio y crear un perfil de contacto ordenado, comenta Isra García .
La elección misma entre automatización y ejecución manual de pruebas, los componentes cuya prueba será automatizada, las herramientas de automatización y otros elementos son críticos en el éxito de las pruebas, y por lo regular deben provenir de una elección conjunta de los equipos de desarrollo, control de calidad y administración. Un ejemplo de mala elección para automatizar, sería escoger componentes cuyas características son inestables o su proceso de desarrollo implica cambios continuos.
101PanelTechDays agile Alianzas atlassian automatización automatización pruebas Big Data calidad Calidad del Software ciberseguridad cloud computing cmmi Codemotion comunicación correo desarrollo desarrollo personal DevOps empresa fabricación ecologica gamificación gestión gestión del tiempo gestión proyectos innovación integración continua iso 27001 juegos lean lean it metodología móvil negocios Noticias nube opensource Panel Sistemas pruebas seguridad Software SQA tarugoconf tendencias testing transformación digital
Un proyecto de automatización de pruebas incluye el desarrollo de la suite de automatización, así como su utilización y mantenimiento. La utilización de la metodología TAKT de SOGETI no implica el uso de una herramienta de testing concreta, sino que, su implementación puede realizarse partiendo de herramientas ya presentes en su organización, lo que evitará una nueva inversión.
• Capacidad para aplicar pruebas complicadas. Algunos tipos de prueba son difíciles de aplicar o muy complicadas de ejecutar de manera manual; entre esta rama podemos encontrar aquellas en las que es necesario el acceso a la base de datos para verificar que la información del sistema sea correcta, o tal vez sea preciso hacer cálculos manuales para verificar la validez de los resultados arrojados por el sistema. Muchas herramientas de automatización proporcionan estas funcionalidades. Además, los sistemas de automatización nos pueden auxiliar a introducir grandes cantidades de información, configurar la versión de prueba de la base de datos, y generar información aleatoria entre otras cosas.
Selenium es un conjunto de diferentes herramientas de software, cada una con un enfoque diferente, para apoyar la automatización de pruebas. La mayoría de los ingenieros de QA de Selenium se centran en una o dos herramientas que satisfacen más las necesidades de su proyecto, sin embargo, aprender todas las herramientas aportará opciones diferentes para abordar distintos problemas de automatización de pruebas. 
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.
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.

Hola Javier un gusto saludarte. Te comento que soy encargado de almacenes en una empresa constructora, en donde manejamos ingreso y salida de materiales de construcción, equipos, repuestos, herramientas, etc., en la oficina central y en coordinación con los almacenes de los campamentos de obra. Me gustaría que puedas aconsejarme un programa que me permita desarrollar estas actividades para tener un mejor control de los almacenes. Agradecido de antemano.......
Incluso podrá generar los datos de prueba correctos para ejecutar sus pruebas automatizadas. Encontrar y corregir los scripts de prueba que fallan cada vez que cambian sus requisitos no es algo que lleva mucho tiempo, ya que esto se automatiza de la misma manera. Y lograr una cobertura de prueba máxima, para todo, no solo para las pruebas de regresión, se convierte en realidad.

Hola Javier, ante todo muchas gracias por tu información, es de gran utilidad. Me gustaría que me recomendases algún programa gratuito que me permita gestionar mi negocio, resulta que tenemos 2 restaurantes y una nave que nos sirve de almacén, en este caso necesitaría un programa para controlar lo que compro a los proveedores y a que precio y también registrar cuantos productos van a cada restaurante, a parte de saber cuantos quedan en almacén en ese momento. Espero que me puedas aconsejar alguno ya que ando bastante perdido. Muchas gracias y un saludo.
Daniel fundó su empresa de Software Internet en 1996, y se especializa en aplicar las nuevas tecnologías al mundo del comercio. Es dirigente de Cámaras Empresariales, fue Presidente y Vicepresidente de entidades regionales, y ha recibido el Premio al Mérito Industrial. Ha fundado 7 empresas, una de ellas Solo10.com SA que actualmente exporta a 17 países.
Con tantos dispositivos, plataformas y versiones de sistema operativo que se deben comprobar, necesitará tener de su lado el proceso de automatización para volver a tomar el control de los ciclos de lanzamiento. La automatización de las pruebas aprovecha la nube para mejorar la cobertura de las pruebas, evitando así el uso de costosas compilaciones de entornos de prueba.
Un contrato traslúcido es el resultado de combinar 1) la Programación Orientada a Aspectos (POA) la cual ofrece ventajas como: separación de asuntos, facilidad para razonar conceptos, reutilización, mejor mantenimiento del software, entre otras; 2) implementar el Diseño por Contrato (DbC) de forma dinámica, es decir que conforme al evento que identifique una regla pueda aplicar o no. En este ... [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.
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.
×