AutoIT es una herramienta para automatizar la GUI de Windows y las secuencias de comandos generales usando una combinación de pulsaciones de teclas, movimiento del ratón y manipulación de ventana / control. Se utiliza para automatizar tareas que son difíciles de realizar con ciertos idiomas. Es muy utilizado por los probadores para crear scripts de automatización para el entorno de Windows.
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.

Framework open-source de automatización de pruebas con versiones de descarga para Windows, Mac y Linux. Sus características permite: Crear proyectos desde plantillas para aplicaciones Web, Móvil y Testing sobre API Generación de casos de pruebas desde grabación, su entorno IDE o codificación Entorno integrado de ejecución sobre los navegadores más […]


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

El software E.S. Plan de empresa es producto de más de 10 años trabajando con miles de emprendedores y clientes, viendo qué funciona y qué no en el mundo real. Este software arregla los planes de negocio por donde están rotos, que es en ser largos, centrados en lo que no importa, inútiles para el día a día y que no se aplican porque acaban en un cajón, incompletos o con el hartazgo de haberlo hecho para nada.

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.
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.
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
• Las herramientas de Micro Focus Borland cubren todo el ciclo de vida del desarrollo de aplicaciones corporativas, desde la gestión de requerimientos pasando por testing multi-plataforma y control de versiones, con un reconocido prestigio internacional. Gartner ha situado en 2014 a Borland, como líder en su Cuadrante Mágico de “Suites Integradas de Calidad de Software” por tercer año consecutivo.
En el proceso de búsqueda y elección de un software empresarial quizás nos centramos en buscar funcionalidades demasiado complejas. Sin pasar por alto la importancia de los software que nos ofrecen multitud de funcionalidades, tenemos que centrarnos en el grado de sencillez y usabilidad de éste.  Un programa de manejo sencillo nos permitirá ahorrar gran cantidad de tiempo y recursos en la fase de implantación.
TestComplete pertenece a SmartBear software, una compañía que ofrece un amplio repertorio de soluciones para la calidad de software. Si hablamos de TestComplete nos referimos a una herramienta orientada a objetos que soporta una gran cantidad de tecnologías tales como Visual Basic, Delphi, C + + y otras herramientas de desarrollo. Se puede ejecutar en los navegadores Internet Explorer, Mozilla Firefox y Google Chrome en sus versiones de 32 y 64 bits y soporta flash y otros complementos. Por el momento sólo ofrece soporte en Windows.
La interacción con el software. Aquí es donde entra la computación en la nube, que nos permite el almacenamiento remoto de la información y el acceso a la misma desde dondequiera que estemos, y el modelo de Software as a Service (SaaS), que no requiere la costosa compra e instalación de software en las computadoras de la empresa, sino solo una suscripción y el pago por utilización.

El problema de armar algo a medida desde cero (o sea desde la programación) es la actualización del mismo. Un alternativa mucho más razonable por su sencillez, costo y posibilidades de actualización es hacerlo tu misma mediante una base de datos con capacidades gráficas, ahí mi programa preferido es sin duda FileMaker, que, además ofrece muchísimos plantillas de gestión de negocios específicos que puedes adaptar muy rápidamente a tus necesidades.
En Clavei, debido a la gran cantidad de configuraciones personales y programación a medida realizada sobre nuestras ERP se hacía imprescindible la automatización de ciertos procesos, que por su importancia y complejidad necesitaban pasar por pruebas de regresión en cada una de las versiones generadas. Por citar algunos, se trata de procesos como: recálculo de almacén, previsiones de compra, generación de órdenes de producción, facturación de compra y ventas, contabilizaciones, ….
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. 
Podríamos preguntárnoslo de otra manera, ¿cómo es que ahora todo el mundo automatiza? o ¿qué está sucediendo para que la automatización sea indispensable? Bien, la respuesta es lógica y sencilla. Dadas las nuevas tecnologías y enfoques clave como la cultura DevOps, la productividad de los equipos de software ha aumentado mucho y el time-to-market se ha reducido considerablemente. Por tanto, todo aquello que: a) ayude a ser más ágil, b) permita a los desarrolladores dedicar tiempo a lo que realmente necesita de su atención, y, sobre todo, c) permita llegar al mercado mucho más rápida y eficientemente, es estratégicamente indispensable si se quiere sobrevivir en el mercado. A todo ello contribuye y mucho la automatización de pruebas funcionales- no sólo porque dejan tiempo al tester, sino porque además estas pruebas son reutilizables. Además, la automatización de las pruebas aporta tranquilidad al ajustar y mejorar las principales funcionalidades, ya que brindan información sobre el impacto de los cambios realizados.
Las pruebas de estrés permiten verificar que el sistema funciona adecuadamente bajo diferentes condiciones. Baja memoria o no disponible en el servidor, máximo número de clientes conectados y múltiples usuarios ejecutando la misma transacción, representan algunas de las condiciones descritas. La finalidad de las pruebas de estrés también es la de identificar el límite de las condiciones bajo las cuales el sistema falla.

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:


• 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.
Selenium  ofrece la ventaja de ser una herramienta de código abierto. Esta herramienta esta diseñada exclusivamente para navegadores, es decir, que esta diseñada para tecnologías web. Se puede escribir los scripts tanto en C#, Java, Groovy, Perl, PHP, Python y Ruby. En cuanto al soporte, viene dado a través de la comunidad que lo desarrolla y colabora en ello, pero eso no garantiza una respuesta. Esta herramienta se puede usar en Windows, Linux y MacOS.
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

Javier me gustaría que me aconsejaras que programa me serviría para el manejo de una pequeña empresa de inmobiliaria con manejo de administración de inmuebles por arrendamientos y administración de inmuebles consignados para ventas con comisiones como pago y administración de inmuebles con reparaciones y manejo de trabajadores para pequeñas reparaciones. ademas de caja y consignaciones y pagos de comisiones vendedores.
Buenos dias Javier. Gracias por tus interesantes aportaciones al manejo de Pymes. Tengo un negocio de venta de comidas, boquitas, otros, pero solamente en venta a empresas, bancos, cooperativas, otros, no hay venta directa al público. Deseo saber si existe un programa de uso gratuito para el control de compras de materiales, de fabricación de los diferentes menus, facturación a clientes (contado, credito), control de isv (impuesto sobre venta), pagos de luz, alquiler, agua, impuestos varios, control de pago de planillas, gastos varios, control de bancos, mantenimiento de equipo, compra de insumos, declaracion y controles contables. Tienes alguna recomendación ???? puede ser un solo programa ?? o deben ser varios????? Aguardo tu pronta recomendación. Muchos saludos y éxitos mil !!!!
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.
Las herramientas de gestión de la reputación online te ayudarán a saber qué dicen de ti y dónde. La más recomendada es Google Alerts, un sistema de alertas que te avisa cuando alguien publica algo sobre tu nombre o marca. Aunque tal y como señala el webmaster Dean Romero, “no hacen falta demasiadas herramientas para saber qué se está diciendo de ti en Google. El algoritmo está muy cualificado para encontrar los términos que busques. Basta teclear tu nombre o tu marca y listo”.
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.

Otras buenas alternativas pueden ser Klout y Mention , muy útiles para gestionar la reputación en redes sociales: qué se dice de ti y qué comentarios tuyos tienen más impacto, quiénes son los usuarios con más influencia, etc. Eso sí, Klout es completamente gratuita, pero Mention dispone de un plan con sus correspondientes tarifas en función del tamaño y tipo de equipo. También merecen la pena otras herramientas más específicas como TwitterSearch , “un buscador en tiempo real para que no te pierdas nada de lo que se dice de ti en esta red”, comenta Isra García. En esta misma red dispones también de soluciones como las de Tweet Alarm
El software de gestión empresarial combina los datos de todas las demás herramientas que utiliza y establece un intercambio rápido de información entre los departamentos de negocios. Debido a que todos los datos importantes se recogen en un sólo sistema central, nadie del personal permanece en la incertidumbre o está obligado a pedir a sus colegas información. Aunque cabe enfatizar que se mantiene cierto grado de privacidad para que accedan a la información sólo personas autorizadas por la empresa. Otro beneficio de la gestión de todas las operaciones de negocio dentro de un único sistema es la capacidad que brinda para construir vínculos entre diversos datos que competen a las empresas. Con ello se les da a los usuarios una comprensión completa de cómo determinadas actividades influyen en su presupuesto o en los resultados de las ventas. Por ejemplo, se pueden vincular aspectos sobre el marketing y la administración de las relaciones con los clientes, para determinar los alcances y crecimientos de la empresa, asimismo, vincular las tareas completadas a proyectos con el fin de posibilitar una facturación eficiente para el trabajo y los costos de éstos.
Como podéis imaginar, habrá decenas de herramientas para pruebas software, de las que he querido destacar en esta lista tres: Selenium, Jmeter y Testlink. ¿Por qué estas tres? Porque son herramientas para pruebas software, son de software libre y son de las más usadas en proyectos. Las dos primeras, Selenium y Jmeter, trabajan en la automatización de las pruebas funcionales, la tercera, Testlink, en la gestión de los casos de prueba. Aquí os dejo un breve resumen de estas herramientas para pruebas software.
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.
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.
×