Todas las entradas de Viana De la Cruz Leyva

Acerca de Viana De la Cruz Leyva

UNIVERSIDAD DE GRANMA FACULTAD DE CIENCIAS INFORMÁTICAS

28Mar/15

Propuesta de herramienta para automatizar el proceso de  pruebas caja blanca a Paseos Virtuales

Propuesta de herramienta para automatizar el proceso de  pruebas caja blanca a Paseos Virtuales

UNIVERSIDAD DE GRANMA

FACULTAD DE CIENCIAS INFORMÁTICAS

Autora: Viana De la Cruz Leyva

Bayamo, marzo 2015

  1. INTRODUCCIÓN

El desarrollo de la informática ha provocado grandes avances. A partir del surgimiento de los sistemas informáticos, surge también la necesidad de probar la calidad de estos productos que se generan elemento clave  porque es un proceso que permite la validación del sistema.  Las pruebas de software se aplican para detectar los errores en el menor tiempo posible y descubrir los no detectados; garantizando de esta manera una adecuada funcionalidad.

En ocasiones pueden representar más de la mitad del costo de un sistema, porque para estas se necesita planificar, estimar, preparar el presupuesto y controlar los costos de tal forma que el proyecto se pueda completar dentro del presupuesto. La etapa de pruebas es más costosa que el proceso de desarrollo y diseño del producto. En la actualidad, un intento de mejora y calidad lo representa la automatización de las pruebas de software. El uso de estas herramientas es importante pues una de las formas de garantizar resultados satisfactorios.

En Cuba en la Universidad de Granma existe un Grupo de Calidad de Software que pertenece al Departamento de Desarrollo que tiene como objetivo la realización de pruebas estáticas y dinámicas a los diferentes productos que se implementan para poder dar liberarlos para su posterior registro.

Existen varias líneas de trabajo dentro de ellas una trabaja lo que se relaciona con los paseos virtuales o visitas virtuales que son una vía de interactuar de una forma u otra con un espacio en todas las direcciones posibles con sólo mover el mouse, permitiendo que el usuario pueda observar los espacios fotografiados, logrando que el mismo tenga una visita real al lugar visitado. A los paseos virtuales como a las demás aplicaciones se les comprueba sus funcionalidades mediante pruebas, entre estas las pruebas unitarias.

Las pruebas unitarias se aplican para probar el funcionamiento de un módulo de código. Se pueden realizar al igual que el resto, de forma manual o automatizada, con respecto a esta última alternativa, la selección de la herramienta depende del lenguaje de programación.

Estas presentan ventajas tales como:

  • Los errores están acotados.
  • Los errores son más fáciles de localizar.
  • Al programador se le da más seguridad.
  • Le facilita al programador que cambie el código para mejorar su estructura.

Aunque se han impartido talleres sobre cómo ejecutar este tipo de pruebas por parte de los desarrolladores de software, no son las más aplicadas y si una de las más importantes. Los principales impedimentos radican en que son pruebas muy complejas.

Luego del análisis de la situación problemática se propuso como problema científico: ¿cómo mejorar el proceso de prueba a paseos virtuales basándose en el método de caja blanca?

Con el propósito de resolver el problema planteado se tiene como idea a defender: con la propuesta de una herramienta eficiente para realizar pruebas a paseos virtuales se mejorará el proceso de prueba y la satisfacción de los clientes finales.

El objeto de estudio son las herramientas de prueba basadas en el método de caja blanca.

El campo de acción se enmarca en las herramientas de prueba basadas en el método de caja blanca para realizar pruebas a paseos virtuales.

Se define como objetivo general: proponer una herramienta de prueba basadas en el método de caja blanca para realizar las pruebas a los paseos virtuales.

Planteado el objetivo de la investigación es necesario realizar las siguientes preguntas científicas:

  1. ¿Cuáles son las técnicas y herramientas para la realización del método de caja blanca a nivel nacional e internacional?
  2. ¿Cuáles son las técnicas y herramientas de pruebas de caja blanca para los paseos virtuales desarrollados en diferentes lenguajes de programación?
  3. ¿Cuáles son las herramientas de pruebas para cada lenguaje de programación?
  4. ¿Cuánto demora la prueba de caja blanca con cada una de las herramientas?
  5. ¿Cuál es la herramienta más eficiente?

 

 

  1. Marco teórico conceptual

2.1 Herramientas para realizar pruebas de caja blanca a nivel mundial.

JUnit: es un framework que se utiliza para realizar pruebas a fragmentos de código implementado en el lenguaje Java, para comprobar el funcionamiento de los métodos de cada clase. La función principal de la herramienta es evaluar el valor retornado, devolviendo que el método de la clase que se comprobó sea exitoso, y en caso que sea diferente devuelve los errores correspondientes al método. Por tal motivo crea una relación entre el desarrollo y la prueba del módulo. JUnit es simple de usar, permitiendo la recuperación de pruebas realizadas en fechas anteriores y documentarlas a la vez. Además de testear una clase o un conjunto de clases, la herramienta muestra una interfaz gráfica que permite visualizar las pruebas, ejecutarlas y ver los resultados obtenidos. De este framework se derivan la familia de xUnit, donde existen versiones para cada lenguaje de programación. (1)

Cactus: es un framework de test implementado en código Java, intentando simplificar la escritura de pruebas del lado del servidor. La herramienta usa JUnit y lo extiende. Además de ser ejecutadas las pruebas dentro del container. (2)

EasyMock: es un software de código abierto disponible bajo la licencia del Instituto Tecnológico de  Massachusetts (MIT). La herramienta proporciona un objeto falso para las interfaces durante la prueba unitaria. (4) Este objeto falso que proporciona es un objeto que representa a otro y lo sustituye en su funcionalidad, además de asegurar un correcto aislamiento de la clase objeto bajo test. (5)

Mockito: es una librería de Java que permite la creación de objetos falsos, basándose en la herramienta EasyMock. La herramienta permite crear objetos de interfaces y clases concretas, además de verificar las invocaciones de los métodos. Cuando se está aplicando la prueba se hace un seguimiento de la pila, mostrando toda la información para entender los errores que tuvo durante la ejecución del programa. (6)

Spring Test: es un framework que contiene unas series de clases para realizar pruebas unitarias, facilitando varias tareas repetitivas, lo cual permite integrarse con la herramienta Junit. El objetivo principal de la herramienta es escribir los casos de pruebas de Junit que hereden de clases abstractas de Spring Test. (7)

CPPUnit: es un framework utilizado para testear fragmentos de código en los lenguajes de programación C/C++. Este pertenece a la familia de xUnit, siendo el framework más completo, maduro, sólido y usado para las pruebas unitarias; permitiendo  el tratamiento de excepciones. La herramienta cuando está en proceso de prueba y detecta algún fallo en la compilación, no permite visualizar los errores dentro del resultado de la prueba. (8)

Pex: es una herramienta automatizada para realizar pruebas unitarias, la misma está actualmente en su fase de desarrollo por parte de Microsoft Research, y que tiene la capacidad de explorar el código, encontrar dicho grafo de caminos, seleccionar el subconjunto mínimo suficiente de caminos para probar todas las sentencias del código y, finalmente, generar las entradas representativas necesarias al programa para recorrer todos los caminos. (9)

Grinder: es un framework de test del lenguaje Java que le permite a los desarrolladores visualizar el funcionamiento interno del código durante el proceso de prueba para verificar si existen errores, obteniendo datos que pueden ser útiles. La herramienta se caracteriza por:

  • Flexibilidad  del código: las pruebas generadas están escritas en Jython, lenguaje robusto que ofrece al desarrollador la manipulación de código de distintas maneras.
  • Distribución  del  área  de  trabajo:  la  consola  gráfica  permite  analizar,  controlar  y monitorear al tiempo múltiples hosts. (10)

 

2.2 Herramientas para realizar pruebas de caja blanca en Cuba

En Cuba aún no existe una herramienta que automatice las pruebas de caja blanca, ya que su aplicación es muy engorrosa. En la Universidad de las Ciencias Informáticas (UCI) existen trabajos investigativos relacionados con el tema, pero con la descripción de estas herramientas no se han aplicado las pruebas de caja blanca, sino las pruebas de caja negra, de igual manera en el Centro de Desarrollo de la Facultad de Ciencias Informáticas de la Universidad de Granma.

 

  1. Marco metodológico

3.1 Definición de la población y la unidad de estudio

   Población: para la población se tuvo en cuenta el personal que va a interactuar de una forma u otra con la herramienta para la comprobación del código. Se cuenta aproximadamente con 5 personas entre profesores y estudiantes.

Unidad de estudio: de acuerdo a la naturaleza de la investigación y el diseño teórico elaborado se determinó que la unidad de estudio de la investigación va a estar integrado por el grupo de probadores.

 

    1. Métodos científicos y técnicas a utilizar

Muestra: la muestra vendría siendo un pequeño grupo de la población, donde va a representar las características de la misma, facilitando el trabajo de prueba con la herramienta propuesta y ahorrando recursos, por lo que se seleccionaría a 2 personas, que se hacen corresponder con 2 estudiantes.

Muestreo: el muestreo son técnicas y procedimientos que se utilizan en la investigación para seleccionar la muestra que representa la población, las muestras son: las de Probabilísticas y las de Muestreo Intencional.

 

  1. Resultados esperados

Los resultados esperados con el desarrollo de esta investigación es proponer una herramienta que permita realizar pruebas a paseos virtuales basándose en el método de caja blanca.

Posibilidad de aplicación de los resultados

Los resultados propuestos tienen una alta posibilidad de aplicación, ya que en el Centro de Desarrollo está demandado este producto. Se cuenta con la infraestructura para dar soporte al procedimiento. Existe la voluntad política para su utilización que parte de una necesidad real. La herramienta propuesta será aplicable a otros paseos virtuales desarrollados en el lenguaje de programación Java.

  1. Referencias bibliográficas

 

  1. JUnit – Dos Ideas. In: [online]. [Accessed14December2012]. Available from: http://www.dosideas.com/wiki/JUnit.

 

  1. Cactus – Dos Ideas. In: [online]. [Accessed14December2012]. Available from: http://www.dosideas.com/wiki/Cactus.

 

  1. mces. In: [online]. [Accessed13December2012]. Available from: http://newton.cnice.mec.es/materiales_didacticos/mcientifico/mces.htm.

 

  1. EasyMock – Dos Ideas. In: [online]. [Accessed14December2012]. Available from: http://www.dosideas.com/wiki/EasyMock.

 

  1. Mock Object – Dos Ideas. In: [online]. [Accessed12December2012]. Available from: http://www.dosideas.com/wiki/Mock_Object.

 

  1. Mockito – Dos Ideas. In: [online]. [Accessed14December2012]. Available from: http://www.dosideas.com/wiki/Mockito.

 

  1. Spring Test – Dos Ideas. In: [online]. [Accessed14December2012]. Available from: http://www.dosideas.com/wiki/Spring_Test.

 

  1. Pruebas unitarias con CPPUnit – La web de JM. In: [online]. [Accessed 9 December 2012]. Available from: http://www.sjover.com/jm/prog/cpp/cppunit.html#apdo6.

 

  1. Pex, herramienta automática para la realizacian de pruebas unitarias en .Net – Blog de Miguel Llopis. In: [online]. [Accessed13December2012]. Available from: http://geeks.ms/blogs/mllopis/archive/2008/07/07/pex-herramienta-automatica-para-la-realizacion-de-pruebas-unitarias-en-net.aspx.

 

  1. Lemon Systems – Herramientas para Pruebas no funcionales.pdf [online]. S.l.: s.n. [Accessed15December2012]. Available from: http://subversion.assembla.com/svn/cPKlSy5dGr3ylbab7jnrAJ/Semana%2011/Documentos%20PDF%20BAJAR%20DE%20AQUI/Lemon%20Systems%20-%20Herramientas%20para%20Pruebas%20no%20funcionales.pdf.

 

 

01Jun/12

Set de pruebas para el proyecto Plataforma Libre

Set de pruebas para el proyecto Plataforma Libre para la Gestión de Procesos en la Facultad Regional Granma versión 3.0

Construir un sistema que cumpla con las expectativas y necesidades de los clientes, se ha convertido en el mayor reto de las empresas productoras de software para lograr éxito mundialmente. En este grupo se incluye la Universidad de las Ciencias Informáticas (UCI), creada al calor de la batalla de ideas con la misión de contribuir a la informatización de las principales organizaciones y entidades de Cuba.

La Facultad Regional Granma de la UCI cuenta con un amplio rango de proyectos productivos de carácter nacional, dentro de estos se encuentra la Plataforma Libre para la Gestión de Procesos en la Facultad, que persigue implementar una aplicación para la gestión y organización de la información relativa a la institución. Tras un minucioso estudio del producto generado se concluyó que su calidad, dependerá en gran medida de la ejecución adecuada de un conjunto de pruebas de software previamente planificadas.

En este documento se propone un set de pruebas con el propósito de guiar el proceso en dicho proyecto cumpliendo con la necesidad imperante del tema relacionado con el aseguramiento de la calidad, del mismo se detalla: tipos de pruebas, enfocadas a las características propias del proyecto; herramientas automatizadas; recursos de hardware y software necesarios; artefactos generados; así como los involucrados en cada uno de los test.

Download the PDF file .

Descargar