Subir material

Suba sus trabajos a SEDICI, para mejorar notoriamente su visibilidad e impacto

 

Mostrar el registro sencillo del ítem

dc.date.accessioned 2014-04-28T13:06:05Z
dc.date.available 2014-04-28T13:06:05Z
dc.date.issued 2014-04-28
dc.identifier.uri http://sedici.unlp.edu.ar/handle/10915/34969
dc.identifier.uri https://doi.org/10.35537/10915/34969
dc.description.abstract 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. es
dc.language es es
dc.subject pruebas de unidad es
dc.subject Testing and Debugging es
dc.subject testing aleatorio es
dc.subject Object-oriented Programming es
dc.subject QuickCheck es
dc.subject generación aleatoria de objetos es
dc.subject herramienta de testing es
dc.subject testing de software es
dc.title Enfoque para pruebas de unidad basado en la generación aleatoria de objetos es
dc.type Tesis es
sedici.creator.person Barrientos, Pablo Andrés es
sedici.subject.materias Ciencias Informáticas es
sedici.subject.materias Software es
sedici.description.fulltext true es
mods.originInfo.place Facultad de Informática es
sedici.subtype Tesis de maestria es
sedici.rights.license Creative Commons Attribution 2.5 Argentina (CC BY 2.5)
sedici.rights.uri http://creativecommons.org/licenses/by/2.5/ar/
sedici.contributor.director Pons, Claudia es
sedici.contributor.juror Cechich, Alejandra es
sedici.contributor.juror Garrido, Alejandra es
sedici.contributor.juror Fillotrani, Pablo es
thesis.degree.name Magister en Ingeniería de Software es
thesis.degree.grantor Universidad Nacional de La Plata es
sedici.date.exposure 2014-04-25
sedici.acta 125 es


Descargar archivos

Este ítem aparece en la(s) siguiente(s) colección(ones)

Creative Commons Attribution 2.5 Argentina (CC BY 2.5) Excepto donde se diga explícitamente, este item se publica bajo la siguiente licencia Creative Commons Attribution 2.5 Argentina (CC BY 2.5)