• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • 1
  • Tagged with
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Reestructuración y refactorización de Unit tests con TestSurgeon

Estefo Carrasco, Pablo Ignacio January 2013 (has links)
Ingeniero Civil en Computación / Actualmente la actividad de Testing es fundamental dentro del ciclo de desarrollo de cualquier proyecto de software serio. Es más, las metodologías ágiles elevan su relevancia dentro de la construcción del software a tal nivel que está prohibido añadir una nueva funcionalidad sin que se haya escrito previamente un test que la valide. A medida que el software crece en funcionalidades y cambian los requerimientos se vuelve más complejo. Es por eso que existen varias técnicas para reestructurar el código haciéndolo más flexible a los cambios y permitiendo que crezca. Sin embargo, los test también crecen en número y en complejidad. Por lo que no son raros los casos de test redundantes tanto desde el punto de vista de su código fuente (duplicación de test) como de su ejecución. Pero a diferencia con el código "funcional", poco esfuerzo se ha realizado por parte de la industria por promover técnicas y crear herramientas que faciliten la tarea de mantener su estructura y diseño limpio. Una de las consecuencias importantes de este problema, es el gran tiempo que toma ejecutar todos los tests. Al haber redundancia, la ejecución tarda más tiempo del necesario lo hace que los desarrolladores los corran con menos frecuencia e inclusive invierten menos tiempo en escribir nuevos test lo cual minimiza la cobertura. Esto último atenta críticamente en la confiabilidad del código base y por ende de la aplicación. En este trabajo se propone una herramienta para detectar problemas de diseño de los tests. TestSurgeon aborda este problema desde dos perspectivas de análisis principales: su código fuente y su ejecución. A través de una intuitiva interfaz, el desarrollador puede navegar sobre las pruebas unitarias y realizar comparaciones entre tests guiado por métricas dedicadas que facilitan la detección de casos interesantes. Además provee una completa visualización que condensa dos métricas que describen y diferencian la ejecución de los test en comparación, permitiendo realizar un análisis eficaz. Finalmente, TestSurgeon permite detectar diferencias semánticas entre tests y encontrar redundancias entre estos para una posible refactorización. Se presentan distintos escenarios de refactorización y reestructuración que son detectados por TestSurgeon. Estos son descritos con ejemplos reales en base a una experiencia de aplicación de TestSurgeon sobre los tests de Roassal, un motor de visualización ágil. TestSurgeon ganó el primer lugar en la competencia internacional ACM Student Research Competition (categoría pregrado) durante la conferencia ICSE (principal en Ingeniería de Software) el año 2012.
2

Linda Talk : suporte distribuido a programação concorrente orientada a objetos

Marchini, Marcio Quintaes January 1994 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnologico / Made available in DSpace on 2016-01-08T19:08:30Z (GMT). No. of bitstreams: 1 94314.pdf: 2787984 bytes, checksum: b837dabeef7253223e2266ff773da445 (MD5) Previous issue date: 1994 / Problemas complexos são geralmente decompostos em subproblemas menores, que sejam tratáveis mais facilmente. O mesmo vale para sistemas de computação, os quais contam com uma gama rica de abordagens de decomposição (funcional, procedural, etc). Dentre estas, a decomposição orientada a objetos tem ganho cada vez mais espaço, dada sua riqueza e poder na modelagem e implementação de sistemas informáticos. A possibilidade de programar sistemas multiprocessadores e sistemas em redes de computadores, por outro lado, favoreceu as linhas de programação paralela/concorrente/distribuída. Contudo, se de um lado a orientação a objetos clássica promove uma modelagem natural de entidades no domínio do problema, por outro lado ela falha na tentativa de expressar atividades concorrentes/paralelas. Já sistemas que suportam a noção de processos paralelos, tais como Occam, Conic, Ada, etc, permitem preencher esta lacuna. Contudo, o poder de modelagem e abstração de entidades fica bastante limitado neste tipo de abordagem, levandogeralmente à produção de sistemas difíceis de adaptar, manter e recusar. Modelos com suporte à programação paralela orientada a objetos, tais como Emerald, ConcurrentSmalltalk, Act-1, ABCL/1, etc. surgem na tentativa de unificar objetos no sentido clássico de orientação a objetos com a noção de processos paralelos e comunicantes. Porém, tanto nesta abordagem quanto na programação orientada a objetos clássica e alguns modelos de programação concorrente/paralela/distribuída, a metófora de interação entre objetos/processo é a mesma: troca de mensagens. Troca de mensagens conforme presente em sistemas concorrentes orientados a objetos apresentam diversas fraquezas no que toca a implementação, manutenção e reusabilidade de sistemas distribuídos. Nossa proposta busca incorporar a uma linguagem orientada a objetos clássica - Smalltalk - um modelo que suporte a programação paralela/distribuída com um maior grau de flexibilidade. Este modelo é o de Espaço de Tuplas, de Linda. Através de um pequeno conjunto de primitivas, tem-se um modelo simples de criação e coordenação de processos ortogonal à linguagem em que se insere o modelo (Smalltalk, no caso). Através do uso extensivo do modelo, acreditamos ser possível a construção de sistemas realmente distribuídos e orientados a objetos com um maior grau de flexibilidade em sua implementação, reusabilidade e manutenção.

Page generated in 0.0245 seconds