2 research outputs found

    Enfoque para pruebas de unidad basado en la generación aleatoria de objetos

    Get PDF
    El testing del software es una tarea crucial y a la vez muy desafiante dentro del proceso de desarrollo de software. El testing permite encontrar errores y problemas del software contra la especificación del mismo y cumple un rol fundamental en el aseguramiento de la calidad del producto. Entre los tipos de pruebas que se pueden realizar al software están las pruebas de unidad, carga, integración y funcionales. Cada una de ellas tiene distintos objetivos y son realizadas en diferentes etapas del desarrollo del software. En el primer tipo mencionado, se desarrollan pruebas a componentes individuales de un sistema de software. Los desarrolladores especifican y codifican pruebas para cubrir todos o al menos una parte significativa de los posibles estados/configuraciones del artefacto o unidad de software, para simular el entorno del componente y descubrir la presencia de errores o “bugs”. Dado que escribir todas esas pruebas de forma manual es costoso, las pruebas de unidad son generalmente realizadas de manera ineficiente o simplemente dejadas de lado. El panorama es aún peor, más allá del esfuerzo, porque el testing no puede ser usado para probar la usencia de errores en el software sino tan solo la presencia. Por eso es necesario atacar el problema desde diferentes enfoques, cada uno teniendo sus fortalezas y ventajas. Actualmente existen muchas técnicas para hacer testing de software, y la mayoría de ellos se basan en la automatización de pasos o caminos de ejecución, con valores fijos o componentes predefinidos (hard-coded) o estáticos, y condiciones específicas. En este trabajo de maestría, se presenta un enfoque para pruebas de unidad en la programación orientada a objetos, basado en la generación de objetos de manera aleatoria. El fundamento básico de este enfoque propuesto es el testing aleatorio. También se presenta una herramienta de testing de unidad que usa el enfoque dicho, y que fue escrita en un lenguaje orientado a objetos de amplia difusión. El testing aleatorio (RT o random testing) como técnica no es nueva. Tampoco lo es la generación de valores aleatorios para pruebas. En el paradigma funcional, existe una herramienta muy conocida para probar especificaciones sobre funciones llamada QuickCheck. Ésta herramienta (escrita en Haskell) y sus ideas subyacentes son usadas como fundamento para la herramienta creada en este trabajo. La herramienta desarrollada en el presente trabajo cubre además características que existen en el paradigma orientado a objetos de manera inherente, tales como el estado de los objetos (en particular los objetos singleton con estado), clases abstractas e interfaces, que no existen en la programación funcional pura. La constribución de este trabajo de maestría es la presentación de una forma alternativa de realizar tests de unidad en la programación orientada a objetos (POO), basada en un trabajo anterior para el paradigma funcional. También se presenta una herramienta llamada YAQC4J que plasma esas ideas en un lenguaje orientado a objetos de amplia difusión. Finalmente se incluyen ejemplos que ilustran el uso de la herramienta, y se presenta una comparación con herramientas existentes que han intentado implementar el enfoque de testing. Este trabajo está dirigido a los desarrolladores de software interesados en conocer soluciones alternativas para el testing de unidad, y al mismo tiempo una forma complementaria a las ya existentes para pruebas de unidad.Facultad de Informátic

    An Event Monitor and Response Framework Based on the WSLogA Architecture

    Get PDF
    Web services provide organizations with a powerful infrastructure by which information and products may be distributed, but the task of supporting Web service systems can be difficult due to the complex nature of environment configuration and operation. Tools are needed to monitor and analyze such Enterprise environments so that appropriate engineering, quality control, or business activities can be pursued. This investigation resulted in the development of a software development kit, the WSLogA Framework, which is inspired by the vision of Cruz et al. (2003, 2004). The WSLogA Framework provides distributed Enterprise systems with a platform for comprehensive information capture and environment management. Five component groups are intended for employment to enable integrated workflows addressing monitoring and response activities, but these components may also be used individually to facilitate the phased integration of the WSLogA Framework into existing environments. The WSLogA Framework\u27s design is portable across technology platforms (e.g., Java and .NET) and a variety of technologies may be substituted for the provided implementations to address unique system architectures. The WSLogA Framework supersedes existing logging and monitoring solutions in terms of both capability and intent. Applications based on the WSLogA Framework have an internal, real-time view of their operation and may adjust their environment based on the information provided by events related to their or system activities. The WSLogA Framework is intended as a software development kit around which system functionality may be organized and implemented, which makes the WSLogA Framework an architectural peer or complement to traditional application frameworks such as Spring\u27s Web module. WSLogA Framework based systems should be envisioned as information appliance elements rather than traditionally scoped applications or services
    corecore